{"version":3,"file":"static/js/main.b5b5bcd5.js","mappings":"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O,EAGA,ICyCVk8B,GAAgE,CACzE14C,KAAM,kBACNs1B,aAAc,OACd+b,QAAQ,EACRxgC,KAAM,EACNk1B,MAAO,SAACC,EAAmBn1B,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,UACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,uBACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,GACX,IAAK,eACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,qBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,aACD,OAAO,GACX,IAAK,mBACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WAEL,IAAK,SACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,uBACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,MACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,SACD,OAAO,GACX,IAAK,OACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GAEX,QACI,YC5KV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CA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGEC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKOC,EAAkBC,EAASC,GAAAA,IAAAA,IAC9BC,EAAY,EACZC,EAAe,EACfC,EAAK,IAAI9vO,MACJoO,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAIjG,EAAI,EAAGA,GAAKunO,EAAQthO,GAAIjG,IAC/B2nO,EAAGH,EAAUE,IAAiB,GAC9BC,EAAGH,EAAUE,IAAe,GAAKD,EACjCE,EAAGH,EAAUE,IAAe,GAAKzhO,EACjCyhO,IACAD,IAEFA,GAAa,SAERE,EAAAA,SA2DAC,EAAU5kD,GAAAA,IAAAA,IACb9qL,EAAQ8qL,EAAG,GACX6kD,EAAS7kD,EAAG,GAAK,EACd6kD,GAAU,GACX3vO,EAAS,GAAK2vO,IAChBtB,GAAW,GAAKC,GAElBqB,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ACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJ+gB,EAAE,aAAc,iBAChBjtG,EAAKyqO,WAAa,kBACT,YAETzqO,EAAK0qO,WAAa,SAAS1gO,GAAAA,OAClBA,GAEThK,EAAK2qO,WAAa,SAAS3gO,EAAGC,EAAGS,GAAAA,OACxBT,EAAES,EAAI,IAEf1K,EAAK4qO,WAAa,SAAS5gO,EAAGC,EAAGS,GAAAA,OACxBT,EAAES,EAAI,IAEf1K,EAAK6qO,WAAa,SAAS7gO,E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ACAwF,GACAa,GACAZ,GACAN,GACAO,GACAN,GACAO,GACAJ,GACAb,GACAF,GACAK,GACAJ,GAIAvN,GACAw1B,GACA9qB,GACAiC,GAz5BAgC,GAAK79E,EAAE,KACPkpD,GAAKlpD,EAAE,MACP+9E,GAAK/9E,EAAE,KACPi+E,GAAKj+E,EAAE,KACP49E,GAAK,EACL1F,GAAKhvB,GACLupB,GAAKsL,GACLqgB,GAAIngB,GACJruD,GAAIiuD,GACJxO,GAAK,EACLoB,GAAK,EACLoK,GAAK,EACL9J,GAAK,EACLib,GAAK,EACL5U,GAAK,EACLgE,GAAK,EACLrE,GAAK,EACLC,GAAK,EACLpH,GAAK,EACLqH,GAAK,GACL2P,GAAK,CAAC,EAAG,EAAG,GACZD,GAAK,CAAC,EAAG,EAAG,IACZhL,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BkL,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBJ,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEf,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFc,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEF0F,GAAK,EACLtU,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA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AAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,QAIzDC,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEtDwb,GAAI,GACJF,GAAI,GACJ11B,GAAK,GAkBLmZ,GAAK,EACLpL,GAAK,EACLjO,GAAK,GAKLxtE,GAAI,GACN8uE,GAAG,sBAAuBU,GAAI,GAC9BV,GAAG,sBAAuBoc,GAAI,GAC9Bpc,GAAG,uBAAwB8Q,GAAI,GAC/B9Q,GAAG,uBAAwB6Q,GAAI,GAC/B7Q,GAAG,uBAAwByR,GAAI,GAC/BzR,GAAG,2BAA4BuR,GAAI,GACnCvR,GAAG,yBAA0BsR,GAAI,OAC7BmN,GAAKn3F,EAAKksO,oBACZ90I,GAAKp3F,EAAKmsO,oBACV7jJ,GAAKtoF,EAAKosO,qBACV3jJ,GAAKzoF,EAAKqsO,qBACV3jJ,GAAK1oF,EAAKssO,qBACV3jJ,GAAK3oF,EAAKusO,yBACVl1I,GAAKr3F,EAAKwsO,uBACV7xJ,GAAK,GACL5B,GAAK,GAAM4B,GAAK,EAChBpC,IAAM,IACNyI,GAAK,IACL0I,GAAK,EACL4N,IAAM,KAAO5N,IAAM,EACnB3F,GAAK,EACLgL,GAAKplF,EAAE,KACPulF,GAAKvlF,EAAE,KACPslF,GAAKtlF,EAAE,KACPqlF,GAAKrlF,EAAE,KACPwlF,GAAKxlF,EAAEq3E,GAAKzI,IACZ6W,GAAKzlF,EAAEq3E,GAAKzI,IACdhB,GAAG,cAAe6B,GAAI,GACtB7B,GAAG,cAAeud,GAAI,GACtBvd,GAAG,eAAgBiS,GAAI,GACvBjS,GAAG,eAAgBgS,GAAI,GACvBhS,GAAG,eAAgB4S,GAAI,GACvB5S,GAAG,mBAAoB0S,GAAI,GAC3B1S,GAAG,iBAAkByS,GAAI,OACrBI,GAAK,CACL,EACA,EACA,EACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFlP,GAAK,CAAC,EAAG,EAAG,GACZqc,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACvCpF,GAAK,OACFs6I,eAAiB,SAASziO,EAAGC,EAAGS,EAAGof,EAAGnH,GAAAA,IACrC3uB,EAAIomF,GACJrwD,EAAI,IAAIusE,GACVtsE,EAAI,IAAI82D,GACV/2D,EAAE+sD,GAAK9sD,EACPA,EAAEpX,EAAI5e,EACNg2B,EAAE2D,MAAQ,CAAC3D,EAAE2D,OACb3D,EAAE4D,OAAS,CAAC5D,EAAE4D,QAAAA,IACV3rB,EAAI+nB,EAAE2D,MACN1D,EAAID,EAAE4D,OACR1D,EAAI,IAAI0/M,GAAAA,GACN,MAAQ1/M,GAAK,MAAQlgB,EAAG,IAAI7H,EAAI,OAElCyU,EAAE,MAAQsT,GACP/nB,EAAIqpF,GAAGxhF,EAAGC,EAAGS,EAAGwf,EAAEyD,MAAOzD,EAAE0D,OAAQ1D,EAAEqjE,GAAIrjE,EAAEyjE,GAAIzjE,EAAEijB,OAAQ,YACzDhrC,EACAF,EAAI,GACJ,MAAQA,IAAMA,EAAE,GAAKioB,EAAEyD,MAAM,IAC9B,MAAQ1D,IAAMA,EAAE,GAAKC,EAAE0D,OAAO,IAC7B3rB,EAAI,GACLA,EAAG,CACL+nB,EAAE2D,MAAQ3D,EAAE2D,MAAM,GAClB3D,EAAE4D,OAAS5D,EAAE4D,OAAO,SACZ9D,IAAMA,EAAE,GAAKE,EAAE2D,OAAAA,MACfhL,IAAMA,EAAE,GAAKqH,EAAE4D,QACvB3jB,EAAG,IACD6f,EAAI,IAAI+vD,IACRl3D,EAAI,IAAI0lE,IACNj7E,KAAOpD,EACT2Y,EAAE4H,EAAItgB,EACN0Y,EAAEw0D,GAAKzsE,EACPiY,EAAEwlE,GAAK,EACPl+E,EAAI,CAAC,GACL2M,EAAE,MAAQ+L,IAET,IADD3Y,EAAIwhF,GAAG7oE,EAAEvV,KAAMuV,EAAE4H,EAAG5H,EAAEw0D,GAAI,KAAM,KAAM,KAAMltE,EAAG,KAAM0Y,KAC1C,GAAK3Y,IAAMC,EAAE,KAAOD,EAAI,GAE/B,IADJC,EAAID,GACQ,IACV4M,EAAE,MAAQmT,GACVD,EAAE1c,KAAOuV,EAAEvV,KACX0c,EAAES,EAAI5H,EAAE4H,EAAI5H,EAAElmB,OACdqtB,EAAEqtD,GAAKx0D,EAAEw0D,GAAKx0D,EAAElmB,OAChBqtB,EAAEugN,IAAMrmJ,GACRl6D,EAAE+4D,GAAKY,GACP35D,EAAE8oC,GAAKo9C,GACPlmF,EAAE0tD,GAAKztD,EACHpH,EAAEi2D,GAAI,IAEJ,OADJ5uE,EAAIo7E,MACW,CACbr7D,EAAI,QACE9f,EAAAA,GAAAA,SA3mHND,EAAGC,GAAAA,IACTS,EAAI,CAAC,GACPof,EAAI,CAAC,GACLnH,EAAI,CAAC,GACP3Y,EAAG,OAAS,IACN,MAAQA,EAAG,OAAO,KAClB,MAAQC,EAAG,OAAQD,EAAEA,EAAI,EAAI,KACjCA,EAAEigB,EAAIhgB,EACND,EAAEA,EAAI,EACNq8D,EAAGr8D,EAAEkgB,EAAGjgB,EAAEmD,KAAMnD,EAAEsgB,EAAGtgB,EAAEktE,KAClB6yJ,GAAGhgO,EAAEkgB,EAAGxf,EAAGof,EAAGnH,GAAI,CACrB3Y,EAAEA,EAAI,QACAA,EAAAA,GAERA,EAAEw2E,GAAK6E,GACPp7E,EAAE0jB,MAAQjjB,EAAE,GACZT,EAAE2jB,OAAS9D,EAAE,IACRs1D,GAAG10E,EAAE,GAAIof,EAAE,GAAI,EAAG9f,EAAG,MAAO,MAAMA,EAAAA,OAChC,SAET4M,EAAE,GAAK5M,EAAEA,GACF,EAslHSC,CAEDD,EAAG8f,GAAI,IAEPA,EAAI,IADT7f,EAAIwhF,GAAG3hE,EAAE6D,MAAO7D,EAAE8D,OAAQ7D,EAAE8vD,GAAI9vD,EAAE+sD,KAChB,CAChBpsE,EAAG,CACDof,EAAI9f,EACJ8f,EAAG,OAAS,IACN,MAAQA,EAAG,CACbA,EAAI,QACEpf,EAAAA,GAERkM,EAAE,MAAQkT,EAAEyC,EAAE04D,IACdruE,EAAE,MAAQkT,EAAEyC,EAAE2uD,IACdtkE,EAAE,EAAIkT,EAAEyC,EAAE+1D,IAEV1rE,EAAE,OADFlM,EAAIof,EAAEG,IAGNrT,EAAE,OADF+L,EAAIjY,EAAE8sE,KAEF,GAAK1tD,EAAE02D,GAAI,IACb12D,EAAE8rE,GAAKjzE,EAAEm0D,GACThtD,EAAEm2D,GAAKt9D,EAAEs9D,GACTrpE,EAAE,MAAQkT,EAAE8rE,KACPjS,GAAGhhE,EAAEk3D,GAAInvE,EAAGgwE,IAAK,CACpB5wD,EAAE9f,EAAI,QACA8f,EAAAA,IAEHy7D,GAAGz7D,EAAGpf,EAAEijB,OAAQ,MAAM7D,EAAAA,GACvBpf,EAAEqsE,GAAI,MAAMjtD,EAAAA,IACfpf,EAAEqsE,IAAMgF,GAAGjyD,EAAE8rE,GAAGhjF,KAAOkmE,KAAAA,GACnBhvD,EAAE8rE,GAAGhjF,IACPyvL,MAAM,iCACP,MAAQv4K,EAAE8rE,GAAG5hG,EAAEkoF,GAAGx3E,GAAKo0E,MAEvBhvD,EAAE83D,IACF,EAAI93D,EAAEyC,EAAEksD,IACR,MAAQ3uD,EAAEyC,EAAE6zD,GAAG6sB,IACdvqB,EAAG54D,EAAEyC,EAAE6zD,GAAIt2D,EAAEyC,EAAEouD,GAAGE,IACnB,CACA/wD,EAAE9f,EAAI,QACA8f,EAERA,EAAE02D,GAAK,MAEJa,GAAGv3D,EAAGA,EAAEngB,EAAGmgB,EAAEivD,GAAIjvD,EAAEpf,EAAGof,EAAEpuB,EAAGgP,EAAEyrG,EAAG3mB,IAAK,MAAM1lE,EAChDnH,EAAE2iE,GAAKx7D,EAAE4vD,GACT5vD,EAAI,QACEpf,EAERkM,EAAE,GAAKkT,EAAE9f,GACT8f,EAAI,EAENA,GAAKA,EAEPA,IAAM7f,EAAID,EAAEA,QACPC,EAAID,EAAEA,MACR,IAED,OADJA,EAAI,IAAIunF,IACO,CACbxnE,EAAI,QACE9f,EAAAA,GAERD,EAAEmvE,GAAKx2D,EAAE01D,GACTruE,EAAEJ,EAAI+Y,EAAE/Y,EACRI,EAAEq6E,GAAK1hE,EAAEw3D,GACL0L,GAAG77E,EAAG8f,IAAAA,GACsC,IAAxC7f,EAAIwhF,GAAG3hE,EAAE6D,MAAO7D,EAAE8D,OAAQ7D,EAAE8vD,GAAI9vD,EAAE+sD,KAAe,IACrD9sE,EAAE8uE,GAAK,EACPpuE,EAAIqf,EAAE8vD,GAENjjE,EAAE,OADF+L,EAAI3Y,IAEA,MAAQU,EAAG,IAGT,GADJzI,EAAI,GADJA,EAAIyI,EAAEuiF,IACM,EAAI,IAAMhrF,EAAI,IAAO,IAAMA,EAAK,KACjC,KACJgoB,EAAIC,EAAI,EAAG,EAAID,IAAKA,EAErB,IADD9nB,EAAIwgB,EAAEu8D,GAAGj1D,IACD+lF,KACJ7tG,EAAEi1E,GAAMn1E,EAAIs1F,GAAG,EAAIp1F,EAAE6tG,GAAK,EAAI7tG,EAAE6tG,KAAQ,GAC1C9lF,GAAK/nB,EAAEi1E,GACZltD,IAAMm4K,MAAM,sBAAwB1/K,EAAEy0D,GAAK,GAE7Cz0D,EAAEy2D,GAAK1uE,EAAEwhF,GAAAA,IACHvpE,EAAEy2D,GAAMz2D,EAAEy2D,GAAK,IAAO,EAAIz2D,EAAEy2D,KAAOz2D,EAAEy2D,GAAK,GAElD6Y,GAAGjoF,EAAG8f,KAAO7f,EAAID,EAAEA,SAEhBC,EAAID,EAAEA,EAAAA,GAEVC,GAAK,MAAQ8f,EAAE8vD,IAAM9vD,EAAE8vD,GAAGgO,KAAO59E,EAAImgO,GAAGrgN,EAAE+sD,KAEjD/sD,EAAI9f,EAENjW,EAAI,GAAK+1B,EAAI,KAAO,GAAK/1B,EAAIg2B,EAAEh2B,EAAE21O,KAAKnuJ,GAAKxxD,EAAEh2B,EAAEkoF,GAAGz2D,OAC7CzxB,EAAI,YACJA,GAAAA,IAELm2O,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,aAuBvCuC,EAAOt/N,EAAMu/N,GAAAA,IAAAA,IAChB19M,EAAM,GACDvzB,EAAI,EAAGA,EAAI,EAAGA,IAAKuzB,GAAO17B,OAAOg8B,aAAaniB,EAAKu/N,MAAAA,OACrD19M,EAAAA,SAOA29M,EAAQx/N,EAAMu/N,GAAAA,OAEjBv/N,EAAKu/N,EAAW,IAAM,EACrBv/N,EAAKu/N,EAAW,IAAM,EACtBv/N,EAAKu/N,EAAW,IAAM,MACzB,WAIKE,EAAQz/N,EAAMu/N,GAAAA,OAEjBv/N,EAAKu/N,EAAW,IAAM,EACrBv/N,EAAKu/N,EAAW,IAAM,EACtBv/N,EAAKu/N,EAAW,IAAM,GACtBv/N,EAAKu/N,EAAW,IAAM,MACzB,MA9CApD,EAAAA,IAgJA37M,EAAS,CAAC,GACVD,EAAQ,CAAC,GACTkvM,EAAS,GACTiQ,EAAc,IAAIvD,EAElBl4K,EAAWkqJ,EACXwxB,EAAAA,SApGoBrnO,EAAKsnO,GAAAA,IACvBD,EAAa,GACbrxO,EAAI,EACJuxO,GAAAA,EACAC,EAAa,EACbC,EAAe,KACnBJ,EAAUjR,OAAa,aAzCT1uN,EAAMu/N,EAAU19M,EAAK5W,GAAAA,IAC9B,IAAI3c,EAAI,EAAGA,EAyCiB,EAzCPA,IAAAA,GACpB0R,EAAKu/N,EAAWjxO,IAwCG,OAxCOqc,WAAWrc,GAAI,OAAO,YAwC3CgK,EAAKsnO,GAAiB,KA9BlB5/N,EAAMu/N,EA+BV,IACKE,EAAQnnO,EADxBsnO,GAAW,GAEXA,GAAW,EAEJA,EAAUtnO,EAAI5J,QAAQ,KACvBsxO,EAASV,EAAOhnO,EAAKsnO,GAGrBK,EAAeR,EAAQnnO,EAF3BsnO,GAAW,GAGXA,GAAW,MACPM,EAAsBD,GAA+B,EAAfA,GAAAA,OAElCD,GAAAA,IACD,WACA,gBACQL,EAAUjR,OAAWpgO,KAC9BqxO,EAAUjR,OAAWpgO,GAAK,KACxB4T,EAAMy9N,EAAUjR,OAAWpgO,IAG5BsxO,QAAcC,EAAcE,EAAeH,EAAU,EACxD19N,EAAGi+N,SAAeL,EAAaG,EAAe,EAG9C3xO,IACIuxO,IACFA,GAAAA,EACAC,EAAa,EACbC,EAAe,aAGd,QACC79N,EAAOy9N,EAAU74E,OAAa,IACVs5E,cAAoB9nO,EAAIsnO,GAAAA,IAC5CS,EAAWT,EAAU,EACL19N,EAAGo+N,aAAmB,EAAId,EAAQlnO,EAAK+nO,GAC3DA,GAAY,EACSn+N,EAAGq+N,cACtB,EAAIf,EAAQlnO,EAAK+nO,GACnBA,GAAY,YAET,OACHR,GAAAA,EACAC,EAAaI,EAAsB,EACnCH,EAAeH,EAAU,YAGtB,QACC19N,EAAMy9N,EAAU74E,QACF05E,QAAcf,EAAQnnO,EAAKsnO,GAC7CS,EAAWT,EAAU,EAEH19N,EAAGqvN,YAnFZvxN,EAmFqC1H,IAnF/BinO,EAmFoCc,GAlFjC,IAAM,EAAMrgO,EAAKu/N,EAAW,IAAM,EAmFpDc,GAAY,YAET,WAQD/5N,EACEpE,GAAAA,EAAOy9N,EAAUjR,OAAWpgO,GAAK,IAClCmyO,SAA0B,EAAIjB,EAAQlnO,EAAKsnO,GAC9CA,GAAW,EACX19N,EAAGw+N,SAA0B,EAAIlB,EAAQlnO,EAAKsnO,GAC9CA,GAAW,EACX19N,EAAGqe,MAAoB,EAAIi/M,EAAQlnO,EAAKsnO,GACxCA,GAAW,EACX19N,EAAGse,OAAsB,EAAIg/M,EAAQlnO,EAAKsnO,GAC1CA,GAAW,EACX19N,EAAGyoC,SAA0B60L,EAAQlnO,EAAKsnO,GAC1CA,GAAW,EACXt5N,EAAOhO,EAAIsnO,KACX19N,EAAGy+N,QAA+B,EAAPr6N,EAC3BpE,EAAG0+N,MAAqBt6N,GAAQ,EAAK,EAI3B,QAAV05N,IAAkBJ,GAAWM,GAAAA,OAE5BP,GASLA,CAA4B17K,EAAU,GAC1C07K,EAAU17K,SAAeA,EACzB07K,EAAUkB,YAAA,EACVlB,EAAUmB,SAAA,EAAc,IAEpBh6E,EAAS64E,EAAU74E,OAAa64E,EAAU74E,OAAa,KACvD4nE,EAASiR,EAAUjR,OAAaiR,EAAUjR,OAAa,QAEvD5nE,EAAQ,CACVA,EAAMi6E,aAAmBj6E,EAAMyqE,WAC/B/wM,EAAS,CAACsmI,EAAMy5E,eAChBhgN,EAAQ,CAACumI,EAAMw5E,cAAA,IAGV,IAAI15O,EAAI,EAAGA,EAAI8nO,EAAOhgO,QACC,GAAtBggO,EAAO9nO,GAAP8nO,MAD6B9nO,MAAAA,IAOjConO,EAAQU,EAAO,GACfp4L,EAAOopM,EAAYL,eACrBp7K,EACA+pK,EAAK4R,QACL5R,EAAKmS,SACL5/M,EACAC,GAEFwtM,EAAK13L,KAAWA,EAChB03L,EAAKgT,SAAezgN,EAAM,GAC1BytM,EAAKiT,UAAgBzgN,EAAO,OAEvB,IAAIlyB,EAAI,EAAGA,EAAIiyB,EAAM,GAAKC,EAAO,GAAK,EAAGlyB,IAC5CmhO,EAAOnhO,GAAKgoC,EAAKhoC,GAAAA,OAAAA,KAGdiyB,MAAQA,EAAAA,KACRC,OAASA,EAAAA,KACTxgB,KAAOyvN,EACL1lO,MCjyKT,SAAUk5M,GAAAA,IAgDJi+B,EAAgB,SAAShzO,EAAOkyC,EAAY+gM,EAAgBzuB,GAAAA,IAC1Dj+B,EAAQ,EACR2sD,EAAgBC,EAAAA,OAEZ3uB,GAAAA,KACDzP,EAAS0O,kBAAkBE,KAC9Bp9B,EAAQ,EACR2sD,EAAgBE,EAAAA,MAAAA,KAGbr+B,EAAS0O,kBAAkBG,OAC9Br9B,EAAQ,EACR2sD,EAAgBG,EAAAA,MAAAA,KAGbt+B,EAAS0O,kBAAkBI,KAC9Bt9B,EAAQ,EACR2sD,EAAgBI,EAQlBJ,IAEEzyD,EAAMoG,GANV7mL,EAAQuzO,EACNvzO,EACAkyC,EACA+gM,EACAC,GAEwB,CAAE3sD,MAAOA,IAAAA,OAC5BwuB,EAASsK,aAAa4B,0BAA0BxgC,IAGrD8yD,EAAuB,SACzBvzO,EACAkyC,EACA+gM,EACAC,GAAAA,IAAAA,IAKEx3L,EACA83L,EACAryO,EALEyuM,EAAQ5vM,EAAMQ,OAAS0xC,EACzBhvC,EAAS,IAAInI,WAAWiF,EAAMQ,OAASovM,GACvC6jC,EAAiBC,IAKVtzO,EAAI,EAAGA,EAAIwvM,EAAOxvM,GAAK,EAAG,IACjCe,EAASf,EAAI8xC,EACbwJ,EAAO17C,EAAMugL,SAASp/K,EAAQA,EAAS+wC,GAEnCghM,EACFhwO,EAAOlF,IAAIk1O,EAAcx3L,EAAMu3L,EAAgBO,GAAWryO,EAASf,OAC9D,SAIIM,EAHLgC,EAAM+wO,EAAejzO,OACvBq7C,EAAU,GAEAn7C,EAAIgC,EAAKhC,GAAK,EACxBm7C,EAAQn7C,GAAK+yO,EAAe/yO,GAAGg7C,EAAMu3L,EAAgBO,GAAAA,IAGnDG,EAAMC,EAAsB/3L,EAAQ7kC,UAExC9T,EAAOlF,IAAI69C,EAAQ83L,GAAMxyO,EAASf,GAGpCozO,EAAW93L,EAAAA,OAGNx4C,GAGL2wO,EAAa,SAASn4L,GAAAA,IAKpBx4C,EAAS3K,MAAM6M,MAAM,GAAIs2C,GAAAA,OAC7Bx4C,EAAOy/B,QAAQ,GAERz/B,GAGLkwO,EAAY,SAAS13L,EAAMu3L,GAAAA,IAG3B1sO,EAFErD,EAAS,GACXR,EAAMg5C,EAAKl7C,OAGb0C,EAAO,GAAK,MAEP,IAAI9C,EAAI,EAAGA,EAAIsC,EAAKtC,GAAK,EAC5BmG,EAAOm1C,EAAKt7C,EAAI6yO,IAAmB,EACnC/vO,EAAO9C,EAAI,GAAMs7C,EAAKt7C,GAAKmG,EAAO,IAAU,WAGvCrD,GAGLiwO,EAAW,SAASz3L,EAAMu3L,EAAgBO,GAAAA,IAG1CM,EAFE5wO,EAAS,GACXR,EAAMg5C,EAAKl7C,OAGb0C,EAAO,GAAK,MAEP,IAAI9C,EAAI,EAAGA,EAAIsC,EAAKtC,GAAK,EAC5B0zO,EAAMN,GAAYA,EAASpzO,IAAO,EAClC8C,EAAO9C,EAAI,GAAMs7C,EAAKt7C,GAAK0zO,EAAK,IAAU,WAGrC5wO,GAGLmwO,EAAgB,SAAS33L,EAAMu3L,EAAgBO,GAAAA,IAG/CjtO,EACAutO,EAHE5wO,EAAS,GACXR,EAAMg5C,EAAKl7C,OAIb0C,EAAO,GAAK,MAEP,IAAI9C,EAAI,EAAGA,EAAIsC,EAAKtC,GAAK,EAC5BmG,EAAOm1C,EAAKt7C,EAAI6yO,IAAmB,EACnCa,EAAMN,GAAYA,EAASpzO,IAAO,EAClC8C,EAAO9C,EAAI,GAAMs7C,EAAKt7C,GAAK,KAAWmG,EAAOutO,IAAQ,GAAM,WAGtD5wO,GAGLowO,EAAc,SAAS53L,EAAMu3L,EAAgBO,GAAAA,IAG7CjtO,EACAutO,EACAC,EACAzS,EALEp+N,EAAS,GACXR,EAAMg5C,EAAKl7C,OAMb0C,EAAO,GAAK,MAEP,IAAI9C,EAAI,EAAGA,EAAIsC,EAAKtC,GAAK,EAC5BmG,EAAOm1C,EAAKt7C,EAAI6yO,IAAmB,EACnCa,EAAMN,GAAYA,EAASpzO,IAAO,EAClC2zO,EAAUP,GAAYA,EAASpzO,EAAI6yO,IAAoB,EACvD3R,EAAQ0S,EAAeztO,EAAMutO,EAAIC,GACjC7wO,EAAO9C,EAAI,GAAMs7C,EAAKt7C,GAAKkhO,EAAQ,IAAU,WAGxCp+N,GAGL8wO,EAAiB,SAASztO,EAAMutO,EAAIC,GAAAA,GAClCxtO,IAASutO,GAAMA,IAAOC,EAAAA,OACjBxtO,EAAAA,IAEL0tO,EAAQ3xO,KAAKuM,IAAIilO,EAAKC,GACxBG,EAAM5xO,KAAKuM,IAAItI,EAAOwtO,GACtBI,EAAU7xO,KAAKuM,IAAItI,EAAOutO,EAAKC,EAASA,GAAAA,OACnCE,GAASC,GAAOD,GAASE,EAC5B5tO,EACA2tO,GAAOC,EACPL,EACAC,GAGFL,EAAmB,iBACd,CAACG,EAAYT,EAAWD,EAAUE,EAAeC,IAGtDM,EAAwB,SAASn8G,GAAAA,IAC/B28G,EAAM38G,EAAO5yH,KAAI,SAASjM,GAAAA,OACrBA,EAAMmrB,QAAO,SAAS2nM,EAAIC,GAAAA,OACxBD,EAAKppN,KAAKuM,IAAI88M,KACpB,aAEEyoB,EAAI1wO,QAAQpB,KAAKD,IAAI+C,MAAM,KAAMgvO,KA8B1Cr/B,EAASs/B,WAAa,SAASp0B,EAAWtgN,EAAOmiN,EAAO0C,GAAAA,IAGlDjE,EAEFM,EACAhrK,EAEAy+L,EACA5lE,EACA6lE,EACAC,EACAjT,EACA7+N,EACA+xO,EACA/X,EACAgY,EACAC,EACAv0O,EACAyG,EAfA/B,EAASjJ,KAAKu4B,OAAO6uL,aAGrBnC,EAAmB,MAcjBjlN,KAAKwjN,aAAal+L,cAAc8+L,KAClCA,EAAY,IAAIllN,WAAWklN,IAEzBpkN,KAAKwjN,aAAajuD,kBAAkB6uD,GAAY,IAElDA,GADApqK,EAAQ,IAAI2pK,GAAIS,IACEyc,QAClB7b,EAAmBhrK,EAAMsqI,KACzBogC,EAAa1qK,EAAM0qK,WACnB7xC,EAAS74H,EAAM64H,QAS0B,IAArC,CAAC,EAAG,GAAGhrK,QAAQmyC,EAAM9D,WAAmB,IAIvB,IAAf8D,EAAMsqI,KAAY,CAOpBz9K,GANA6+N,EAC0B,IAAxB1rL,EAAMmrL,eACF,IAAI7lO,YAAY06C,EAAMorL,eAAe5hO,QACb,IAAxBw2C,EAAMmrL,eACN,IAAI/lO,YAAY46C,EAAMorL,eAAe5hO,QACrC,IAAItE,WAAW86C,EAAMorL,eAAe5hO,SAC7BmB,OACbk8N,EAAU,IAAI3hO,WAAW2H,EAAMmzC,EAAM64H,QACrC+lE,EAAY,IAAI15O,WAAW2H,GAAAA,IAIvBkyO,EAHAC,EAAQh/L,EAAMmrL,eAAiBnrL,EAAMsqI,KAAAA,IACzC//K,EAAI,EACJyG,EAAI,EAGGzG,EAAIsC,EAAKtC,IAAK,KACnBu0O,EAAQpT,EAAOnhO,GACfw0O,EAAM,EAECA,EAAMC,GACXnY,EAAQ71N,KAAQ8tO,IAAUC,EAAO,IACjCA,GAAY/+L,EAAMsqI,KAGpBs0D,EAAUr0O,GAAMu0O,IAAUC,EAAO,QAOlB,KAAf/+L,EAAMsqI,KAAa,CAErBz9K,GADA6+N,EAAS,IAAIpmO,YAAY06C,EAAMorL,eAAe5hO,SACjCmB,OACbk8N,EAAU,IAAI3hO,WACZ2H,GAAO,GAAKmzC,EAAMmrL,gBAAkBnrL,EAAM64H,QAE5C+lE,EAAY,IAAI15O,WAAW2H,GAAO,GAAKmzC,EAAMmrL,iBAC7C0T,EAAY7+L,EAAM64H,OAAS,EAC3BtuK,EAAI,EACJyG,EAAI,UACA6H,EAAI,EAEDtO,EAAIsC,GACTiyO,EAAQpT,EAAOnhO,KAEfs8N,EAAQ71N,KAAQ8tO,IAAU,EAAK,IAE3BD,IACFhY,EAAQ71N,KAAQ8tO,IAAU,GAAM,IAEhCA,EAAQpT,EAAOnhO,KACfs8N,EAAQ71N,KAAQ8tO,IAAU,EAAK,KAGjCF,EAAU/lO,KAAQimO,IAAU,GAAM,IAEpC9zB,EAAmB,EAGL2D,IAtTHzP,EAAS0O,kBAAkBC,MAuTtCzD,EAAY+yB,EACVtW,EACA7mL,EAAMxjB,MAAQwjB,EAAM64H,OACpB74H,EAAM64H,OACN81C,GAEFgwB,EAAQxB,EAAcyB,EAAW5+L,EAAMxjB,MAAO,EAAGmyL,KAEjDvE,EAAYyc,EACZ8X,EAAQC,EACR3vO,OAAAA,GAASrM,GAOW,IAApBo9C,EAAM9D,YACRwuK,EAAa1kN,KAAK2kN,aAAaC,QAC/B8zB,EAAM1+L,EAAM6qK,QAER7qK,EAAMkrK,aAAa8f,SAAS,KAC1B2D,EAAQ3uL,EAAMkrK,aAAa8f,QAC3BlkE,EAAQ,MACZv8J,EAAI,EACJsC,EAAM8hO,EAAMhkO,OAELJ,EAAIsC,IAAOtC,EAChBu8J,GAAS6nE,EAAMpkO,GAAAA,IAGjBu8J,GAAgB,OAMFj6J,EAAM,IAA2B,IAAtB8hO,EAAM9gO,QAAQ,GACrC4wO,EAAO,CAAC9P,EAAM9gO,QAAQ,SAMjB,GAAIi5J,IAAUj6J,EAAK,KACxB6+N,EAAS1rL,EAAMorL,eACfwT,EAAY,IAAI15O,WAAWwmO,EAAO/gO,QAClCJ,EAAI,EACJsC,EAAM6+N,EAAO/gO,OAENJ,EAAIsC,EAAKtC,IACdq0O,EAAUr0O,GAAKokO,EAAMjD,EAAOnhO,IAG9Bo0O,EAAQxB,EAAcyB,EAAW5+L,EAAMxjB,MAAO,QAKhD2uL,EA7L0B,SAASwD,GAAAA,IACrCxD,EAAAA,OACIwD,GAAAA,KACDzP,EAAS0O,kBAAkBE,KAC9B3C,EAAY,cAGTjM,EAAS0O,kBAAkBG,OAC9B5C,EAAY,cAGTjM,EAAS0O,kBAAkBI,KAC9B7C,EAAY,iBAIZA,EAAY,UAGTA,EAnByB,CA6LcwD,GAAAA,OAExC1/M,IAAWjJ,KAAKu4B,OAAO6uL,eACzBnC,EAAmB,cAAgBE,EAAY,KAEjDF,GACE,WACApyC,EACA,sBACAmyC,EACA,aACAhrK,EAAMxjB,OAGNx2B,KAAKwjN,aAAal+L,cAAc8+L,IAChCpkN,KAAKwjN,aAAajuD,kBAAkB6uD,MAEpCA,EAAYpkN,KAAKwjN,aAAa4B,0BAA0BhB,KAIvDu0B,GAAS34O,KAAKwjN,aAAal+L,cAAcqzN,IAC1C34O,KAAKwjN,aAAajuD,kBAAkBojF,MAEpCA,EAAQ34O,KAAKwjN,aAAa4B,0BAA0BuzB,IAG/C,CACL1yB,MAAOA,EACPhwM,KAAMmuM,EACNtgN,MAAOA,EACPmF,OAAQA,EACRg8M,iBAAkBA,EAClBC,aAAcuzB,EACd5zB,QAAS6zB,EACT5zB,MAAO6zB,EACPxzB,UAAWA,EACX3uL,MAAOwjB,EAAMxjB,MACbC,OAAQujB,EAAMvjB,OACduuL,iBAAkBA,EAClBN,WAAYA,KApcpB,CAwcGxrB,GAAMc,KCzdT,SAAUkf,GAGRA,EAAS+/B,cAAgB,SAAS70B,EAAWtgN,EAAOmiN,EAAO0C,GAAAA,IACrDr8B,EAAS,IAAIy6C,GAAU3iB,GACvB5tL,EAAQ81J,EAAO91J,MACjBC,EAAS61J,EAAO71J,OAEdivM,EAAS,GAEbp5C,EAAO88C,uBAAuB,EAAG1D,GAAAA,IAC7BwT,EAAe,CACjBjjO,KAAMyvN,EACNlvM,MAAOA,EACPC,OAAQA,GAINxgB,EADU,IAAIm0N,GAVT,KAWUlxE,OAAOggF,EAXjB,YAYFhgC,EAASkqB,YAAY94N,KAAKtK,KAAMiW,EAAMnS,EAAOmiN,EAAO0C,IAG7DzP,EAASigC,cAAgBjgC,EAAS+/B,cAtBpC,CAuBG//C,GAAMc,KHjBT43C,GAAWj1O,UAAUs1O,YAAc,mBAC5BmH,SAAWp5O,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KAC1CA,KAAO,OACPu4N,SAAWr5O,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KAC1CA,KAAO,OACPxb,OAAStF,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KACxCA,KAAO,OACPw4N,WAAat5O,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KAC5CA,KAAO,OACP0V,MAAQx2B,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KACvCA,KAAO,OACP2V,OAASz2B,KAAK8xO,MAAMnsO,SAAS3F,KAAK8gB,KAAAA,GAAK,KACvCA,KAAO,OACPy4N,OAASv5O,KAAK8xO,MAAMpsO,UAAU1F,KAAK8gB,KAAAA,GAAK,KACxCA,KAAO,OACP04N,MAAQx5O,KAAK8xO,MAAMpsO,UAAU1F,KAAK8gB,KAAAA,GAAK,KACvCA,KAAO,OACP64K,SAAW35L,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KAC1CA,KAAO,OACP24N,QAAUz5O,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KACzCA,KAAO,OACP0nE,GAAKxoF,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KACpCA,KAAO,OACP44N,GAAK15O,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KACpCA,KAAO,OACP+xJ,OAAS7yK,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KACxCA,KAAO,OACP64N,gBAAkB35O,KAAK8xO,MAAMlsO,UAAU5F,KAAK8gB,KAAAA,GAAK,KACjDA,KAAO,EAEO,KAAf9gB,KAAKw5O,OAAgBx5O,KAAK6xO,gBAAAA,KACvB2H,MAAQ,IAEXx5O,KAAKw5O,MAAQ,GAAI,KACf3yO,EAAsB,IAAhB7G,KAAK6yK,OAAe,GAAK7yK,KAAKw5O,MAAQx5O,KAAK6yK,OAAAA,KAChDgyC,QAAU,IAAInoN,MAAMmK,GAAAA,IACpB,IAAItC,EAAI,EAAGA,EAAIsC,EAAKtC,IAAK,KACxBmnC,EAAO1rC,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GAChC6qB,EAAQ3rC,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GACjC8qB,EAAM5rC,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GAC/B84N,EAAO55O,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GAAO,KACtC+jM,QAAQtgN,GAAK,CAChBqnC,IAAKA,EACLD,MAAOA,EACPD,KAAMA,EACNkuM,KAAMA,IAIR55O,KAAKy2B,OAAS,SACXA,SAAW,OACXs7M,WAAAA,IAITH,GAAWj1O,UAAUu1O,SAAW,gBACzBpxN,IAAM9gB,KAAKsF,OAAAA,IAAAA,IAEVu0O,EAAO,MAAQ75O,KAAKw5O,MACpB3yO,EAAM7G,KAAKw2B,MAAQx2B,KAAKy2B,OAAS,OAChCxgB,KAAO,IAAI/W,WAAW2H,GAAAA,KAEtBgzO,KACL,MAAOruN,GACPzY,GAAQG,IAAI,oBAAsBsY,KAItComN,GAAWj1O,UAAUm9O,KAAO,eAGtBxrN,EAFAyrN,EAAOtzO,KAAKud,KAAKhkB,KAAKw2B,MAAQ,GAC9BnW,EAAO05N,EAAO,MAEbzrN,EAAItuB,KAAKy2B,OAAS,EAAGnI,GAAK,EAAGA,IAAK,SACjCuxB,EAAO7/C,KAAK+xO,UAAYzjN,EAAItuB,KAAKy2B,OAAS,EAAInI,EACzC7O,EAAI,EAAGA,EAAIs6N,EAAMt6N,IAAAA,IAAAA,IACpB3M,EAAI9S,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GAC7BiB,EAAW89B,EAAO7/C,KAAKw2B,MAAQ,EAAQ,EAAJ/W,EAAQ,EACtClb,EAAI,EAAGA,EAAI,GACV,EAAJkb,EAAQlb,EAAIvE,KAAKw2B,MADAjyB,IAAK,KAEpBunC,EAAM9rC,KAAK6kN,QAAS/xM,GAAM,EAAIvO,EAAM,QACnC0R,KAAK8L,EAAe,EAAJxd,GAASunC,EAAIJ,KAAAA,KAC7Bz1B,KAAK8L,EAAe,EAAJxd,EAAQ,GAAKunC,EAAIH,MAAAA,KACjC11B,KAAK8L,EAAe,EAAJxd,EAAQ,GAAKunC,EAAIF,IAAAA,KACjC31B,KAAK8L,EAAe,EAAJxd,EAAQ,GAAK,IAO3B,IAAT8b,IAAAA,KACGS,KAAO,EAAIT,KAKtBuxN,GAAWj1O,UAAUq9O,KAAO,mBACtBD,EAAOtzO,KAAKud,KAAKhkB,KAAKw2B,MAAQ,GAC9BnW,EAAO05N,EAAO,EACTzrN,EAAItuB,KAAKy2B,OAAS,EAAGnI,GAAK,EAAGA,IAAK,SACrCuxB,EAAO7/C,KAAK+xO,UAAYzjN,EAAItuB,KAAKy2B,OAAS,EAAInI,EACzC7O,EAAI,EAAGA,EAAIs6N,EAAMt6N,IAAK,KACzB3M,EAAI9S,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GAC7BiB,EAAW89B,EAAO7/C,KAAKw2B,MAAQ,EAAQ,EAAJ/W,EAAQ,EAE3Cif,EAAS5rB,GAAK,EACdmjD,EAAY,GAAJnjD,EAERg5B,EAAM9rC,KAAK6kN,QAAQnmL,GAAAA,GAAAA,KAClBzoB,KAAK8L,GAAY+pB,EAAIJ,KAAAA,KACrBz1B,KAAK8L,EAAW,GAAK+pB,EAAIH,MAAAA,KACzB11B,KAAK8L,EAAW,GAAK+pB,EAAIF,IAAAA,KACzB31B,KAAK8L,EAAW,GAAK,IAElB,EAAJtC,EAAQ,GAAKzf,KAAKw2B,MAAO,MAE7BsV,EAAM9rC,KAAK6kN,QAAQ5uJ,GAAAA,KACdhgD,KAAK8L,EAAW,GAAK+pB,EAAIJ,KAAAA,KACzBz1B,KAAK8L,EAAW,EAAI,GAAK+pB,EAAIH,MAAAA,KAC7B11B,KAAK8L,EAAW,EAAI,GAAK+pB,EAAIF,IAAAA,KAC7B31B,KAAK8L,EAAW,EAAI,GAAK,IAGnB,IAAT1B,IAAAA,KACGS,KAAO,EAAIT,KAKtBuxN,GAAWj1O,UAAUs9O,KAAO,mBACtB55N,EAAOrgB,KAAKw2B,MAAQ,EACflI,EAAItuB,KAAKy2B,OAAS,EAAGnI,GAAK,EAAGA,IAAK,SACrCuxB,EAAO7/C,KAAK+xO,UAAYzjN,EAAItuB,KAAKy2B,OAAS,EAAInI,EACzC7O,EAAI,EAAGA,EAAIzf,KAAKw2B,MAAO/W,IAAK,KAC/B3M,EAAI9S,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GAC7BiB,EAAW89B,EAAO7/C,KAAKw2B,MAAQ,EAAQ,EAAJ/W,EAAAA,GACnC3M,EAAI9S,KAAK6kN,QAAQlgN,OAAQ,KACvBmnC,EAAM9rC,KAAK6kN,QAAQ/xM,GAAAA,KAClBmD,KAAK8L,GAAY+pB,EAAIF,IAAAA,KACrB31B,KAAK8L,EAAW,GAAK+pB,EAAIH,MAAAA,KACzB11B,KAAK8L,EAAW,GAAK+pB,EAAIJ,KAAAA,KACzBz1B,KAAK8L,EAAW,GAAK,cAErB9L,KAAK8L,GAAY,SACjB9L,KAAK8L,EAAW,GAAK,SACrB9L,KAAK8L,EAAW,GAAK,SACrB9L,KAAK8L,EAAW,GAAK,IAGjB,IAAT1B,IAAAA,KACGS,KAAO,EAAIT,KAKtBuxN,GAAWj1O,UAAUu9O,MAAQ,mBACvBC,EAAQn6O,KAAKw2B,MAAQ,EAEvB4jN,EADW12M,SAAS,QAAS,GAEtBpV,EAAItuB,KAAKy2B,OAAS,EAAGnI,GAAK,EAAGA,IAAK,SACrCuxB,EAAO7/C,KAAK+xO,UAAYzjN,EAAItuB,KAAKy2B,OAAS,EAAInI,EACzC7O,EAAI,EAAGA,EAAIzf,KAAKw2B,MAAO/W,IAAK,KAC/BpE,EAAIrb,KAAK8xO,MAAMpsO,UAAU1F,KAAK8gB,KAAAA,GAAK,KAClCA,KAAO,MACR4qB,GAAUrwB,EAAI++N,GAAQA,EAAQ,IAAO,EACrCzuM,GAAYtwB,GAAK,EAAK++N,GAAQA,EAAQ,IAAO,EAC7CxuM,GAAUvwB,GAAK,GAAM++N,GAAQA,EAAQ,IAAO,EAC5C3uM,EAAQpwB,GAAK,GAAK,IAAO,EAEzB0G,EAAW89B,EAAO7/C,KAAKw2B,MAAQ,EAAQ,EAAJ/W,EAAAA,KAClCxJ,KAAK8L,GAAY6pB,EAAAA,KACjB31B,KAAK8L,EAAW,GAAK4pB,EAAAA,KACrB11B,KAAK8L,EAAW,GAAK2pB,EAAAA,KACrBz1B,KAAK8L,EAAW,GAAK0pB,EAAAA,KAGvB3qB,KAAOq5N,IAIhBvI,GAAWj1O,UAAU09O,MAAQ,mBACvBF,EAAQn6O,KAAKw2B,MAAQ,EAEvB4jN,EADW12M,SAAS,QAAS,GAG7B42M,EADY52M,SAAS,SAAU,GAExBpV,EAAItuB,KAAKy2B,OAAS,EAAGnI,GAAK,EAAGA,IAAK,SACrCuxB,EAAO7/C,KAAK+xO,UAAYzjN,EAAItuB,KAAKy2B,OAAS,EAAInI,EACzC7O,EAAI,EAAGA,EAAIzf,KAAKw2B,MAAO/W,IAAK,KAC/BpE,EAAIrb,KAAK8xO,MAAMpsO,UAAU1F,KAAK8gB,KAAAA,GAAK,KAClCA,KAAO,MAER4qB,GAAUrwB,EAAI++N,GAAQA,EAAQ,IAAO,EACrCzuM,GAAYtwB,GAAK,EAAKi/N,GAAQA,EAAQ,IAAO,EAC7C1uM,GAASvwB,GAAK,IAAM++N,EAAQ,IAAO,EAEnCr4N,EAAW89B,EAAO7/C,KAAKw2B,MAAQ,EAAQ,EAAJ/W,EAAAA,KAClCxJ,KAAK8L,GAAY6pB,EAAAA,KACjB31B,KAAK8L,EAAW,GAAK4pB,EAAAA,KACrB11B,KAAK8L,EAAW,GAAK2pB,EAAAA,KACrBz1B,KAAK8L,EAAW,GATT,SAYTjB,KAAOq5N,IAIhBvI,GAAWj1O,UAAU49O,MAAQ,eAEtB,IAAIjsN,EAAItuB,KAAKy2B,OAAS,EAAGnI,GAAK,EAAGA,IAAK,SACrCuxB,EAAO7/C,KAAK+xO,UAAYzjN,EAAItuB,KAAKy2B,OAAS,EAAInI,EACzC7O,EAAI,EAAGA,EAAIzf,KAAKw2B,MAAO/W,IAAK,KAC/BisB,EAAO1rC,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GAChC6qB,EAAQ3rC,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GACjC8qB,EAAM5rC,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GAC/BiB,EAAW89B,EAAO7/C,KAAKw2B,MAAQ,EAAQ,EAAJ/W,EAAAA,KAClCxJ,KAAK8L,GAAY6pB,EAAAA,KACjB31B,KAAK8L,EAAW,GAAK4pB,EAAAA,KACrB11B,KAAK8L,EAAW,GAAK2pB,EAAAA,KACrBz1B,KAAK8L,EAAW,GAAK,SAGvBjB,KAAO9gB,KAAKw2B,MAAQ,IAQ7Bo7M,GAAWj1O,UAAU69O,MAAQ,eAEtB,IAAIlsN,EAAItuB,KAAKy2B,OAAS,EAAGnI,GAAK,EAAGA,IAAAA,IAAAA,IAChCuxB,EAAO7/C,KAAK+xO,UAAYzjN,EAAItuB,KAAKy2B,OAAS,EAAInI,EACzC7O,EAAI,EAAGA,EAAIzf,KAAKw2B,MAAO/W,IAAK,KAC/BisB,EAAO1rC,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GAChC6qB,EAAQ3rC,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GACjC8qB,EAAM5rC,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GAC/B2qB,EAAQzrC,KAAK8xO,MAAMvsO,SAASvF,KAAK8gB,OAAAA,GACjCiB,EAAW89B,EAAO7/C,KAAKw2B,MAAQ,EAAQ,EAAJ/W,EAAAA,KAClCxJ,KAAK8L,GAAY6pB,EAAAA,KACjB31B,KAAK8L,EAAW,GAAK4pB,EAAAA,KACrB11B,KAAK8L,EAAW,GAAK2pB,EAAAA,KACrBz1B,KAAK8L,EAAW,GAAK0pB,IAOhCmmM,GAAWj1O,UAAU89O,QAAU,kBACtBz6O,KAAKiW,MIlQd,SAAUijM,GAGRA,EAASwhC,WAAa,SAASt2B,EAAWtgN,EAAOmiN,EAAO0C,GAAAA,IAClDr8B,EAAS,IAAIslD,GAAWxtB,GAAAA,GACxB5tL,EAAQ81J,EAAO91J,MACjBC,EAAS61J,EAAO71J,OAIdyiN,EAAe,CACjBjjO,KAHWq2K,EAAOmuD,UAIlBjkN,MAAOA,EACPC,OAAQA,GAINxgB,EADU,IAAIm0N,GATT,KAUUlxE,OAAOggF,EAVjB,YAWFhgC,EAASkqB,YAAY94N,KAAKtK,KAAMiW,EAAMnS,EAAOmiN,EAAO0C,IAlB/D,CAoBGzvB,GAAMc,KHkyKTm4C,GAAYx1O,UAAU89O,QAAU,kBACvBz6O,KAAKiW,MItzKd,SAAUijM,GAGRA,EAASyhC,YAAc,SAASv2B,EAAWtgN,EAAOmiN,EAAO0C,GAAAA,IACnDr8B,EAAS,IAAI6lD,GAAY/tB,GAAAA,GACzB5tL,EAAQ81J,EAAO91J,MACjBC,EAAS61J,EAAO71J,OAIdyiN,EAAe,CACjBjjO,KAHWq2K,EAAOmuD,UAIlBjkN,MAAOA,EACPC,OAAQA,GAINxgB,EADU,IAAIm0N,GATT,KAUUlxE,OAAOggF,EAVjB,YAWFhgC,EAASkqB,YAAY94N,KAAKtK,KAAMiW,EAAMnS,EAAOmiN,EAAO0C,IAlB/D,CAoBGzvB,GAAMc,KC0CNd,GAAMc,IApCE4gD,YAAc,SAASx2B,EAAWtgN,EAAOmiN,GAAAA,IAAAA,IAG5C40B,EAAcz2B,EAAUnuM,KACxBtR,EAASk2O,EAAYl2O,OAErBm2O,EAAS,IAAI57O,WAAYyF,EAAS,EAAK,GACvCo2O,EAAW,IAAI77O,WAAWyF,EAAS,GACnCq2O,EAAW,EACXC,EAAa,EAER12O,EAAI,EAAGA,EAAII,EAAQJ,GAAK,EAAG,KAC9BmnB,EAAImvN,EAAYt2O,GAChBquB,EAAIioN,EAAYt2O,EAAI,GACpBuO,EAAI+nO,EAAYt2O,EAAI,GACpBknC,EAAQovM,EAAYt2O,EAAI,GAC5Bu2O,EAAOE,KAActvN,EACrBovN,EAAOE,KAAcpoN,EACrBkoN,EAAOE,KAAcloO,EACrBioO,EAASE,KAAgBxvM,EAAAA,IAGvByvM,EAAUl7O,KAAKwjN,aAAa4B,0BAA0B01B,GAAAA,MAGnD,CACLrvM,MAHczrC,KAAKwjN,aAAa4B,0BAA0B21B,GAI1D9kO,KAAMilO,EACNp3O,MAAOA,EACPmiN,MAAOA,EACPvB,WAAY,YACZM,iBAAkB,EAClBxuL,MAAO4tL,EAAU5tL,MACjBC,OAAQ2tL,EAAU3tL,SC6KrByiK,GAAMc,IA5NEmhD,YAAc,SAASC,GAAAA,YAAAA,IA0M1Bp7O,KAAKi6L,SAASohD,mBAAAA,KACXphD,SAASohD,iBAAmB,QAC5BphD,SAASohD,iBAAiBC,cAAAA,QAAe,IAzMhC,CACdr+I,GAAI,YACJs+I,GAAI,WACJjlN,GAAI,4BACK,2BACA,2BACA,yBACA,wBACA,0BACA,0BACA,2BACA,yBACA,2BACA,wBACA,yBACA,gCACA,yBACA,2BACA,0BACA,iBACTklN,GAAI,YACJC,GAAI,WACJC,GAAI,WACJC,IAAK,WACLC,GAAI,cACJC,GAAI,SACJ7jJ,GAAI,aACJ8jJ,GAAI,UACJj0D,GAAI,UACJx/F,GAAI,SACJgZ,GAAI,YACJ06I,GAAI,UACJt9I,GAAI,UACJiI,GAAI,WACJzO,GAAI,UACJ0Q,GAAI,kBACK,8BACA,wBACA,8BACA,mBACTmnH,GAAI,UACJlsC,GAAI,WACJo4D,GAAI,OACJxzJ,GAAI,WACJyzJ,GAAI,QACJr8J,GAAI,SACJ26B,GAAI,2BACK,kBACT2hI,GAAI,kBACK,8BACA,2BACA,2BACA,4BACA,4BACA,gCACA,gCACA,iCACA,sCACA,mCACA,kCACA,qBACTC,GAAI,YACJjzD,GAAI,WACJkzD,GAAI,WACJ7qI,GAAI,SACJ9F,GAAI,UACJ4wI,GAAI,4BACK,2BACA,0BACA,0BACA,8BACA,0BACA,uBACTC,GAAI,UACJC,IAAK,WACL5rJ,GAAI,yBACK,iBACTh8B,GAAI,WACJwrB,GAAI,WACJ+X,GAAI,4BACK,2BACA,2BACA,iCACA,8BACA,uBACTxwF,GAAI,QACJ80O,GAAI,WACJC,GAAI,UACJnkJ,GAAI,SACJqT,GAAI,QACJ+wI,GAAI,YACJ1zJ,GAAI,YACJnmE,GAAI,aACJ85N,GAAI,YACJ/J,GAAI,QACJ11O,GAAI,6BACK,wBACTgjF,GAAI,WACJ08J,GAAI,UACJC,GAAI,WACJnnI,GAAI,SACJonI,GAAI,QACJC,GAAI,UACJ/gL,IAAK,UACLghL,GAAI,iBACK,+BACA,uBACT58J,GAAI,QACJ0qG,GAAI,UACJ7E,GAAI,aACJjhG,GAAI,gBACJ4wB,GAAI,kBACJqnI,GAAI,QACJ3iI,GAAI,YACJ4iI,GAAI,UACJ/wI,GAAI,QACJgxI,GAAI,UACJC,GAAI,YACJC,GAAI,SACJp7I,GAAI,SACJhJ,GAAI,SACJqkJ,GAAI,YACJj4J,GAAI,qBACJk4J,GAAI,sBACJvwJ,GAAI,UACJwwJ,GAAI,QACJC,GAAI,QACJ19J,GAAI,kBACK,eACT26B,GAAI,SACJopF,GAAI,qBACK,sBACT7iH,GAAI,kBACK,0BACA,qBACTy8J,GAAI,UACJC,GAAI,iBACJC,GAAI,mBACK,sBACTC,GAAI,kBACK,qBACTC,GAAI,iBACJt7I,GAAI,QACJzhB,GAAI,WACJqM,GAAI,YACJyF,GAAI,SACJ6Z,GAAI,aACJqxI,GAAI,UACJ3nI,GAAI,SACJgF,GAAI,YACJ4iI,GAAI,SACJ91J,GAAI,UACJ+1J,GAAI,kBACK,8BACA,4BACA,0BACA,6BACA,+BACA,uCACA,4BACA,gCACA,8BACA,6BACA,2BACA,8BACA,2BACA,6BACA,yBACA,gCACA,0BACA,4BACA,sBACTx7C,GAAI,OACJy7C,GAAI,UACJp6D,GAAI,kBACK,4BACA,mBACT1iG,GAAI,QACJ+8J,GAAI,QACJ3kJ,GAAI,SACJ4O,GAAI,OACJg2I,IAAK,QACLC,GAAI,SACJC,GAAI,SACJx3D,GAAI,UACJzwE,GAAI,UACJC,GAAI,YACJioI,IAAK,gBACLC,GAAI,OACJ9kJ,GAAI,QACJmT,GAAI,aACJ4xI,GAAI,UACJj9J,GAAI,UACJtpC,GAAI,QACJuwD,GAAI,QACJqD,GAAI,UACJ4yI,GAAI,QAQQtD,KAAAA,KACPnhD,SAASohD,iBAAiBsD,aAAevD,GAAAA,IAC1Cp7O,KAAKi6L,SAASohD,iBAAiBC,eAAAA,KAC5BrhD,SAAShtE,OAAOuB,UAAU,cAAc,gBACtCyrE,SAAS59K,MACZ,UAAYrc,KAAKi6L,SAASohD,iBAAiBsD,aAAe,aAGzD1kD,SAASohD,iBAAiBC,cAAAA,IAG5Bt7O,MVtNDg6L,GAwWPd,GAAMc,IA5VHupC,GAAsBvpC,GAAIupC,mBAAqB,SAASn+K,EAAM5kD,GAAAA,IAkB5D+D,EAEAq6O,EAjBArtC,GAFJ/wM,EAAUA,GAAW,IAEIimE,MAAQzmE,KAAKi6L,SAAS2S,UAC3C5vJ,EAAWx8C,EAAQw8C,UAAYh9C,KAAKi6L,SAAS4C,cAC7C2S,EAAYhvM,EAAQgvM,WAAaxvM,KAAKi6L,SAAS6W,eAE/C+tC,EAASr+O,EAAQq+O,OACjBr+O,EAAQq+O,OACRttC,EAAWt8L,SAAS6pO,QAAQD,OAC5BE,EAAmBF,EAAOG,IAAMH,EAAOG,IAAM,EAC7CC,EAAUz+O,EAAQy+O,QAClBz+O,EAAQy+O,QACR1tC,EAAWt8L,SAAS6pO,QAAQG,QAC5BC,EAAoBD,EAAQD,IAAMC,EAAQD,IAAM,EAChDrtC,GAAAA,IAAYnxM,EAAQmxM,UACpBwtC,EAAe,EAGfx6O,EAASygD,EAAKzgD,OAEdy6O,EAAkB,EAClBC,EAAqBR,EAAO,IAAME,EAClCjjH,EAAS,OAERv3H,EAAI,EAAGA,EAAII,EAAQJ,IACtBq6O,EAAYx5L,EAAKxkC,WAAWrc,GAEqB,mBAAtCgtM,EAAWt8L,SAASqqO,cAC7BxjH,EAAO7zH,MACJspM,EAAWt8L,SAASsqO,aACnBhuC,EAAWt8L,SAASuqO,iBAAiBZ,IAErCpvC,GAAa,IAAOxyJ,IAAa,GAAK,MAQxCmiM,EAJAxtC,GAC8B,YAA9BzzF,EAAAA,GAAAA,GAAO+gI,EAAQL,MACdjvK,MAAMjsC,SAASu7M,EAAQL,GAAWQ,GAAkB,KAGnDH,EAAQL,GAAWQ,GAAmBF,EAEzB,EAEjBpjH,EAAO7zH,MACJ42O,EAAOD,IAAcS,GAAsBN,EAC1CI,IAGNC,EAAkBR,EAAAA,OAGb9iH,GAmBL41E,GAAsB1X,GAAI0X,mBAAqB,SAAStsJ,EAAM5kD,GAAAA,IAG5Dw8C,GAFJx8C,EAAUA,GAAW,IAEEw8C,UAAYh9C,KAAKi6L,SAAS4C,cAC7Cp2H,EAAOjmE,EAAQimE,MAAQzmE,KAAKi6L,SAAS2S,UACrC4C,EAAYhvM,EAAQgvM,WAAaxvM,KAAKi6L,SAAS6W,eAAAA,OAG/C9W,GAAImyB,gBACN/mK,EAAO40I,GAAImyB,cAAc/mK,IAGgB,mBAAhCqhB,EAAKxxD,SAASqqO,cAErB74K,EAAKxxD,SAASqqO,cAAcl6L,EAAMpI,EAAUwyJ,GAAaxyJ,EAElDumL,GACNh6N,MAAMvJ,KAAMyF,WACZyiB,QAAO,SAAS2nM,EAAIC,GAAAA,OACZD,EAAKC,IACX,IAQL0T,GAAgB,SAASroB,EAAMskC,EAAcC,EAAiBC,GAAAA,IAAAA,IAC5DC,EAAS,GAGTr7O,EAAI,EACNuuB,EAAIqoL,EAAKx2M,OACTk7O,EAAa,EACRt7O,IAAMuuB,GAAK+sN,EAAaJ,EAAal7O,GAAKm7O,GAC/CG,GAAcJ,EAAal7O,GAC3BA,IAGFq7O,EAAO33O,KAAKkzM,EAAKlwM,MAAM,EAAG1G,IAAAA,IAGtBu7O,EAAcv7O,EAAAA,IAClBs7O,EAAa,EACNt7O,IAAMuuB,GACP+sN,EAAaJ,EAAal7O,GAAKo7O,IACjCC,EAAO33O,KAAKkzM,EAAKlwM,MAAM60O,EAAav7O,IACpCs7O,EAAa,EACbC,EAAcv7O,GAEhBs7O,GAAcJ,EAAal7O,GAC3BA,IAAAA,OAEEu7O,IAAgBv7O,GAClBq7O,EAAO33O,KAAKkzM,EAAKlwM,MAAM60O,EAAav7O,IAG/Bq7O,GAKLnc,GAA0B,SAASr+K,EAAM26L,EAAQv/O,GAI9CA,IACHA,EAAU,QAQV26M,EACAskC,EAGAl7O,EACAuuB,EACAg+B,EACAkvL,EAkFEC,EA9FApgM,EAAO,GACTk0J,EAAQ,CAACl0J,GACTqgM,EAAc1/O,EAAQ2/O,YAAc,EACpCC,EAAmB,EACnBC,EAAsB,EAGtBz2L,EAAQxE,EAAKr0C,MAAM,KACnBuvO,EAAiB/c,GAAmBh6N,MAAMvJ,KAAM,CAAC,IAAKQ,IAAU,MAOhEw/O,GAD0B,IAAxBx/O,EAAQw/O,WACGp2L,EAAM,GAAGjlD,OAAS,EAElBnE,EAAQw/O,YAAc,EAErB,KACVO,EAAM7jP,MAAMsjP,GAAYtnO,KAAK,KAC/B8nO,EAAO,GACT52L,EAAM5gD,KAAI,SAASy3O,IACjBA,EAAMA,EAAI1vO,MAAM,UACRpM,OAAS,EACf67O,EAAOA,EAAKrlO,OACVslO,EAAIz3O,KAAI,SAASy3O,EAAK/vF,GAAAA,OACZA,GAAO+vF,EAAI97O,OAAS,KAAO,IAAM87O,MAI7CD,EAAKv4O,KAAKw4O,EAAI,OAGlB72L,EAAQ42L,EACRR,EAAatuC,GAAmBnoM,MAAMvJ,KAAM,CAACugP,EAAK//O,IAAAA,IAG/C+D,EAAI,EAAGuuB,EAAI82B,EAAMjlD,OAAQJ,EAAIuuB,EAAGvuB,IAAK,KACpC2nL,EAAQ,KAEZivB,EAAOvxJ,EAAMrlD,GACTy7O,GAAyB,MAAX7kC,EAAK,KACrBA,EAAOA,EAAKpgJ,OAAO,GACnBmxH,EAAQ,GAQRg0D,EAAcE,GALhBC,GADAZ,EAAelc,GAAmBh6N,MAAMvJ,KAAM,CAACm7M,EAAM36M,KAClB0nB,QAAO,SAAS2nM,EAAIC,GAAAA,OAC9CD,EAAKC,IACX,IAGsDiwB,GACvD7zD,EACA,IACIm0D,EAAsBN,EAAQ,KAGhCjvL,EAAM0yK,GAAcj6N,MAAMvJ,KAAM,CAC9Bm7M,EACAskC,EACAM,GAAUG,EAAcE,GACxBL,IAGFlgM,EAAK53C,KAAK6oD,EAAIjqB,SAEdgZ,EAAO,CAACiR,EAAI16B,OAEL06B,EAAInsD,QACTovM,EAAM9rM,KAAK,CAAC6oD,EAAIjqB,UAElBw5M,EAAsBZ,EACnBx0O,MAAMkwM,EAAKx2M,QAAUk7C,EAAK,GAAKA,EAAK,GAAGl7C,OAAS,IAChDujB,QAAO,SAAS2nM,EAAIC,GAAAA,OACZD,EAAKC,IACX,QAGLjwK,EAAO,CAACs7J,GAIVpH,EAAM9rM,KAAK43C,GACXqgM,EAAcG,EAAsBL,EACpCI,EAAmBE,OAEnBzgM,EAAK53C,KAAKkzM,GAEV+kC,GAAeE,EAAmBC,EAClCD,EAAmBE,EAAAA,OAMrBL,EADED,EACY,SAAS1wF,EAAIoB,GAAAA,OACjBA,EAAM6vF,EAAM,IAAMjxF,EAAG52I,KAAK,MAGtB,SAAS42I,GAAAA,OACdA,EAAG52I,KAAK,MAIZq7L,EAAM/qM,IAAIi3O,IAoBnBjmD,GAAIwW,gBAAkB,SAASprJ,EAAM26L,EAAQv/O,GAAAA,IAwCvCkgP,EAnCAC,GAFJngP,EAAUA,GAAW,IAEDw8C,UAAYh9C,KAAKi6L,SAAS4C,cAC5C+jD,EAAa,SAASpgP,GAAAA,GAMfA,EAAQq+O,QAAWr+O,EAAQy+O,QAAAA,MAoBvB,CACLJ,OAAQr+O,EAAQq+O,OAChBI,QAASz+O,EAAQy+O,SAAAA,IArBfpiP,EAAImD,KAAKi6L,SAAS2S,QAAQpsM,EAAQmqM,SAAUnqM,EAAQ2/C,WAAAA,OAMpDtjD,EAAEoY,SAAFpY,QACK,CACLgiP,OAAQhiP,EAAEoY,SAAFpY,QAAqBgiP,QAdtB,GACN,GAcDI,QAASpiP,EAAEoY,SAAFpY,QAAqBoiP,SAZxB,IAeD,CACLx4K,KAAM5pE,EAAEoY,SACR+nC,SAAUh9C,KAAKi6L,SAAS4C,cACxB2S,UAAWxvM,KAAKi6L,SAAS6W,iBAS/BxmM,KAAKtK,KAAMQ,GAKbkgP,EADEhkP,MAAMmP,QAAQu5C,GACHA,EAEAhpD,OAAOgpD,GAAMr0C,MAAM,aAM9B8vO,EAAmB,EAAM7gP,KAAKi6L,SAASyC,YAAcqjD,EAAUY,EASnEC,EAAWT,WAAa3/O,EAAQ2/O,WACN,EAArB3/O,EAAQ2/O,WAAmBngP,KAAKi6L,SAASyC,YAAeikD,EACzD,EACJC,EAAWZ,WAAax/O,EAAQw/O,WAAAA,IAE5Bz7O,EACFuuB,EACAgpG,EAAS,OACNv3H,EAAI,EAAGuuB,EAAI4tN,EAAW/7O,OAAQJ,EAAIuuB,EAAGvuB,IACxCu3H,EAASA,EAAO3gH,OACdsoN,GAAwBl6N,MAAMvJ,KAAM,CAClC0gP,EAAWn8O,GACXs8O,EACAD,KAAAA,OAKC9kH,GWzVX,SAAUk+D,GAERA,EAAI8mD,gBAAkB9mD,EAAI8mD,iBAAmB,WAG3CC,EAAU,mBACVC,EAAoB,GACpBC,EAAkB,GAEX18O,EAAI,EAAGA,EAAIw8O,EAAQp8O,OAAQJ,IAClCy8O,EAAkBD,EAAQx8O,IANd,mBAM4BA,GACxC08O,EAPY,mBAOY18O,IAAMw8O,EAAQx8O,GAAAA,IAGpCyjC,EAAM,SAASjrC,GAAAA,MACV,KAAO2mC,SAAS3mC,EAAO,IAAI2P,SAAS,KAGzCitL,EAAYK,EAAI8mD,gBAAgBnnD,SAAW,SAAS1jL,GAAAA,IAElDlZ,EAAOmkP,EAAWC,EAAaC,EAD/BC,EAAO,CAAC,SAGP,IAAIrkP,KAAOiZ,EAAM,IACpBlZ,EAAQkZ,EAAKjZ,GAER2yE,MAAMjsC,SAAS1mC,EAAK,KAMvBkkP,EAAY,IAAMlkP,EAAM,KALxBA,EAAM0mC,SAAS1mC,EAAK,IAEpBkkP,GADAA,EAAYl5M,EAAIhrC,GAAKiO,MAAM,IAEfA,MAAM,GAAI,GAAKg2O,EAAgBC,EAAUj2O,OAAO,KAK1C,iBAATlO,EACLA,EAAQ,GACVokP,EAAcn5M,EAAIjrC,GAAOkO,MAAM,GAC/Bm2O,EAAe,MAEfD,EAAcn5M,EAAIjrC,GAAOkO,MAAM,GAC/Bm2O,EAAe,IAEjBD,EACEC,EACAD,EAAYl2O,MAAM,GAAI,GACtBg2O,EAAgBE,EAAYl2O,OAAO,QAChC,IACgB,YAAjBizG,EAAAA,GAAAA,GAAOnhH,GAAAA,MAGH,IAAI0zB,MACR,0CAA2C,QAAO1zB,GAAQ,KAH5DokP,EAAcxnD,EAAS58L,GAO3BskP,EAAKp5O,KAAKi5O,EAAYC,GAAAA,OAExBE,EAAKp5O,KAAK,KACHo5O,EAAK3oO,KAAK,KAWf4oO,EAActnD,EAAI8mD,gBAAgBQ,WAAa,SAASrrO,GAAAA,GACtC,iBAATA,EAAAA,MACH,IAAIwa,MAAM,kDAKhB8wN,EAGAC,EAGAxkP,EAEA0pG,EAVEo1B,EAAS,GACXloH,EAAO,EAEP6tO,EAAe3lH,EACf4lH,EAAc,GAEdC,EAAW,GACXC,EAAa,GAEbC,EAAU5rO,EAAKtR,OAAS,EAGjBJ,EAAI,EAAGA,EAAIs9O,EAASt9O,GAAK,EAKtB,MAFVmiG,EAAKzwF,EAAK1R,IAGJg9O,GAEFvkP,EAAMukP,EAAY7oO,KAAK,IACvB6oO,OAAAA,GAGAA,EAAc,GAEPA,EACTA,EAAYt5O,KAAKy+F,GACF,KAANA,GAETg7I,EAAYz5O,KAAK,CAACw5O,EAAczkP,IAChCykP,EAAe,GACfzkP,OAAAA,GACe,KAAN0pG,IAET86I,EAAkBE,EAAYtrN,OACd,GAAGorN,EAAgB,IAAMC,EACzCzkP,OAAAA,EACAykP,EAAeD,EAAgB,IAChB,KAAN96I,EACT9yF,GAAQ,WAGJ5W,EACEgkP,EAAkBjvO,eAAe20F,IACnCi7I,GAAYX,EAAkBt6I,GAC9B1pG,EAAM0mC,SAASi+M,EAAU,IAAM/tO,EAC/BA,EAAO,EACP+tO,EAAW,IAEXA,GAAYj7I,EAGVs6I,EAAkBjvO,eAAe20F,IACnCk7I,GAAcZ,EAAkBt6I,GAChC+6I,EAAazkP,GAAO0mC,SAASk+M,EAAY,IAAMhuO,EAC/CA,EAAO,EACP5W,OAAAA,EACA4kP,EAAa,IAEbA,GAAcl7I,EAAAA,OAKfo1B,GAgBLwvE,EAAgB,CAClBM,UAAW,CAAC,mBACZk2C,gBAAiBR,EACf,+JAGAS,EAAY,CACdjD,QAAS,CACPkD,QAAS12C,EAAAA,eACOA,EAAAA,sBACOA,EAAAA,kBACJA,EACnBgqB,UAAWhqB,EAAAA,iBACOA,EAAAA,wBACOA,EAAAA,oBACJA,EAAAA,cACNA,EAAAA,aACDA,EAAAA,mBACMA,EAAAA,eACJA,IAMhBlmI,EAAc,CAChB05K,QAAS,mBASYwC,EACjB,gEAEkBA,EAClB,myDAEgBA,EAChB,gnDAEFU,QAASV,EAAW,mEACGA,EACrB,0DAEYA,EACZ,yzDAEF7mO,OAAQ6mO,EACN,sNAEFhsB,UAAWgsB,EACT,wsDAEuBA,EACvB,gnDAEFW,aAAcX,EAAW,gEACTA,EAAW,4DACXA,EACd,msDAEaA,EACb,83DAEmBA,EACnB,krDAgBNtnD,EAAI/sE,OAAOhlH,KAAK,CACd,UACA,SAASgO,GAAAA,IACHwwD,EAAOxwD,EAAKwwD,KAEZy7K,EAAU98K,EAAW05K,QAAYr4K,EAAK2hI,gBACtC85C,IACFz7K,EAAKxxD,SAALwxD,QAA2B,GAC3BA,EAAKxxD,SAALwxD,QAAyBo4K,OAASqD,EAAQrD,OAC1Cp4K,EAAKxxD,SAALwxD,QAAyBw4K,QAAUiD,EAAQjD,SAAAA,IAGzC3zC,EAAgBy2C,EAASjD,QAAYr4K,EAAK2hI,gBAC1CkD,IACF7kI,EAAKxxD,SAALwxD,QAAyB4hI,SAAWiD,EACpC7kI,EAAK4hI,SAAWiD,EAAcM,UAAU,OA/PhD,CAmQG1S,GAAMc,KCrST,SAAUd,GAAAA,IAGJuvB,EAA2B,SAASC,GAAAA,IAAAA,IAClC7hN,EAAM6hN,EAAc/jN,OACpBR,EAAQ,IAAIjF,WAAW2H,GAClBtC,EAAI,EAAGA,EAAIsC,EAAKtC,IACvBJ,EAAMI,GAAKmkN,EAAc9nM,WAAWrc,GAAAA,OAE/BJ,GAmBT+0L,EAAMc,IAAI/sE,OAAOhlH,KAAK,CACpB,UACA,SAASgO,GAAAA,IACH41G,OAAAA,EACAplD,EAAOxwD,EAAKwwD,KACZlgD,EAAWtQ,EAAKsQ,SAAAA,IAChBkgD,EAAKokI,eAAAA,CAAAA,QAAAA,IAGEtkL,EAAAA,MAeH,IAAIkK,MACR,+EACEg2C,EAAK2hI,eACL,UAZgB,iBAJlBv8E,GAAAA,IADEtlG,EAAS47N,gBAAgB17K,EAAK2hI,gBACzB7hL,EAASu/L,SAASr/I,EAAK2hI,gBAEvB7hL,EAAS67N,eAAe37K,EAAK2hI,iBAAAA,MAG9B,IAAI33K,MACR,6FACEg2C,EAAK2hI,eACL,QAnCE,SAAS3hI,EAAMolD,GAGzBA,EADE,oBAAoBt7G,KAAKs7G,GACpB48F,EAAyB58F,GAEzB48F,EAAyBh9B,GAAK5/D,IAEvCplD,EAAKxxD,SAAWikL,EAAMc,IAAIqoD,QAAQplO,KAAK4uG,GACvCplD,EAAKxxD,SAAS6pO,QAAUr4K,EAAKxxD,SAAS6pO,SAAW,CAC/Cz2C,SAAU,GACV42C,QAAS,GACTJ,OAAQ,IAEVp4K,EAAKxxD,SAASqtO,WAAa,CAAC,GAbhB,CAsCA77K,EAAMolD,OAlDtB,CA4DGqtE,ICvCH,SAAUggB,GAAAA,SAGCqpC,IAAAA,OAEDr3D,GAAYs3D,MACP9oO,QAAQO,QAAQixK,GAAYs3D,OAG9BljB,EAAAA,EAAAA,KAAAA,KAAAA,EAAAA,KAAAA,EAAAA,QAGNx4K,OAAM,SAASt7B,GAAAA,OACP9R,QAAQiB,OAAO,IAAI8V,MAAM,yBAA2BjF,OAE5DtS,MAAK,SAASspO,GAAAA,OACNA,EAAMt5G,QAAUs5G,EAAMt5G,QAAUs5G,KAkF5CtpD,GAAMc,IA3DEyoD,cAAgB,SACvB/7L,EACAjnC,EACA6O,EACA8E,EACAP,EACAozL,EACA0C,EACAvC,GAAAA,GAEIz2I,MAAMlwD,IAAMkwD,MAAMrhD,GAAAA,MACpBvb,GAAQpS,MAAM,2CAA4C8E,WACpD,IAAIgrB,MAAM,wDAGdk/C,MAAMv8C,IAAMu8C,MAAM98C,GAAAA,MACpB9f,GAAQpS,MAAM,4CAA6C8E,WACrD,IAAIgrB,MACR,gFAIAu1B,EAASj2C,SAASE,cAAc,UACpC+1C,EAAOxvB,MAAQpD,EACf4yB,EAAOvvB,OAAS5D,EAAAA,IACZozB,EAAMD,EAAOE,WAAW,MAC5BD,EAAIM,UAAY,OAChBN,EAAIO,SAAS,EAAG,EAAGR,EAAOxvB,MAAOwvB,EAAOvvB,QAAAA,IAEpCj2B,EAAU,CACZkiP,aAAa,EACbC,iBAAiB,EACjBC,kBAAkB,GAEhBC,EAAM7iP,KAAAA,OACHuiP,IACJrpO,MACC,SAASspO,GAAAA,OACAA,EAAMM,WAAW78L,EAAKS,EAAKlmD,MAEpC,kBACSkZ,QAAQiB,OAAO,IAAI8V,MAAM,6BAGnCvX,MAAK,SAASqN,GAAAA,OACNA,EAAS0L,OAAOzxB,MAExB0Y,MAAK,WACJ2pO,EAAIzoM,SACF4L,EAAOI,UAAU,aAAc,GAC/B3mC,EACA6O,EACA8E,EACAP,EACA81L,EACAvC,OA9FV,GCsCGltB,GAAMc,IA9BE+oD,cAAgB,SAASC,GAAAA,IAG5BC,EACAC,EAAqB,EACrBx/M,SAAS1jC,KAAKi6L,SAAS2S,UAAU/pL,GAAGk4C,OAAO,GAAI,IAAM,IACvDkoL,EAAoB,IAAIrhO,OAAOohO,EAAgB,KAC/CE,EAAqBljP,KAAKi6L,SAAS0S,qBAEnCs2C,EAAoB,IAAIrhO,OACtB5hB,KAAKmjP,YAAYH,EAAgBhjP,KAAKi6L,SAAS2S,WAC/C,KAEFs2C,EAAqBljP,KAAKmjP,YACxBnjP,KAAKi6L,SAAS0S,mBAAqB,GACnC3sM,KAAKi6L,SAAS2S,YAAAA,IAIb,IAAI5hM,EAAI,EAAGA,GAAKhL,KAAKi6L,SAAS0S,mBAAoB3hM,IAAAA,IAChD,IAAIzG,EAAI,EAAGA,EAAIvE,KAAKi6L,SAASiF,MAAMl0L,GAAGrG,OAAQJ,IAAAA,KAC5C01L,SAASiF,MAAMl0L,GAAGzG,GAAKvE,KAAKi6L,SAASiF,MAAMl0L,GAAGzG,GAAG+R,QACpD2sO,EACAC,GAAAA,OAKCljP,MC8SRk5L,GAAMc,IAxQEopD,kBAAoB,SAAS5iP,EAAS6iP,GAAAA,IAIzCC,EAHJ9iP,EAAUA,GAAW,GACrB6iP,EAAUA,IAAAA,EAAW,IAyJjBlsE,EAEA9sK,EACAtN,EAzJAwmP,EAAwB,CAC1BC,YAAa,CACX5/J,cAAc,EACd7mF,OAAO,EACPuY,KAAM,UACNmuO,aAAa,EACbC,SAAU,EAAC,MACXvpD,WAAY,KAEdwpD,YAAa,CACX//J,cAAc,EACd7mF,OAAO,EACPuY,KAAM,UACNmuO,aAAa,EACbC,SAAU,EAAC,MACXvpD,WAAY,KAEdypD,aAAc,CACZhgK,cAAc,EACd7mF,OAAO,EACPuY,KAAM,UACNmuO,aAAa,EACbC,SAAU,EAAC,MACXvpD,WAAY,KAEd0pD,UAAW,CACTjgK,cAAc,EACd7mF,OAAO,EACPuY,KAAM,UACNmuO,aAAa,EACbC,SAAU,EAAC,MACXvpD,WAAY,KAEd2pD,aAAc,CACZlgK,cAAc,EACd7mF,OAAO,EACPuY,KAAM,UACNmuO,aAAa,EACbC,SAAU,EAAC,MACXvpD,WAAY,KAEd4pD,gBAAiB,CACfngK,cAAc,EACd7mF,OAAO,EACPuY,KAAM,UACNmuO,aAAa,EACbC,SAAU,EAAC,MACXvpD,WAAY,KAEd6pD,sBAAuB,CACrBpgK,aAAc,UACd7mF,MAAO,UACPuY,KAAM,OACNmuO,aAAa,EACbC,SAAU,CAAC,UAAW,cAAe,YAAa,SAClDvpD,WAAY,KAEd8pD,UAAW,CACTrgK,aAAc,MACd7mF,MAAO,MACPuY,KAAM,OACNmuO,aAAa,EACbC,SAAU,CAAC,MAAO,OAClBvpD,WAAY,KAEd+pD,SAAU,CACRtgK,aAAc,UACd7mF,MAAO,UACPuY,KAAM,OACNmuO,aAAa,EACbC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDvpD,WAAY,KAEdgqD,SAAU,CACRvgK,aAAc,UACd7mF,MAAO,UACPuY,KAAM,OACNmuO,aAAa,EACbC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDvpD,WAAY,KAEdiqD,UAAW,CACTxgK,aAAc,UACd7mF,MAAO,UACPuY,KAAM,OACNmuO,aAAa,EACbC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDvpD,WAAY,KAEdkqD,UAAW,CACTzgK,aAAc,UACd7mF,MAAO,UACPuY,KAAM,OACNmuO,aAAa,EACbC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDvpD,WAAY,KAEdmqD,aAAc,CACZ1gK,aAAc,aACd7mF,MAAO,aACPuY,KAAM,OACNmuO,aAAa,EACbC,SAAU,CAAC,aAAc,QACzBvpD,WAAY,KAEdoqD,OAAQ,CACN3gK,aAAc,GACd7mF,MAAO,OACPuY,KAAM,OACNmuO,aAAa,EACbC,SAAU,CACR,UACA,sBACA,qBACA,QAEFvpD,WAAY,KAEdqqD,kBAAmB,CACjB5gK,cAAc,EACd7mF,OAAO,EACPuY,KAAM,UACNmuO,aAAa,EACbC,SAAU,EAAC,MACXvpD,WAAY,KAEdsqD,eAAgB,CACd7gK,aAAc,GACd7mF,MAAO,GACPuY,KAAM,QACNmuO,aAAa,EACbC,SAAU,KACVvpD,WAAY,KAEduqD,UAAW,CACT9gK,aAAc,EACd7mF,MAAO,EACPuY,KAAM,UACNmuO,aAAa,EACbC,SAAU,KACVvpD,WAAY,MAIZwqD,EAAoBjmP,OAAOkG,KAAK2+O,GAEhCqB,EAAa,GACbrgP,EAAI,EACJM,EAAI,EACJiG,EAAI,WAMC+5O,EAAqB36O,EAAOmB,GAAAA,IAC/BgM,EACAhQ,GAAAA,EAAS,IAERgQ,EAAW,EAAGA,EAAWnN,EAAMvF,OAAQ0S,GAAY,EAClDnN,EAAMmN,KAAchM,IACtBhE,GAAAA,GAAS,OAGNA,EAAAA,QAAAA,IAGLrH,KAAKi6L,SAAS6qD,oBAAAA,KACX7qD,SAAS6qD,kBAAoB,QAC7B7qD,SAAS6qD,kBAAkBxB,cAAgBxoI,KAAKtwE,MACnDswE,KAAKC,UAAUwoI,IAAAA,KAEZtpD,SAAS6qD,kBAAkBxJ,cAAAA,GAElCgI,EAAgBtjP,KAAKi6L,SAAS6qD,kBAAkBxB,cAEhC,UAAZ9iP,IAAAA,IAAuB6iP,EAAkB,KACvCx8O,EAAM89O,EAAkBhgP,OAAAA,IAEvBmG,EAAI,EAAGA,EAAIjE,EAAKiE,GAAK,EACxBw4O,EAAcqB,EAAkB75O,IAAI/N,MAClCumP,EAAcqB,EAAkB75O,IAAI84E,aACtC0/J,EAAcqB,EAAkB75O,IAAI24O,aAAAA,EAAc,GAI/B,YAAnBvlI,EAAAA,GAAAA,GAAO19G,GAAAA,IACJ6J,KAAU7J,EAAAA,GACbzD,EAAQyD,EAAQ6J,GAEdw6O,EAAqBF,EAAmBt6O,SAAAA,IACxCtN,EACA,IAEiC,YAA/BumP,EAAcj5O,GAAQiL,MACL,kBAAVvY,EAEPumP,EAAcj5O,GAAQtN,MAAQA,OACzB,GAC0B,SAA/BumP,EAAcj5O,GAAQiL,MACtBuvO,EAAqBvB,EAAcj5O,GAAQq5O,SAAU3mP,GAErDumP,EAAcj5O,GAAQtN,MAAQA,OACzB,GAC0B,YAA/BumP,EAAcj5O,GAAQiL,MACtBkB,OAAOC,UAAU1Z,GAEjBumP,EAAcj5O,GAAQtN,MAAQA,OACzB,GAAmC,UAA/BumP,EAAcj5O,GAAQiL,KAAkB,KAC5C/Q,EAAI,EAAGA,EAAIxH,EAAM4H,OAAQJ,GAAK,KACjC4yK,GAAAA,EACwB,IAApBp6K,EAAMwH,GAAGI,QAAuC,iBAAhB5H,EAAMwH,GAAG,GAC3CqgP,EAAW38O,KAAK7L,OAAOW,EAAMwH,GAAK,SAC7B,GAAIxH,EAAMwH,GAAGI,OAAS,EAAG,KACzBE,EAAI,EAAGA,EAAI9H,EAAMwH,GAAGI,OAAQE,GAAK,EACT,iBAAhB9H,EAAMwH,GAAGM,KAClBsyK,GAAAA,IAAU,IAGVA,GACFytE,EAAW38O,KAAK,CAAClL,EAAMwH,GAAG,GAAK,EAAGxH,EAAMwH,GAAG,GAAK,GAAGmU,KAAK,MAI9D4qO,EAAcj5O,GAAQtN,MAAQ,IAAM6nP,EAAWlsO,KAAK,KAAO,SAE3D4qO,EAAcj5O,GAAQtN,MAAQumP,EAAcj5O,GAAQu5E,aAGtD0/J,EAAcj5O,GAAQo5O,aAAAA,EAAc,WAKtCzjP,KAAKi6L,SAAS6qD,kBAAkBxJ,eAAAA,KAC7BrhD,SAAShtE,OAAOuB,UAAU,cAAc,eAEvCu2H,EADAC,EAAU,OAETD,KAASzB,GAAAA,IACRA,EAAcyB,GAAOtB,cACW,SAA9BH,EAAcyB,GAAOzvO,KACvB0vO,EAAQ/8O,KAAK,IAAM88O,EAAQ,KAAOzB,EAAcyB,GAAOhoP,OAEvDioP,EAAQ/8O,KAAK,IAAM88O,EAAQ,IAAMzB,EAAcyB,GAAOhoP,QAIrC,IAAnBioP,EAAQrgP,QAAAA,KACLs1L,SAAS59K,MACZ,2BAA6B2oO,EAAQtsO,KAAK,MAAQ,gBAInDuhL,SAAS6qD,kBAAkBxJ,cAAAA,GAAe,KAG5CrhD,SAAS6qD,kBAAkBxB,cAAgBA,EACzCtjP,MClVX,SAAUk5M,GAAAA,IAGJ+rC,EAAmB,eAEjBC,EACF,+GACAllP,KAAKi6L,SAASkrD,aAAaC,aAC3B,qBAGEC,EAAyB1sG,SAC3BtxF,mBARsB,yCAUpBi+L,EAAqB3sG,SAAStxF,mBAAmB69L,IACjDK,EAAgB5sG,SAClBtxF,mBAAmBrnD,KAAKi6L,SAASkrD,aAAalwO,WAE5CuwO,EAAkB7sG,SAAStxF,mBATd,kDAUbo+L,EAAsB9sG,SAAStxF,mBATd,iBAWjBq+L,EACFJ,EAAmB3gP,OACnB4gP,EAAc5gP,OACd6gP,EAAgB7gP,OAChB0gP,EAAuB1gP,OACvB8gP,EAAoB9gP,OAAAA,KAEjBs1L,SAASkrD,aAAaQ,uBAAyB3lP,KAAKi6L,SAAS8K,YAAAA,KAC7D9K,SAAS59K,MACZ,4CAA8CqpO,EAAY,YAEvDzrD,SAAS59K,MAAM,eACf49K,SAAS59K,MACZgpO,EACEC,EACAC,EACAC,EACAC,GAAAA,KAECxrD,SAAS59K,MAAM,kBACf49K,SAAS59K,MAAM,WAGlB6wL,EAAa,WACXltM,KAAKi6L,SAASkrD,aAAaQ,wBAAAA,KACxB1rD,SAAS59K,MACZ,aACErc,KAAKi6L,SAASkrD,aAAaQ,uBAC3B,SAcRzsC,EAAS0sC,YAAc,SAAS3wO,EAAUmwO,GAAAA,YAAAA,IAC7BplP,KAAKi6L,SAASkrD,eAAAA,KAClBlrD,SAASkrD,aAAe,CAC3BlwO,SAAUA,EACVmwO,aAAcA,GAAgB,2CAE3BnrD,SAAShtE,OAAOuB,UAAU,aAAc0+E,GAAAA,KAExCjT,SAAShtE,OAAOuB,UAAU,mBAAoBy2H,IAE9CjlP,MAzEX,CA2EGk5L,GAAMc,KCpGT,SAAUd,GAAAA,IAEJggB,EAAWhgB,EAAMc,IAOjBmpD,EAAejqC,EAASiqC,YAAc,SAAS/9L,EAAMqhB,GAAAA,IAAAA,IAItBvzC,EAH7B2rN,EAASp4K,EAAKxxD,SAAS6pO,QAAQD,OAC/BgH,EAAO,CAAC,GAAI,IAAK,KAAM,MAAO,QAC9BvvN,EAAK,CAAC,IACD/xB,EAAI,EAAGuuB,EAAIsyB,EAAKzgD,OAAWJ,EAAIuuB,IAAKvuB,EAAG,IAC9C2uB,EAAIuzC,EAAKxxD,SAASuqO,iBAAiBp6L,EAAKxkC,WAAWrc,IACnDkiE,EAAKxxD,SAASqtO,WAAWr6O,KAAKirB,GAC9BuzC,EAAKxxD,SAAS6wO,UAAU5yN,GAAKkyB,EAAKxkC,WAAWrc,IACnB,GAAtBs6O,EAAOh3O,QAAQqrB,KACjB2rN,EAAO52O,KAAKirB,GACZ2rN,EAAO52O,KAAK,CAACy7B,SAAS+iC,EAAKxxD,SAASsqO,aAAarsN,GAAI,OAE9C,KAALA,EAAAA,OAEKoD,EAAG5d,KAAK,IAEfwa,EAAIA,EAAExmB,SAAS,IACf4pB,EAAGruB,KAAK49O,EAAK,EAAI3yN,EAAEvuB,QAASuuB,GAAAA,OAGzBoD,EAAG5d,KAAK,KAGbqtO,EAAgB,SAAS/8O,GAAAA,IACvBqtF,EAAM2vJ,EAAOxhM,EAAOyhM,EAASC,EAAYx+K,EAAIy4C,EAAAA,IACjD+lI,EACE,iQAKF1hM,EAAQ,GACHkjB,EAAK,EAAGy4C,GALb6lI,EAAQtnP,OAAOkG,KAAKoE,GAAKilB,MAAK,SAASpb,EAAGC,GAAAA,OACjCD,EAAIC,MAIanO,OAAQ+iE,EAAKy4C,EAAMz4C,IAC3C2uB,EAAO2vJ,EAAMt+K,GACTljB,EAAM7/C,QAAU,MAClBuhP,GACE,KACA1hM,EAAM7/C,OACN,iBACA6/C,EAAM9rC,KAAK,MACX,cACF8rC,EAAQ,aAIRx7C,EAAIqtF,IACU,OAAdrtF,EAAIqtF,IAC0B,mBAAvBrtF,EAAIqtF,GAAM3pF,WAEjBu5O,GAAW,OAASj9O,EAAIqtF,GAAM3pF,SAAS,KAAKzB,OAAO,GACnDorF,GAAQ,SAAWA,GAAM3pF,SAAS,KAAKzB,OAAO,GAC9Cu5C,EAAMv8C,KAAK,IAAMouF,EAAO,KAAO4vJ,EAAU,aAIzCzhM,EAAM7/C,SACRuhP,GACE,KACA1hM,EAAM7/C,OACN,iBACA6/C,EAAM9rC,KAAK,MACX,iBAEJwtO,EACE,oEA+EJhtC,EAASjsF,OAAOhlH,KAAK,CACnB,UACA,SAASqb,IA7Ea,SAAS9iB,GAAAA,IAC3BimE,EAAOjmE,EAAQimE,KACfihH,EAAMlnL,EAAQknL,IACdqd,EAAYvkM,EAAQukM,UACpBmB,EAAY1lM,EAAQ0lM,UAAAA,GAGtBz/H,EAAKxxD,oBAAoBikL,EAAMc,IAAIqoD,SACjB,eAAlB57K,EAAK4hI,SACL,SAEIw2C,EAASp4K,EAAKxxD,SAAS6pO,QAAQD,OAE/BsH,EADO1/K,EAAKxxD,SAASmxO,OAAOltF,OAAOzyF,EAAKxxD,SAASqtO,WAAY,GAE7D+D,EAAa,GACR9hP,EAAI,EAAGA,EAAI4hP,EAAUxhP,OAAQJ,IACpC8hP,GAAcjqP,OAAOg8B,aAAa+tN,EAAU5hP,IAAAA,IAE1C+hP,EAAYvhD,IAChBmB,EAAU,CAAEjwL,KAAMowO,EAAYjgD,YAAY,EAAME,SAAUggD,IAC1D5+D,EAAI,cAEA6+D,EAAOxhD,IAEXmB,EAAU,CAAEjwL,KADG8vO,EAAct/K,EAAKxxD,SAAS6wO,WACf1/C,YAAY,EAAME,SAAUigD,IACxD7+D,EAAI,cAEA8+D,EAAiBzhD,IACrBrd,EAAI,MACJA,EAAI,yBACJA,EAAI,cAAgBgQ,GAAUjxH,EAAKkkI,WACnCjjB,EAAI,cAAgB4+D,EAAY,QAChC5+D,EAAI,aAAewR,EAAMc,IAAIysD,UAAU5mB,QAAQp5J,EAAKxxD,SAASyxO,OAC7Dh/D,EAAI,UAAYjhH,EAAKxxD,SAAS6wB,OAC9B4hJ,EAAI,UAAYjhH,EAAKxxD,SAAS0xO,OAC9Bj/D,EAAI,gBAAkBjhH,EAAKxxD,SAAS2xO,aACpCl/D,EAAI,WAAajhH,EAAKxxD,SAAS4xO,UAC/Bn/D,EAAI,YAAcjhH,EAAKxxD,SAAS6xO,UAChCp/D,EAAI,cAAgBjhH,EAAKxxD,SAAS8xO,WAClCr/D,EAAI,MACJA,EAAI,cAEAs/D,EAAiBjiD,IACrBrd,EAAI,MACJA,EAAI,eACJA,EAAI,cAAgBgQ,GAAUjxH,EAAKkkI,WACnCjjB,EAAI,mBAAqB8+D,EAAiB,QAC1C9+D,EAAI,MAAQwR,EAAMc,IAAIysD,UAAU5mB,QAAQgf,IACxCn3D,EAAI,0BACJA,EAAI,YACJA,EAAI,0BACJA,EAAI,kBACJA,EAAI,MACJA,EAAI,iBACJA,EAAI,qBACJA,EAAI,cAAgBjhH,EAAK4hI,SAAW,KACpC3gB,EAAI,MACJA,EAAI,MACJA,EAAI,UAEJjhH,EAAK8xH,aAAewM,IACpBrd,EAAI,MACJA,EAAI,eACJA,EAAI,mBACJA,EAAI,cAAgB6+D,EAAO,QAC3B7+D,EAAI,cAAgBgQ,GAAUjxH,EAAKkkI,WACnCjjB,EAAI,cAAgBjhH,EAAK4hI,UACzB3gB,EAAI,qBAAuBs/D,EAAiB,SAC5Ct/D,EAAI,MACJA,EAAI,UAEJjhH,EAAK0hI,iBAAAA,GAvEe,CA8EF7kL,MAqEtB41L,EAASjsF,OAAOhlH,KAAK,CACnB,UACA,SAASqb,IAnEmB,SAAS9iB,GAAAA,IACjCimE,EAAOjmE,EAAQimE,KACfihH,EAAMlnL,EAAQknL,IACdqd,EAAYvkM,EAAQukM,UACpBmB,EAAY1lM,EAAQ0lM,UAAAA,GAGtBz/H,EAAKxxD,oBAAoBikL,EAAMc,IAAIqoD,SACjB,oBAAlB57K,EAAK4hI,SACL,SAGI89C,EADO1/K,EAAKxxD,SAASi0M,QAErBm9B,EAAa,GACR9hP,EAAI,EAAGA,EAAI4hP,EAAUxhP,OAAQJ,IACpC8hP,GAAcjqP,OAAOg8B,aAAa+tN,EAAU5hP,IAAAA,IAE1C+hP,EAAYvhD,IAChBmB,EAAU,CAAEjwL,KAAMowO,EAAYjgD,YAAY,EAAME,SAAUggD,IAC1D5+D,EAAI,cAEA6+D,EAAOxhD,IAEXmB,EAAU,CAAEjwL,KADG8vO,EAAct/K,EAAKxxD,SAAS6wO,WACf1/C,YAAY,EAAME,SAAUigD,IACxD7+D,EAAI,cAEA8+D,EAAiBzhD,IACrBrd,EAAI,MACJA,EAAI,YAAcjhH,EAAKxxD,SAAS6xO,UAChCp/D,EAAI,cAAgBjhH,EAAKxxD,SAAS8xO,WAClCr/D,EAAI,UAAYjhH,EAAKxxD,SAAS0xO,OAC9Bj/D,EAAI,yBACJA,EAAI,cAAgB4+D,EAAY,QAChC5+D,EAAI,aACJA,EAAI,aAAewR,EAAMc,IAAIysD,UAAU5mB,QAAQp5J,EAAKxxD,SAASyxO,OAC7Dh/D,EAAI,cAAgBgQ,GAAUjxH,EAAKkkI,WACnCjjB,EAAI,gBAAkBjhH,EAAKxxD,SAAS2xO,aACpCl/D,EAAI,WAAajhH,EAAKxxD,SAAS4xO,UAC/Bn/D,EAAI,MACJA,EAAI,UACJjhH,EAAK8xH,aAAewM,IAAAA,IACf,IAAIlgM,EAAI,EAAGA,EAAI4hE,EAAKxxD,SAASgyO,KAAKpI,OAAOl6O,OAAQE,IACpD4hE,EAAKxxD,SAASgyO,KAAKpI,OAAOh6O,GAAK6+B,SAC7B+iC,EAAKxxD,SAASgyO,KAAKpI,OAAOh6O,IAAM,IAAO4hE,EAAKxxD,SAAS2D,KAAKsuO,aAG9Dx/D,EACE,2CACE6+D,EACA,iBACA7uD,GAAUjxH,EAAKkkI,UACf,mBACA67C,EALF,iBAQE//K,EAAK4hI,SACL,wCACAnP,EAAMc,IAAIysD,UAAU5mB,QAAQp5J,EAAKxxD,SAASgyO,KAAKpI,QAC/C,MAEJn3D,EAAI,UACJjhH,EAAK0hI,iBAAAA,GA7DqB,CAoEF7kL,MAAAA,IAIxB6jO,EAAmB,SAAS7jO,GAAAA,IAc5B8jO,EAbEhiM,EAAO9hC,EAAK8hC,MAAQ,GACpB3lC,EAAI6D,EAAK7D,EACT6O,EAAIhL,EAAKgL,EACT9tB,EAAU8iB,EAAK9iB,SAAW,GAC1BkwM,EAAQptL,EAAKotL,OAAS,GAEtB5E,EAAY4E,EAAM5E,UAClBpK,EAAgBgP,EAAMhP,cACtBzuI,EAAQy9I,EAAMz9I,MACdj2D,EAAM0kM,EAEN5pK,EAAM,GACR1C,EAAI,EAEFiyN,EAAU,GACVh/C,EAAWp1I,EAAMj2D,GAAKqrM,SAAAA,GAEE,eAAxBp1I,EAAMj2D,GAAKqrM,SAAAA,MACN,CACLjjJ,KAAMA,EACN3lC,EAAGA,EACH6O,EAAGA,EACH9tB,QAASA,EACTkwM,MAAOA,GAAAA,IAGX22C,EAAUjiM,EAEVpoD,EAAM0kM,EACFhlM,MAAMmP,QAAQu5C,KAChBiiM,EAAUjiM,EAAK,IAEZhwB,EAAI,EAAGA,EAAIiyN,EAAQ1iP,OAAQywB,GAAK,EAC/B69B,EAAMj2D,GAAKiY,SAASlD,eAAe,UACrCq1O,EACEn0L,EAAMj2D,GAAKiY,SAASsxO,KAAKN,QAAQqB,QAAQD,EAAQjyN,GAAGxU,WAAW,KAgB9DwmO,GAEDC,EAAQjyN,GAAGxU,WAAW,GAAK,KAC3BqyC,EAAMj2D,GAAKiY,SAASlD,eAAe,WAOrC+lB,GAAOuvN,EAAQjyN,GAHb0C,GAAO,OAMTzwB,EAAS,UACTq8B,SAAS1mC,EAAIiO,MAAM,IAAM,IAAmB,oBAAbo9L,EAEjChhM,EAASykM,EAAUh0K,EAAK96B,GACrB+T,MAAM,IACN/H,KAAI,SAAS8mN,GAAAA,OACLA,EAAGlvM,WAAW,GAAGlU,SAAS,OAElCgM,KAAK,IACc,eAAb2vL,IACThhM,EAAS87O,EAAYrrN,EAAKm7B,EAAMj2D,KAElC0zM,EAAMluK,OAAAA,EAEC,CACL4iB,KAAM/9C,EACNoY,EAAGA,EACH6O,EAAGA,EACH9tB,QAASA,EACTkwM,MAAOA,IAiDXwI,EAASjsF,OAAOhlH,KAAK,CAAC,kBA7CG,SAASs/O,GAAAA,IAC5BniM,EAAOmiM,EAAMniM,MAAQ,GAKrBgnK,EAAU,GACV9oM,EAAO,CACT8hC,KAAMA,EACN3lC,EAPI8nO,EAAM9nO,EAQV6O,EAPIi5N,EAAMj5N,EAQV9tB,QAPU+mP,EAAM/mP,QAQhBkwM,MAPQ62C,EAAM72C,OAAAA,GAUZh0M,MAAMmP,QAAQu5C,GAAO,KACnB7gD,EAAI,MACHA,EAAI,EAAGA,EAAI6gD,EAAKzgD,OAAQJ,GAAK,EAC5B7H,MAAMmP,QAAQu5C,EAAK7gD,KACE,IAAnB6gD,EAAK7gD,GAAGI,OACVynN,EAAQnkN,KAAK,CACXk/O,EAAiBzoP,OAAOwc,OAAO,GAAIoI,EAAM,CAAE8hC,KAAMA,EAAK7gD,GAAG,MACtD6gD,KACHA,EAAK7gD,GAAG,GACR6gD,EAAK7gD,GAAG,KAQZ6nN,EAAQnkN,KACNk/O,EAAiBzoP,OAAOwc,OAAO,GAAIoI,EAAM,CAAE8hC,KAAMA,EAAK7gD,MAAO6gD,MAInEmiM,EAAMniM,KAAOgnK,OAEbm7B,EAAMniM,KAAO+hM,EACXzoP,OAAOwc,OAAO,GAAIoI,EAAM,CAAE8hC,KAAMA,KAChCA,QAxWR,CA6WG8zI,ICpWH,SAAUggB,GAAAA,IAGJsuC,EAAiB,2BACRxnP,KAAKi6L,SAASwtD,MAAAA,KAClBxtD,SAASwtD,IAAM,QAexBvuC,EAASipC,gBAAkB,SAASx0C,GAAAA,OAClC65C,EAAel9O,KAAKtK,WAAAA,IACNA,KAAKi6L,SAASwtD,IAAI95C,IAclCuL,EAASwuC,aAAe,SAAS/5C,EAAUg6C,GAAAA,OACzCH,EAAel9O,KAAKtK,MAAAA,KACfi6L,SAASwtD,IAAI95C,GAAYg6C,EACvB3nP,MAaTk5M,EAASkpC,eAAiB,SAASz0C,GAAAA,OACjC65C,EAAel9O,KAAKtK,WAAAA,IAETA,KAAKi6L,SAASwtD,IAAI95C,GACpB3tM,KAAKi6L,SAASwtD,IAAI95C,GAEpB,MA1DX,CA4DGzU,GAAMc,KCpET,SAAUd,GAojERA,EAAM0uD,eAAiB1uD,EAAMv8L,UAAUirP,eAAiB,SAASpnP,GAAAA,IAsF7DqnP,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EA7FEC,EAAiBC,EAEjBC,EAAmB,CACrB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,GAAM,EAAG,EAAG,GACtB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,GAAM,GAAM,EAAG,EAAG,GACzB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAGjBC,EAAmB,CACrB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,GAAM,EAAG,EAAG,IAGpBC,EAAkB,CAAEjlM,EAAG,EAAGqtD,EAAG,EAAG63I,GAAI,EAAGC,GAAI,EAAG1+I,EAAG,EAAG3uF,EAAG,EAAGI,EAAG,GAE7DktO,EAAsB,GACrB,IACA,IACA,IACA,KACG,MACA,MACA,MACA,GAGJC,EAAc,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAGEC,EAAuB,IAAIjnO,OAC7B,qGAGEknO,GAAAA,EAWFC,EAPU,OASPnB,eAAiB,OAkBlBoB,EAAe,SAAStiJ,GAAAA,IACtBrV,EAAWqV,EAAG9lF,aAChB4jC,EAAQ6sC,GAAY,EACpB43J,EAAWN,EAAoBnkM,GAAAA,YAAAA,IAE7BykM,EACKb,EAA0B,IAAXa,GAA6B,IAAX53J,IACrB,MAAV7sC,GAA4B,MAAVA,EACpB,KACEqkM,EAAqBt4O,KAAKi0C,GAE5B,IACY,IAAVA,EAEF,IAEF,KAGL0kM,EAAsB,SAAS9jM,GAAAA,IAC5B,IAAW+jM,EAAP5kP,EAAI,EAAaA,EAAI6gD,EAAKzgD,OAAQJ,IAAK,IAE7B,OADjB4kP,EAAWH,EAAa5jM,EAAKzkC,OAAOpc,KAAAA,OAAAA,EAG7B,GAAiB,MAAb4kP,EAAAA,OAAAA,EACF,UAQTC,EAAmB,SAAS/wN,EAAOwF,EAAOwrN,EAAevlP,GAAAA,IAEzDwlP,EACAC,EACAhlP,EACAsC,EAJE2iP,EAAQ3rN,EAAM/5B,GAAAA,OAKV0lP,GAAAA,IACD,QACA,IAoGK,IAGL,UACA,UACA,UACA,UACA,MACHV,GAAAA,EAAc,MA3GA,IAEX,QACA,eAGA,KACCA,IACFU,EAAQ,gBAIP,KACHV,GAAAA,EAEAU,EAAQ,cAGL,KAyFW,IAEX,KACHA,EAAQ,UA3FA,IAGL,KAED1lP,EAAQ,GACRA,EAAQ,GAAK+5B,EAAMl5B,QACqB,QAAtC2kP,EAAQD,EAAcvlP,EAAQ,KAA0B,OAAVwlP,GAChB,QAA9BC,EAAQ1rN,EAAM/5B,EAAQ,KAA0B,OAAVylP,EAExCC,EAAQ,IACCV,IACTS,EAAQ,MAEVC,EAAQD,IAAUD,EAAQC,EAAQ,cAG/B,KAEHC,EACY,QAFZF,EAAQxlP,EAAQ,EAAIulP,EAAcvlP,EAAQ,GAAK,MAG7CA,EAAQ,EAAI+5B,EAAMl5B,QACG,OAArBk5B,EAAM/5B,EAAQ,GACV,KACA,cAGH,QACCA,EAAQ,GAAkC,OAA7BulP,EAAcvlP,EAAQ,GAAa,CAClD0lP,EAAQ,WAEH,GAAIV,EAAa,CACtBU,EAAQ,cAGVjlP,EAAIT,EAAQ,EACZ+C,EAAMg3B,EAAMl5B,OACLJ,EAAIsC,GAAoB,OAAbg3B,EAAMt5B,IACtBA,IAGAilP,EADEjlP,EAAIsC,GAAoB,OAAbg3B,EAAMt5B,GACX,KAEA,cAIP,SACCwjP,IAAgBC,EAAU,KAE5BnhP,EAAMg3B,EAAMl5B,OACZJ,EAAIT,EAAQ,EACLS,EAAIsC,GAAoB,QAAbg3B,EAAMt5B,IACtBA,IAAAA,GAEEA,EAAIsC,EAAK,KACP0M,EAAI8kB,EAAMv0B,GACV2lP,EAAgBl2O,GAAK,MAAUA,GAAK,MAAiB,QAANA,EAAAA,GACnD+1O,EAAQzrN,EAAMt5B,GACVklP,IAA2B,MAAVH,GAA2B,OAAVA,GAAiB,CACrDE,EAAQ,YAMZA,EADE1lP,EAAQ,GAAoC,OAA9BwlP,EAAQzrN,EAAM/5B,EAAQ,IAC9B,IAEAulP,EAAcvlP,EAAQ,aAI7B,IACHglP,GAAAA,EACAjB,GAAAA,EACA2B,EAAQT,EAAAA,MAAAA,IAGL,IACHjB,GAAAA,EACA0B,EAAQ,IAWA,OAGLA,GAkBLE,EAAgB,SAAStkM,EAAMukM,EAAmBC,GAAAA,IAChD3qB,EAAY75K,EAAKr0C,MAAM,WACvB64O,GACFC,EAAe5qB,EAAW2qB,EAAQ,CAAEE,QAASf,IAE/C9pB,EAAUn8N,UACV6mP,GAAqBA,EAAkB7mP,UAChCm8N,EAAUvmN,KAAK,KAKpBmxO,EAAiB,SAASxxN,EAAOuxN,EAAQ78H,GAAAA,IACvC7hB,EAEF3mG,EACAT,EACAimP,EACAC,EACAC,GAAW,EACXpjP,EAAMwxB,EAAM1zB,OACZulP,EAAW,EACXb,EAAgB,GAChBc,EAAapB,EAAOR,EAAmBD,EACvCzqN,EAAQ,OAEVirN,GAAAA,EAEAjB,GAAAA,EACAC,GAAAA,EACKvjP,EAAI,EAAGA,EAAIsC,EAAKtC,IACnBs5B,EAAMt5B,GAAKykP,EAAa3wN,EAAM9zB,IAAAA,IAE3BT,EAAQ,EAAGA,EAAQ+C,EAAK/C,IAAS,IACpCkmP,EAAYE,EACZb,EAAcvlP,GAASslP,EACrB/wN,EACAwF,EACAwrN,EACAvlP,GAGFonG,EAAoB,KADpBg/I,EAAWC,EAAWH,GAAWxB,EAAgBa,EAAcvlP,MAE/DomP,GAAY,GACZN,EAAO9lP,GAASimP,EAAWI,EAAWD,GAAU,GAC5Ch/I,EAAS,KACI,KAAXA,EAAiB,KACd3mG,EAAI0lP,EAAS1lP,EAAIT,EAAOS,IAC3BqlP,EAAOrlP,GAAK,EAEd0lP,GAAW,OAEXA,GAAW,KAGHE,EAAWD,GAAU,IAEd,IAAbD,IACFA,EAAUnmP,QAAAA,GAGRmmP,GAAW,EAAG,KACX1lP,EAAI0lP,EAAS1lP,EAAIT,EAAOS,IAC3BqlP,EAAOrlP,GAAKwlP,EAEdE,GAAW,EAGM,MAAjBpsN,EAAM/5B,KACR8lP,EAAO9lP,GAAS,GAElBipH,EAAO+8H,SAAWC,EAEhBjC,GAxFa,SAASjqN,EAAO+rN,EAAQjlP,GAAAA,IACpC,IAAIJ,EAAI,EAAGA,EAAII,EAAQJ,IAAAA,GACT,MAAbs5B,EAAMt5B,GAAY,CACpBqlP,EAAOrlP,GAAKwkP,EAAAA,IACP,IAAIlkP,EAAIN,EAAI,EAAGM,GAAK,GACN,OAAbg5B,EAAMh5B,GADgBA,IAExB+kP,EAAO/kP,GAAKkkP,GANH,CAyFFlrN,EAAO+rN,EAAQ/iP,IAM5BujP,EAAiB,SACnB1/D,EACAu0C,EACA0qB,EACAC,EACA78H,GAAAA,KAEIA,EAAO+8H,QAAUp/D,GAAAA,CAAAA,GAGP,IAAVA,GAjSM,IAiSSq+D,IAAqBlB,EAAAA,OACtC5oB,EAAUn8N,eACV6mP,GAAqBA,EAAkB7mP,WAAAA,IAAAA,IAGrC4jG,EACF2jJ,EACArjP,EACAsjP,EACAzjP,EAAMo4N,EAAUt6N,OAChBP,EAAQ,EAEHA,EAAQyC,GAAK,IACd+iP,EAAOxlP,IAAUsmL,EAAO,KAC1B1jL,EAAM5C,EAAQ,EACP4C,EAAMH,GAAO+iP,EAAO5iP,IAAQ0jL,GACjC1jL,IAAAA,IAEGsjP,EAAMlmP,EAAOimP,EAAOrjP,EAAM,EAAGsjP,EAAMD,EAAMC,IAAOD,IACnD3jJ,EAAKu4H,EAAUqrB,GACfrrB,EAAUqrB,GAAOrrB,EAAUorB,GAC3BprB,EAAUorB,GAAQ3jJ,EACdijJ,IACFjjJ,EAAKijJ,EAAkBW,GACvBX,EAAkBW,GAAOX,EAAkBU,GAC3CV,EAAkBU,GAAQ3jJ,GAG9BtiG,EAAQ4C,EAEV5C,OAmBAmmP,EAAW,SAASnlM,EAAMukM,EAAmBC,GAAAA,IAC3C3qB,EAAY75K,EAAKr0C,MAAM,IACzBg8G,EAAS,CAAE+8H,QAASf,GAAAA,OAEjBa,IACHA,EAAS,IAEXC,EAAe5qB,EAAW2qB,EAAQ78H,GApBf,SAASkyG,EAAW2qB,EAAQ78H,GAAAA,GACxB,IAAnBA,EAAO+8H,SAAiB3B,EAAAA,IACrB,IAAWrkP,EAAPS,EAAI,EAAUA,EAAI06N,EAAUt6N,OAAQJ,IACzB,IAAdqlP,EAAOrlP,KACTT,EAAQ8kP,EAAY/gP,QAAQo3N,EAAU16N,MACzB,IACX06N,EAAU16N,GAAKqkP,EAAY9kP,EAAQ,IANxB,CAqBJm7N,EAAW2qB,EAAQ78H,GAClCq9H,EAAeI,EAAavrB,EAAW0qB,EAAmBC,EAAQ78H,GAClEq9H,EA5VU,EA4VcnrB,EAAW0qB,EAAmBC,EAAQ78H,GACvDkyG,EAAUvmN,KAAK,iBAYnBkvO,eAAe6C,cAAgB,SAClCrlM,EACAukM,EACAC,GAAAA,GAlWU,SAASxkM,EAAMukM,GAAAA,GACrBA,EAAAA,IACG,IAAIplP,EAAI,EAAGA,EAAI6gD,EAAKzgD,OAAQJ,IAC/BolP,EAAkBplP,GAAKA,OAAAA,IAGvByjP,IACFA,EAAWkB,EAAoB9jM,SAAAA,IAE7B8iM,IACFA,EAAYgB,EAAoB9jM,IAVxB,CAoWJA,EAAMukM,GACP5B,IAAeE,GAAiBC,EAI9B,GAAIH,GAAeE,GAAgBD,EAAWE,EAEnDa,EAAOf,EArXC,EADA,EAuXR5iM,EAAOskM,EAActkM,EAAMukM,EAAmBC,QACzC,IAAK7B,GAAeE,GAAgBC,EAEzCa,EAAOf,EAzXC,EADA,EA2XR5iM,EAAOmlM,EAASnlM,EAAMukM,EAAmBC,GACzCxkM,EAAOskM,EAActkM,EAAMukM,QACtB,IAAI5B,GAAgBC,GAAaC,GAAiBC,GAIlD,GAAIH,IAAgBE,GAAgBD,EAAWE,EAEpD9iM,EAAOskM,EAActkM,EAAMukM,GACvB3B,GAEFe,EAtYM,EAuYN3jM,EAAOmlM,EAASnlM,EAAMukM,EAAmBC,KAGzCb,EAzYM,EA0YN3jM,EAAOmlM,EAASnlM,EAAMukM,EAAmBC,GACzCxkM,EAAOskM,EAActkM,EAAMukM,SAExB,GAAI5B,GAAeC,IAAaC,GAAgBC,EAErDa,EA/YQ,EAgZR3jM,EAAOmlM,EAASnlM,EAAMukM,EAAmBC,GACzCxkM,EAAOskM,EAActkM,EAAMukM,QACtB,IAAK5B,IAAgBE,GAAgBD,EAAWE,EAAW,KAE5DwC,EAA0BvC,EAC1BH,GAEFe,EAvZM,EAwZN3jM,EAAOmlM,EAASnlM,EAAMukM,EAAmBC,GACzCb,EA1ZM,EA2ZNZ,GAAAA,EACA/iM,EAAOmlM,EAASnlM,EAAMukM,EAAmBC,GACzCzB,EAAuBuC,IAGvB3B,EAhaM,EAiaN3jM,EAAOmlM,EAASnlM,EAAMukM,EAAmBC,GACzCxkM,EAAOskM,EAActkM,EAAMukM,GAC3BZ,EAlaM,EAmaNZ,GAAAA,EACA/iM,EAAOmlM,EAASnlM,EAAMukM,EAAmBC,GACzCzB,EAAuBuC,EACvBtlM,EAAOskM,EAActkM,EAAMukM,UAxC7BZ,EA/XQ,EAgYR3jM,EAAOmlM,EAASnlM,EAAMukM,EAAmBC,QAdzCb,EAAOf,EAjXC,EADA,EAmXR5iM,EAAOmlM,EAASnlM,EAAMukM,EAAmBC,GAAAA,OAuDpCxkM,GAAAA,KAcJwiM,eAAen1E,WAAa,SAASjyK,GACpCA,IACFunP,EAAcvnP,EAAQmqP,cACtB1C,EAAeznP,EAAQoqP,eACvB5C,EAAWxnP,EAAQqqP,WACnB3C,EAAY1nP,EAAQsqP,YACpB3C,EAAuB3nP,EAAQuqP,sBAAAA,KAI9BnD,eAAen1E,WAAWjyK,GACxBR,KAAK4nP,gBAAAA,IAGVS,EA5jFmB,CACrB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KA8jBE2C,EAAa,IAAI9xD,EAAM0uD,eAAe,CAAE+C,eAAe,IAoC3DzxD,EAAMc,IAAI/sE,OAAOhlH,KAAK,CAAC,kBAlCE,SAASqb,GAAAA,IAC5B8hC,EAAO9hC,EAAK8hC,KAGZ5kD,GAFI8iB,EAAK7D,EACL6D,EAAKgL,EACChL,EAAK9iB,SAAW,IAG1B4rN,GAFQ9oM,EAAKotL,MACNlwM,EAAQuwM,KACL,OAEdvwM,EAAQmqP,cAC2B,kBAA1BnqP,EAAQmqP,eAA8BnqP,EAAQmqP,cACvDK,EAAWv4E,WAAWjyK,GAEuB,mBAAzC9B,OAAO/B,UAAU+P,SAASpC,KAAK86C,GAA4B,KACzD7gD,EAAI,MACR6nN,EAAU,GACL7nN,EAAI,EAAGA,EAAI6gD,EAAKzgD,OAAQJ,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","sources":["../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/a-constructor.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/internals/an-instance.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/array-buffer-native.js","../node_modules/core-js/internals/array-buffer-view-core.js","../node_modules/core-js/internals/array-buffer.js","../node_modules/core-js/internals/array-copy-within.js","../node_modules/core-js/internals/array-fill.js","../node_modules/core-js/internals/array-from-constructor-and-list.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/internals/array-last-index-of.js","../node_modules/core-js/internals/array-method-has-species-support.js","../node_modules/core-js/internals/array-method-is-strict.js","../node_modules/core-js/internals/array-reduce.js","../node_modules/core-js/internals/array-slice-simple.js","../node_modules/core-js/internals/array-slice.js","../node_modules/core-js/internals/array-sort.js","../node_modules/core-js/internals/array-species-constructor.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/create-iterator-constructor.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/define-built-ins.js","../node_modules/core-js/internals/define-iterator.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/engine-ff-version.js","../node_modules/core-js/internals/engine-is-browser.js","../node_modules/core-js/internals/engine-is-ie-or-edge.js","../node_modules/core-js/internals/engine-is-ios-pebble.js","../node_modules/core-js/internals/engine-is-ios.js","../node_modules/core-js/internals/engine-is-node.js","../node_modules/core-js/internals/engine-is-webos-webkit.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/engine-webkit-version.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/function-apply.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/get-iterator.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/host-report-errors.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/ieee754.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/inherit-if-required.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/is-constructor.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/is-integral-number.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/is-pure.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/iterate.js","../node_modules/core-js/internals/iterator-close.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/make-built-in.js","../node_modules/core-js/internals/microtask.js","../node_modules/core-js/internals/native-symbol.js","../node_modules/core-js/internals/native-weak-map.js","../node_modules/core-js/internals/new-promise-capability.js","../node_modules/core-js/internals/object-assign.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/object-to-array.js","../node_modules/core-js/internals/object-to-string.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/perform.js","../node_modules/core-js/internals/promise-constructor-detection.js","../node_modules/core-js/internals/promise-native-constructor.js","../node_modules/core-js/internals/promise-resolve.js","../node_modules/core-js/internals/promise-statics-incorrect-iteration.js","../node_modules/core-js/internals/queue.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/set-global.js","../node_modules/core-js/internals/set-species.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/species-constructor.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/internals/string-trim-end.js","../node_modules/core-js/internals/string-trim-forced.js","../node_modules/core-js/internals/string-trim-start.js","../node_modules/core-js/internals/string-trim.js","../node_modules/core-js/internals/task.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-index.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/to-offset.js","../node_modules/core-js/internals/to-positive-integer.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/to-string.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/typed-array-constructor.js","../node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","../node_modules/core-js/internals/typed-array-from-species-and-list.js","../node_modules/core-js/internals/typed-array-from.js","../node_modules/core-js/internals/typed-array-species-constructor.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/validate-arguments-length.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/whitespaces.js","../node_modules/core-js/modules/es.array-buffer.constructor.js","../node_modules/core-js/modules/es.array.find.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/modules/es.array.map.js","../node_modules/core-js/modules/es.array.reduce.js","../node_modules/core-js/modules/es.number.is-integer.js","../node_modules/core-js/modules/es.object.assign.js","../node_modules/core-js/modules/es.object.keys.js","../node_modules/core-js/modules/es.object.to-string.js","../node_modules/core-js/modules/es.object.values.js","../node_modules/core-js/modules/es.promise.all.js","../node_modules/core-js/modules/es.promise.catch.js","../node_modules/core-js/modules/es.promise.constructor.js","../node_modules/core-js/modules/es.promise.finally.js","../node_modules/core-js/modules/es.promise.js","../node_modules/core-js/modules/es.promise.race.js","../node_modules/core-js/modules/es.promise.reject.js","../node_modules/core-js/modules/es.promise.resolve.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/modules/es.string.trim-end.js","../node_modules/core-js/modules/es.string.trim-left.js","../node_modules/core-js/modules/es.string.trim-right.js","../node_modules/core-js/modules/es.string.trim-start.js","../node_modules/core-js/modules/es.string.trim.js","../node_modules/core-js/modules/es.typed-array.copy-within.js","../node_modules/core-js/modules/es.typed-array.every.js","../node_modules/core-js/modules/es.typed-array.fill.js","../node_modules/core-js/modules/es.typed-array.filter.js","../node_modules/core-js/modules/es.typed-array.find-index.js","../node_modules/core-js/modules/es.typed-array.find.js","../node_modules/core-js/modules/es.typed-array.for-each.js","../node_modules/core-js/modules/es.typed-array.from.js","../node_modules/core-js/modules/es.typed-array.includes.js","../node_modules/core-js/modules/es.typed-array.index-of.js","../node_modules/core-js/modules/es.typed-array.iterator.js","../node_modules/core-js/modules/es.typed-array.join.js","../node_modules/core-js/modules/es.typed-array.last-index-of.js","../node_modules/core-js/modules/es.typed-array.map.js","../node_modules/core-js/modules/es.typed-array.of.js","../node_modules/core-js/modules/es.typed-array.reduce-right.js","../node_modules/core-js/modules/es.typed-array.reduce.js","../node_modules/core-js/modules/es.typed-array.reverse.js","../node_modules/core-js/modules/es.typed-array.set.js","../node_modules/core-js/modules/es.typed-array.slice.js","../node_modules/core-js/modules/es.typed-array.some.js","../node_modules/core-js/modules/es.typed-array.sort.js","../node_modules/core-js/modules/es.typed-array.subarray.js","../node_modules/core-js/modules/es.typed-array.to-locale-string.js","../node_modules/core-js/modules/es.typed-array.to-string.js","../node_modules/core-js/modules/es.typed-array.uint8-array.js","../node_modules/deepmerge/dist/cjs.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/html2canvas/node_modules/tslib/tslib.es6.js","../node_modules/html2canvas/node_modules/src/Util.ts","../node_modules/src/css/layout/bounds.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Util.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/linebreak-trie.ts","../node_modules/html2canvas/node_modules/src/LineBreak.ts","../node_modules/src/css/syntax/tokenizer.ts","../node_modules/src/css/syntax/parser.ts","../node_modules/src/css/types/length.ts","../node_modules/src/css/types/length-percentage.ts","../node_modules/src/css/types/angle.ts","../node_modules/src/css/types/color.ts","../node_modules/src/css/property-descriptors/background-clip.ts","../node_modules/src/css/property-descriptors/background-color.ts","../node_modules/src/css/types/functions/gradient.ts","../node_modules/src/css/types/functions/linear-gradient.ts","../node_modules/src/css/types/functions/-prefix-linear-gradient.ts","../node_modules/src/css/types/functions/-webkit-gradient.ts","../node_modules/src/css/types/functions/radial-gradient.ts","../node_modules/src/css/types/functions/-prefix-radial-gradient.ts","../node_modules/src/css/types/image.ts","../node_modules/src/css/property-descriptors/background-size.ts","../node_modules/src/css/property-descriptors/background-image.ts","../node_modules/src/css/property-descriptors/background-origin.ts","../node_modules/src/css/property-descriptors/background-position.ts","../node_modules/src/css/property-descriptors/background-repeat.ts","../node_modules/src/css/property-descriptors/line-break.ts","../node_modules/src/css/property-descriptors/border-color.ts","../node_modules/src/css/property-descriptors/border-radius.ts","../node_modules/src/css/property-descriptors/border-style.ts","../node_modules/src/css/property-descriptors/border-width.ts","../node_modules/src/css/property-descriptors/color.ts","../node_modules/src/css/property-descriptors/direction.ts","../node_modules/src/css/property-descriptors/display.ts","../node_modules/src/css/property-descriptors/float.ts","../node_modules/src/css/property-descriptors/letter-spacing.ts","../node_modules/src/css/property-descriptors/word-break.ts","../node_modules/src/css/property-descriptors/line-height.ts","../node_modules/src/css/property-descriptors/list-style-image.ts","../node_modules/src/css/property-descriptors/list-style-position.ts","../node_modules/src/css/property-descriptors/list-style-type.ts","../node_modules/src/css/property-descriptors/margin.ts","../node_modules/src/css/property-descriptors/overflow.ts","../node_modules/src/css/property-descriptors/overflow-wrap.ts","../node_modules/src/css/property-descriptors/padding.ts","../node_modules/src/css/property-descriptors/text-align.ts","../node_modules/src/css/property-descriptors/position.ts","../node_modules/src/css/property-descriptors/text-shadow.ts","../node_modules/src/css/property-descriptors/text-transform.ts","../node_modules/src/css/property-descriptors/transform.ts","../node_modules/src/css/property-descriptors/transform-origin.ts","../node_modules/src/css/property-descriptors/visibility.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Util.ts","../node_modules/src/css/property-descriptors/z-index.ts","../node_modules/src/css/types/time.ts","../node_modules/src/css/property-descriptors/opacity.ts","../node_modules/src/css/property-descriptors/text-decoration-color.ts","../node_modules/src/css/property-descriptors/text-decoration-line.ts","../node_modules/src/css/property-descriptors/font-family.ts","../node_modules/src/css/property-descriptors/font-size.ts","../node_modules/src/css/property-descriptors/font-weight.ts","../node_modules/src/css/property-descriptors/font-variant.ts","../node_modules/src/css/property-descriptors/font-style.ts","../node_modules/src/core/bitwise.ts","../node_modules/src/css/property-descriptors/content.ts","../node_modules/src/css/property-descriptors/counter-increment.ts","../node_modules/src/css/property-descriptors/counter-reset.ts","../node_modules/src/css/property-descriptors/duration.ts","../node_modules/src/css/property-descriptors/quotes.ts","../node_modules/src/css/property-descriptors/box-shadow.ts","../node_modules/src/css/property-descriptors/paint-order.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-color.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-width.ts","../node_modules/src/css/index.ts","../node_modules/src/core/debugger.ts","../node_modules/src/dom/element-container.ts","../node_modules/html2canvas/node_modules/src/grapheme-break-trie.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/GraphemeBreak.ts","../node_modules/src/dom/document-cloner.ts","../node_modules/src/core/features.ts","../node_modules/src/css/layout/text.ts","../node_modules/src/dom/text-container.ts","../node_modules/src/dom/replaced-elements/image-element-container.ts","../node_modules/src/dom/replaced-elements/canvas-element-container.ts","../node_modules/src/dom/replaced-elements/svg-element-container.ts","../node_modules/src/dom/elements/li-element-container.ts","../node_modules/src/dom/elements/ol-element-container.ts","../node_modules/src/dom/replaced-elements/input-element-container.ts","../node_modules/src/dom/elements/select-element-container.ts","../node_modules/src/dom/elements/textarea-element-container.ts","../node_modules/src/dom/replaced-elements/iframe-element-container.ts","../node_modules/src/dom/node-parser.ts","../node_modules/src/css/types/functions/counter.ts","../node_modules/src/render/bound-curves.ts","../node_modules/src/core/cache-storage.ts","../node_modules/src/render/vector.ts","../node_modules/src/render/bezier-curve.ts","../node_modules/src/render/effects.ts","../node_modules/src/render/path.ts","../node_modules/src/render/stacking-context.ts","../node_modules/src/render/border.ts","../node_modules/src/render/box-sizing.ts","../node_modules/src/render/background.ts","../node_modules/src/core/util.ts","../node_modules/src/render/font-metrics.ts","../node_modules/src/render/renderer.ts","../node_modules/src/render/canvas/canvas-renderer.ts","../node_modules/src/render/canvas/foreignobject-renderer.ts","../node_modules/src/core/logger.ts","../node_modules/src/core/context.ts","../node_modules/src/index.ts","../node_modules/load-script/index.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/popper.js/src/utils/isBrowser.js","../node_modules/popper.js/src/utils/debounce.js","../node_modules/popper.js/src/utils/isFunction.js","../node_modules/popper.js/src/utils/getStyleComputedProperty.js","../node_modules/popper.js/src/utils/getParentNode.js","../node_modules/popper.js/src/utils/getScrollParent.js","../node_modules/popper.js/src/utils/getReferenceNode.js","../node_modules/popper.js/src/utils/isIE.js","../node_modules/popper.js/src/utils/getOffsetParent.js","../node_modules/popper.js/src/utils/getRoot.js","../node_modules/popper.js/src/utils/findCommonOffsetParent.js","../node_modules/popper.js/src/utils/isOffsetContainer.js","../node_modules/popper.js/src/utils/getScroll.js","../node_modules/popper.js/src/utils/includeScroll.js","../node_modules/popper.js/src/utils/getBordersSize.js","../node_modules/popper.js/src/utils/getWindowSizes.js","../node_modules/popper.js/src/utils/getClientRect.js","../node_modules/popper.js/src/utils/getBoundingClientRect.js","../node_modules/popper.js/src/utils/getOffsetRectRelativeToArbitraryNode.js","../node_modules/popper.js/src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../node_modules/popper.js/src/utils/isFixed.js","../node_modules/popper.js/src/utils/getFixedPositionOffsetParent.js","../node_modules/popper.js/src/utils/getBoundaries.js","../node_modules/popper.js/src/utils/computeAutoPlacement.js","../node_modules/popper.js/src/utils/getReferenceOffsets.js","../node_modules/popper.js/src/utils/getOuterSizes.js","../node_modules/popper.js/src/utils/getOppositePlacement.js","../node_modules/popper.js/src/utils/getPopperOffsets.js","../node_modules/popper.js/src/utils/find.js","../node_modules/popper.js/src/utils/runModifiers.js","../node_modules/popper.js/src/utils/findIndex.js","../node_modules/popper.js/src/methods/update.js","../node_modules/popper.js/src/utils/isModifierEnabled.js","../node_modules/popper.js/src/utils/getSupportedPropertyName.js","../node_modules/popper.js/src/methods/destroy.js","../node_modules/popper.js/src/utils/getWindow.js","../node_modules/popper.js/src/utils/setupEventListeners.js","../node_modules/popper.js/src/methods/enableEventListeners.js","../node_modules/popper.js/src/methods/disableEventListeners.js","../node_modules/popper.js/src/utils/removeEventListeners.js","../node_modules/popper.js/src/utils/isNumeric.js","../node_modules/popper.js/src/utils/setStyles.js","../node_modules/popper.js/src/modifiers/computeStyle.js","../node_modules/popper.js/src/utils/isModifierRequired.js","../node_modules/popper.js/src/methods/placements.js","../node_modules/popper.js/src/utils/clockwise.js","../node_modules/popper.js/src/modifiers/flip.js","../node_modules/popper.js/src/modifiers/offset.js","../node_modules/popper.js/src/modifiers/index.js","../node_modules/popper.js/src/modifiers/shift.js","../node_modules/popper.js/src/modifiers/preventOverflow.js","../node_modules/popper.js/src/modifiers/keepTogether.js","../node_modules/popper.js/src/modifiers/arrow.js","../node_modules/popper.js/src/utils/getOppositeVariation.js","../node_modules/popper.js/src/modifiers/inner.js","../node_modules/popper.js/src/modifiers/hide.js","../node_modules/popper.js/src/utils/getRoundedOffsets.js","../node_modules/popper.js/src/modifiers/applyStyle.js","../node_modules/popper.js/src/utils/setAttributes.js","../node_modules/popper.js/src/methods/defaults.js","../node_modules/popper.js/src/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-fast-compare/index.js","../node_modules/react-player/lib/Player.js","../node_modules/react-player/lib/Preview.js","../node_modules/react-player/lib/ReactPlayer.js","../node_modules/react-player/lib/index.js","../node_modules/react-player/lib/patterns.js","../node_modules/react-player/lib/players/DailyMotion.js","../node_modules/react-player/lib/players/Facebook.js","../node_modules/react-player/lib/players/FilePlayer.js","../node_modules/react-player/lib/players/Kaltura.js","../node_modules/react-player/lib/players/Mixcloud.js","../node_modules/react-player/lib/players/SoundCloud.js","../node_modules/react-player/lib/players/Streamable.js","../node_modules/react-player/lib/players/Twitch.js","../node_modules/react-player/lib/players/Vidyard.js","../node_modules/react-player/lib/players/Vimeo.js","../node_modules/react-player/lib/players/Wistia.js","../node_modules/react-player/lib/players/YouTube.js","../node_modules/react-player/lib/players/index.js","../node_modules/react-player/lib/props.js","../node_modules/react-player/lib/utils.js","../../../../../../../../webpack/universalModuleDefinition","../../../../../../../../webpack/bootstrap 1d21fa31507cdfa32564","../../../../../../../../src/Tooltip/js/core/globals.js","../../../../../../../../src/Tooltip/js/utils/prefix.js","../../../../../../../../src/Tooltip/js/utils/find.js","../../../../../../../../src/Tooltip/js/utils/getCorePlacement.js","../../../../../../../../src/Tooltip/js/utils/closest.js","../../../../../../../../src/Tooltip/js/utils/defer.js","../../../../../../../../src/Tooltip/js/utils/getInnerElements.js","../../../../../../../../src/Tooltip/js/utils/isVisible.js","../../../../../../../../src/Tooltip/js/utils/matches.js","../../../../../../../../src/Tooltip/component.js","../../../../../../../../src/Tooltip/js/core/followCursorHandler.js","../../../../../../../../src/Tooltip/js/utils/getOffsetDistanceInPx.js","../../../../../../../../src/Tooltip/js/utils/removeTitle.js","../../../../../../../../external {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\",\"umd\":\"react\"}","../../../../../../../../src/Tooltip/hoc.js","../../../../../../../../src/Tooltip/index.js","../../../../../../../../src/Tooltip/js/core/bindEventListeners.js","../../../../../../../../src/Tooltip/js/core/createPopperElement.js","../../../../../../../../src/Tooltip/js/core/createPopperInstance.js","../../../../../../../../src/Tooltip/js/core/createTooltips.js","../../../../../../../../src/Tooltip/js/core/createTrigger.js","../../../../../../../../src/Tooltip/js/core/evaluateSettings.js","../../../../../../../../src/Tooltip/js/core/getArrayOfElements.js","../../../../../../../../src/Tooltip/js/core/getEventListenerHandlers.js","../../../../../../../../src/Tooltip/js/core/getIndividualSettings.js","../../../../../../../../src/Tooltip/js/core/hideAllPoppers.js","../../../../../../../../src/Tooltip/js/core/init.js","../../../../../../../../src/Tooltip/js/core/makeSticky.js","../../../../../../../../src/Tooltip/js/core/mountPopper.js","../../../../../../../../src/Tooltip/js/core/onTransitionEnd.js","../../../../../../../../src/Tooltip/js/tippy.js","../../../../../../../../src/Tooltip/js/utils/applyTransitionDuration.js","../../../../../../../../src/Tooltip/js/utils/cursorIsOutsideInteractiveBorder.js","../../../../../../../../src/Tooltip/js/utils/elementIsInViewport.js","../../../../../../../../src/Tooltip/js/utils/findIndex.js","../../../../../../../../src/Tooltip/js/utils/modifyClassList.js","../../../../../../../../src/Tooltip/js/utils/noop.js","../../../../../../../../src/Tooltip/js/utils/triggerReflow.js","../../../../../../../../external {\"root\":\"Popper\",\"commonjs2\":\"popper.js\",\"commonjs\":\"popper.js\",\"amd\":\"popper.js\",\"umd\":\"popper.js\"}","../../../../../../../../external {\"root\":\"ReactDOM\",\"commonjs2\":\"react-dom\",\"commonjs\":\"react-dom\",\"amd\":\"react-dom\",\"umd\":\"react-dom\"}","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/lib/context.ts","../../packages/react-router/lib/router.ts","../../packages/react-router/lib/hooks.tsx","../../packages/react-router/lib/components.tsx","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/useTranslation.js","components/Hero.jsx","components/Footer.jsx","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-6a883da9.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/react-select/node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/react-select.esm.js","components/Navbar.jsx","components/Popup.jsx","pages/Home.jsx","pages/References.jsx","../node_modules/react-number-format/dist/react-number-format.es.js","imgs/Calculator.svg","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","pages/Form.jsx","imgs/DollarVector.svg","../node_modules/react-google-charts/src/hooks/useLoadGoogleCharts.ts","../node_modules/react-google-charts/src/hooks/useLoadScript.ts","../node_modules/react-google-charts/src/default-props.ts","../node_modules/react-google-charts/src/generate-unique-id.ts","../node_modules/react-google-charts/src/constants.ts","../node_modules/react-google-charts/src/load-data-table-from-spreadsheet.ts","../node_modules/react-google-charts/src/Context.tsx","../node_modules/react-google-charts/src/components/GoogleChartDataTable.tsx","../node_modules/react-google-charts/src/components/GoogleChartEvents.tsx","../node_modules/react-google-charts/src/components/GoogleChart.tsx","../node_modules/react-google-charts/src/ReactGoogleCharts.tsx","../node_modules/react-google-charts/src/types.ts","../node_modules/react-google-charts/src/index.tsx","../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/date-fns/esm/isDate/index.js","../node_modules/date-fns/esm/toDate/index.js","../node_modules/date-fns/esm/isValid/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/date-fns/esm/_lib/toInteger/index.js","../node_modules/date-fns/esm/addMilliseconds/index.js","../node_modules/date-fns/esm/subMilliseconds/index.js","../node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../node_modules/date-fns/esm/_lib/format/formatters/index.js","../node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/date-fns/esm/format/index.js","../node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","../node_modules/jspdf/dist/polyfills.es.js","pages/Results.jsx","App.js","reportWebVitals.js","../../packages/react-router-dom/index.tsx","../node_modules/react-i18next/dist/es/I18nextProvider.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","index.js"],"sourcesContent":["var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","// eslint-disable-next-line es-x/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = uid('TYPED_ARRAY_CONSTRUCTOR');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice-simple');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var intIndex = toIndex(index);\n var store = getInternalState(view);\n if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n var bytes = getInternalState(store.buffer).bytes;\n var start = intIndex + store.byteOffset;\n var pack = conversion(+value);\n for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) this.byteLength = byteLength;\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferLength = getInternalState(buffer).byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n setInternalState(this, {\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength');\n addGetter($DataView, 'buffer');\n addGetter($DataView, 'byteLength');\n addGetter($DataView, 'byteOffset');\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return new NativeArrayBuffer(toIndex(length));\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) {\n createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n }\n }\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es-x/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list) {\n var index = 0;\n var length = lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es-x/no-array-prototype-lastindexof -- safe */\nvar apply = require('../internals/function-apply');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $lastIndexOf;\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","var global = require('../internals/global');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar TypeError = global.TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aCallable(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var arraySlice = require('../internals/array-slice-simple');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n var length = array.length;\n var middle = floor(length / 2);\n return length < 8 ? insertionSort(array, comparefn) : merge(\n array,\n mergeSort(arraySlice(array, 0, middle), comparefn),\n mergeSort(arraySlice(array, middle), comparefn),\n comparefn\n );\n};\n\nvar insertionSort = function (array, comparefn) {\n var length = array.length;\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n } return array;\n};\n\nmodule.exports = mergeSort;\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es-x/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar setGlobal = require('../internals/set-global');\n\nmodule.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return O;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n return O;\n};\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","module.exports = typeof window == 'object' && typeof Deno != 'object';\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length == 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number != number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent = exponent + eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[--index] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa = mantissa + pow(2, mantissaLength);\n exponent = exponent - eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es-x/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es-x/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es-x/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n defineProperty(value, 'name', { value: name, configurable: true });\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) try {\n defineProperty(value, 'prototype', { writable: false });\n } catch (error) { /* empty */ }\n } else value.prototype = undefined;\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // strange IE + webpack dev server bug - use .bind(global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es-x/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es-x/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","var Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.22.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.22.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar $trimEnd = require('../internals/string-trim').end;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.{ trimEnd, trimRight }` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// https://tc39.es/ecma262/#String.prototype.trimright\nmodule.exports = forcedStringTrimMethod('trimEnd') ? function trimEnd() {\n return $trimEnd(this);\n// eslint-disable-next-line es-x/no-string-prototype-trimstart-trimend -- safe\n} : ''.trimEnd;\n","var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar $trimStart = require('../internals/string-trim').start;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.{ trimStart, trimLeft }` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimstart\n// https://tc39.es/ecma262/#String.prototype.trimleft\nmodule.exports = forcedStringTrimMethod('trimStart') ? function trimStart() {\n return $trimStart(this);\n// eslint-disable-next-line es-x/no-string-prototype-trimstart-trimend -- safe\n} : ''.trimStart;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n aTypedArrayConstructor(C);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n\nvar addGetter = function (it, key) {\n nativeDefineProperty(it, key, { get: function () {\n return getInternalState(this)[key];\n } });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return fromList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n var FORCED = TypedArrayConstructor != NativeTypedArrayConstructor;\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","/* eslint-disable no-new -- required for testing */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n for (i = 0; length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n};\n","var ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, originalArray[TYPED_ARRAY_CONSTRUCTOR]));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n return passed;\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar arrayBufferModule = require('../internals/array-buffer');\nvar setSpecies = require('../internals/set-species');\n\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\n\n// `ArrayBuffer` constructor\n// https://tc39.es/ecma262/#sec-arraybuffer-constructor\n$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, {\n ArrayBuffer: ArrayBuffer\n});\n\nsetSpecies(ARRAY_BUFFER);\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/define-iterator');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar isIntegralNumber = require('../internals/is-integral-number');\n\n// `Number.isInteger` method\n// https://tc39.es/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n isInteger: isIntegralNumber\n});\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es-x/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","// TODO: Remove this line from `core-js@4`\nrequire('../modules/es.string.trim-right');\nvar $ = require('../internals/export');\nvar trimEnd = require('../internals/string-trim-end');\n\n// `String.prototype.trimEnd` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// eslint-disable-next-line es-x/no-string-prototype-trimstart-trimend -- safe\n$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== trimEnd }, {\n trimEnd: trimEnd\n});\n","var $ = require('../internals/export');\nvar trimStart = require('../internals/string-trim-start');\n\n// `String.prototype.trimLeft` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimleft\n// eslint-disable-next-line es-x/no-string-prototype-trimleft-trimright -- safe\n$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, {\n trimLeft: trimStart\n});\n","var $ = require('../internals/export');\nvar trimEnd = require('../internals/string-trim-end');\n\n// `String.prototype.trimRight` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// eslint-disable-next-line es-x/no-string-prototype-trimleft-trimright -- safe\n$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, {\n trimRight: trimEnd\n});\n","// TODO: Remove this line from `core-js@4`\nrequire('../modules/es.string.trim-left');\nvar $ = require('../internals/export');\nvar trimStart = require('../internals/string-trim-start');\n\n// `String.prototype.trimStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.trimstart\n// eslint-disable-next-line es-x/no-string-prototype-trimstart-trimend -- safe\n$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, {\n trimStart: trimStart\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $ArrayCopyWithin = require('../internals/array-copy-within');\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n return call(\n $fill,\n aTypedArray(this),\n value,\n length > 1 ? arguments[1] : undefined,\n length > 2 ? arguments[2] : undefined\n );\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar exportTypedArrayStaticMethod = require('../internals/array-buffer-view-core').exportTypedArrayStaticMethod;\nvar typedArrayFrom = require('../internals/typed-array-from');\n\n// `%TypedArray%.from` method\n// https://tc39.es/ecma262/#sec-%typedarray%.from\nexportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod;\n\n// `%TypedArray%.of` method\n// https://tc39.es/ecma262/#sec-%typedarray%.of\nexportTypedArrayStaticMethod('of', function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = new (aTypedArrayConstructor(this))(length);\n while (length > index) result[index] = arguments[index++];\n return result;\n}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es-x/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n un$Sort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return un$Sort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return apply(\n $toLocaleString,\n TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n arraySlice(arguments)\n );\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn target.propertyIsEnumerable(symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {Context} from '../../core/context';\n\nexport class Bounds {\n constructor(readonly left: number, readonly top: number, readonly width: number, readonly height: number) {}\n\n add(x: number, y: number, w: number, h: number): Bounds {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n }\n\n static fromClientRect(context: Context, clientRect: ClientRect): Bounds {\n return new Bounds(\n clientRect.left + context.windowBounds.left,\n clientRect.top + context.windowBounds.top,\n clientRect.width,\n clientRect.height\n );\n }\n\n static fromDOMRectList(context: Context, domRectList: DOMRectList): Bounds {\n const domRect = Array.from(domRectList).find((rect) => rect.width !== 0);\n return domRect\n ? new Bounds(\n domRect.left + context.windowBounds.left,\n domRect.top + context.windowBounds.top,\n domRect.width,\n domRect.height\n )\n : Bounds.EMPTY;\n }\n\n static EMPTY = new Bounds(0, 0, 0, 0);\n}\n\nexport const parseBounds = (context: Context, node: Element): Bounds => {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\n\nexport const parseDocumentSize = (document: Document): Bounds => {\n const body = document.body;\n const documentElement = document.documentElement;\n\n if (!body || !documentElement) {\n throw new Error(`Unable to get document size`);\n }\n const width = Math.max(\n Math.max(body.scrollWidth, documentElement.scrollWidth),\n Math.max(body.offsetWidth, documentElement.offsetWidth),\n Math.max(body.clientWidth, documentElement.clientWidth)\n );\n\n const height = Math.max(\n Math.max(body.scrollHeight, documentElement.scrollHeight),\n Math.max(body.offsetHeight, documentElement.offsetHeight),\n Math.max(body.clientHeight, documentElement.clientHeight)\n );\n\n return new Bounds(0, 0, width, height);\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","export const base64 =\n 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\nexport const byteLength = 39664;\n","'use strict';\n\nimport {createTrieFromBase64} from 'utrie';\nimport {base64, byteLength} from './linebreak-trie';\nimport {fromCodePoint, toCodePoints} from './Util';\n\nexport const LETTER_NUMBER_MODIFIER = 50;\n\n// Non-tailorable Line Breaking Classes\nconst BK = 1; // Cause a line break (after)\nconst CR = 2; // Cause a line break (after), except between CR and LF\nconst LF = 3; // Cause a line break (after)\nconst CM = 4; // Prohibit a line break between the character and the preceding character\nconst NL = 5; // Cause a line break (after)\nconst SG = 6; // Do not occur in well-formed text\nconst WJ = 7; // Prohibit line breaks before and after\nconst ZW = 8; // Provide a break opportunity\nconst GL = 9; // Prohibit line breaks before and after\nconst SP = 10; // Enable indirect line breaks\nconst ZWJ = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nconst B2 = 12; // Provide a line break opportunity before and after the character\nconst BA = 13; // Generally provide a line break opportunity after the character\nconst BB = 14; // Generally provide a line break opportunity before the character\nconst HY = 15; // Provide a line break opportunity after the character, except in numeric context\nconst CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nconst CL = 17; // Prohibit line breaks before\nconst CP = 18; // Prohibit line breaks before\nconst EX = 19; // Prohibit line breaks before\nconst IN = 20; // Allow only indirect line breaks between pairs\nconst NS = 21; // Allow only indirect line breaks before\nconst OP = 22; // Prohibit line breaks after\nconst QU = 23; // Act like they are both opening and closing\n// Numeric Context\nconst IS = 24; // Prevent breaks after any and before numeric\nconst NU = 25; // Form numeric expressions for line breaking purposes\nconst PO = 26; // Do not break following a numeric expression\nconst PR = 27; // Do not break in front of a numeric expression\nconst SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nconst AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nconst AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nconst CJ = 31; // Treat as NS or ID for strict or normal breaking.\nconst EB = 32; // Do not break from following Emoji Modifier\nconst EM = 33; // Do not break from preceding Emoji Base\nconst H2 = 34; // Form Korean syllable blocks\nconst H3 = 35; // Form Korean syllable blocks\nconst HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nconst ID = 37; // Break before or after; except in some numeric context\nconst JL = 38; // Form Korean syllable blocks\nconst JV = 39; // Form Korean syllable blocks\nconst JT = 40; // Form Korean syllable blocks\nconst RI = 41; // Keep pairs together. For pairs; break before and after other classes\nconst SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nconst XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n\nconst ea_OP = [0x2329, 0xff08];\n\nexport const classes: {[key: string]: number} = {\n BK,\n CR,\n LF,\n CM,\n NL,\n SG,\n WJ,\n ZW,\n GL,\n SP,\n ZWJ,\n B2,\n BA,\n BB,\n HY,\n CB,\n CL,\n CP,\n EX,\n IN,\n NS,\n OP,\n QU,\n IS,\n NU,\n PO,\n PR,\n SY,\n AI,\n AL,\n CJ,\n EB,\n EM,\n H2,\n H3,\n HL,\n ID,\n JL,\n JV,\n JT,\n RI,\n SA,\n XX,\n};\n\nexport const BREAK_MANDATORY = '!';\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nconst ALPHABETICS = [AL, HL];\nconst HARD_LINE_BREAKS = [BK, CR, LF, NL];\nconst SPACE = [SP, ZW];\nconst PREFIX_POSTFIX = [PR, PO];\nconst LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);\nconst KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nconst HYPHEN = [HY, BA];\n\nexport const codePointsToCharacterClasses = (\n codePoints: number[],\n lineBreak: string = 'strict'\n): [number[], number[], boolean[]] => {\n const types: number[] = [];\n const indices: number[] = [];\n const categories: boolean[] = [];\n codePoints.forEach((codePoint, index) => {\n let classType = UnicodeTrie.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n } else {\n categories.push(false);\n }\n\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n\n if (classType === CM || classType === ZWJ) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n const prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n\n indices.push(index);\n\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n\n if (classType === SA) {\n return types.push(AL);\n }\n\n if (classType === AI) {\n return types.push(AL);\n }\n\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n } else {\n return types.push(AL);\n }\n }\n\n types.push(classType);\n });\n\n return [indices, types, categories];\n};\n\nconst isAdjacentWithSpaceIgnored = (\n a: number[] | number,\n b: number,\n currentIndex: number,\n classTypes: number[]\n): boolean => {\n const current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n let i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n let next = classTypes[i];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (current === SP) {\n let i = currentIndex;\n\n while (i > 0) {\n i--;\n const prev = classTypes[i];\n\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n let n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n let next = classTypes[n];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\n\nconst previousNonSpaceClassType = (currentIndex: number, classTypes: number[]): number => {\n let i = currentIndex;\n while (i >= 0) {\n let type = classTypes[i];\n if (type === SP) {\n i--;\n } else {\n return type;\n }\n }\n return 0;\n};\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED | typeof BREAK_MANDATORY;\n\nconst _lineBreakAtIndex = (\n codePoints: number[],\n classTypes: number[],\n indicies: number[],\n index: number,\n forbiddenBreaks?: boolean[]\n): BREAK_OPPORTUNITIES => {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n let currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED;\n }\n\n let beforeIndex = currentIndex - 1;\n let afterIndex = currentIndex + 1;\n let current = classTypes[currentIndex];\n\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n let before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n let next = classTypes[afterIndex];\n\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB7 Do not break before spaces or zero width space.\n if (SPACE.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED;\n }\n\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie.get(codePoints[afterIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED;\n }\n\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED;\n }\n\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if (\n (current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if (\n (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n let prevIndex = currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n let prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // LB26 Do not break a Korean syllable.\n if (\n (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB27 Treat a Korean Syllable Block the same as ID.\n if (\n (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if (\n (ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI && next === RI) {\n let i = indicies[currentIndex];\n let count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI) {\n count++;\n } else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED;\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const lineBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // LB2 Never break at the start of text.\n if (index === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB3 Always break at the end of text.\n if (index >= codePoints.length) {\n return BREAK_MANDATORY;\n }\n\n const [indices, classTypes] = codePointsToCharacterClasses(codePoints);\n\n return _lineBreakAtIndex(codePoints, classTypes, indices, index);\n};\n\nexport type LINE_BREAK = 'auto' | 'normal' | 'strict';\nexport type WORD_BREAK = 'normal' | 'break-all' | 'break-word' | 'keep-all';\n\ninterface IOptions {\n lineBreak?: LINE_BREAK;\n wordBreak?: WORD_BREAK;\n}\n\nconst cssFormattedClasses = (codePoints: number[], options?: IOptions): [number[], number[], boolean[] | undefined] => {\n if (!options) {\n options = {lineBreak: 'normal', wordBreak: 'normal'};\n }\n let [indicies, classTypes, isLetterNumber] = codePointsToCharacterClasses(codePoints, options.lineBreak);\n\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map((type) => ([NU, AL, SA].indexOf(type) !== -1 ? ID : type));\n }\n\n const forbiddenBreakpoints =\n options.wordBreak === 'keep-all'\n ? isLetterNumber.map((letterNumber, i) => {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n\n return [indicies, classTypes, forbiddenBreakpoints];\n};\n\nexport const inlineBreakOpportunities = (str: string, options?: IOptions): string => {\n const codePoints = toCodePoints(str);\n let output = BREAK_NOT_ALLOWED;\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n\n codePoints.forEach((codePoint, i) => {\n output +=\n fromCodePoint(codePoint) +\n (i >= codePoints.length - 1\n ? BREAK_MANDATORY\n : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints));\n });\n\n return output;\n};\n\nclass Break {\n private readonly codePoints: number[];\n readonly required: boolean;\n readonly start: number;\n readonly end: number;\n\n constructor(codePoints: number[], lineBreak: string, start: number, end: number) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n\n slice(): string {\n return fromCodePoint(...this.codePoints.slice(this.start, this.end));\n }\n}\n\nexport type LineBreak =\n | {\n done: true;\n value: null;\n }\n | {\n done: false;\n value: Break;\n };\n\ninterface ILineBreakIterator {\n next: () => LineBreak;\n}\n\nexport const LineBreaker = (str: string, options?: IOptions): ILineBreakIterator => {\n const codePoints = toCodePoints(str);\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n const length = codePoints.length;\n let lastEnd = 0;\n let nextIndex = 0;\n\n return {\n next: () => {\n if (nextIndex >= length) {\n return {done: true, value: null};\n }\n let lineBreak = BREAK_NOT_ALLOWED;\n while (\n nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED\n ) {}\n\n if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {\n const value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n },\n };\n};\n","// https://www.w3.org/TR/css-syntax-3\n\nimport {fromCodePoint, toCodePoints} from 'css-line-break';\n\nexport const enum TokenType {\n STRING_TOKEN,\n BAD_STRING_TOKEN,\n LEFT_PARENTHESIS_TOKEN,\n RIGHT_PARENTHESIS_TOKEN,\n COMMA_TOKEN,\n HASH_TOKEN,\n DELIM_TOKEN,\n AT_KEYWORD_TOKEN,\n PREFIX_MATCH_TOKEN,\n DASH_MATCH_TOKEN,\n INCLUDE_MATCH_TOKEN,\n LEFT_CURLY_BRACKET_TOKEN,\n RIGHT_CURLY_BRACKET_TOKEN,\n SUFFIX_MATCH_TOKEN,\n SUBSTRING_MATCH_TOKEN,\n DIMENSION_TOKEN,\n PERCENTAGE_TOKEN,\n NUMBER_TOKEN,\n FUNCTION,\n FUNCTION_TOKEN,\n IDENT_TOKEN,\n COLUMN_TOKEN,\n URL_TOKEN,\n BAD_URL_TOKEN,\n CDC_TOKEN,\n CDO_TOKEN,\n COLON_TOKEN,\n SEMICOLON_TOKEN,\n LEFT_SQUARE_BRACKET_TOKEN,\n RIGHT_SQUARE_BRACKET_TOKEN,\n UNICODE_RANGE_TOKEN,\n WHITESPACE_TOKEN,\n EOF_TOKEN\n}\n\ninterface IToken {\n type: TokenType;\n}\n\nexport interface Token extends IToken {\n type:\n | TokenType.BAD_URL_TOKEN\n | TokenType.BAD_STRING_TOKEN\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.RIGHT_PARENTHESIS_TOKEN\n | TokenType.COMMA_TOKEN\n | TokenType.SUBSTRING_MATCH_TOKEN\n | TokenType.PREFIX_MATCH_TOKEN\n | TokenType.SUFFIX_MATCH_TOKEN\n | TokenType.COLON_TOKEN\n | TokenType.SEMICOLON_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN\n | TokenType.RIGHT_CURLY_BRACKET_TOKEN\n | TokenType.DASH_MATCH_TOKEN\n | TokenType.INCLUDE_MATCH_TOKEN\n | TokenType.COLUMN_TOKEN\n | TokenType.WHITESPACE_TOKEN\n | TokenType.CDC_TOKEN\n | TokenType.CDO_TOKEN\n | TokenType.EOF_TOKEN;\n}\n\nexport interface StringValueToken extends IToken {\n type:\n | TokenType.STRING_TOKEN\n | TokenType.DELIM_TOKEN\n | TokenType.FUNCTION_TOKEN\n | TokenType.IDENT_TOKEN\n | TokenType.URL_TOKEN\n | TokenType.AT_KEYWORD_TOKEN;\n value: string;\n}\n\nexport interface HashToken extends IToken {\n type: TokenType.HASH_TOKEN;\n flags: number;\n value: string;\n}\n\nexport interface NumberValueToken extends IToken {\n type: TokenType.PERCENTAGE_TOKEN | TokenType.NUMBER_TOKEN;\n flags: number;\n number: number;\n}\n\nexport interface DimensionToken extends IToken {\n type: TokenType.DIMENSION_TOKEN;\n flags: number;\n unit: string;\n number: number;\n}\n\nexport interface UnicodeRangeToken extends IToken {\n type: TokenType.UNICODE_RANGE_TOKEN;\n start: number;\n end: number;\n}\n\nexport type CSSToken = Token | StringValueToken | NumberValueToken | DimensionToken | UnicodeRangeToken | HashToken;\n\nexport const FLAG_UNRESTRICTED = 1 << 0;\nexport const FLAG_ID = 1 << 1;\nexport const FLAG_INTEGER = 1 << 2;\nexport const FLAG_NUMBER = 1 << 3;\n\nconst LINE_FEED = 0x000a;\nconst SOLIDUS = 0x002f;\nconst REVERSE_SOLIDUS = 0x005c;\nconst CHARACTER_TABULATION = 0x0009;\nconst SPACE = 0x0020;\nconst QUOTATION_MARK = 0x0022;\nconst EQUALS_SIGN = 0x003d;\nconst NUMBER_SIGN = 0x0023;\nconst DOLLAR_SIGN = 0x0024;\nconst PERCENTAGE_SIGN = 0x0025;\nconst APOSTROPHE = 0x0027;\nconst LEFT_PARENTHESIS = 0x0028;\nconst RIGHT_PARENTHESIS = 0x0029;\nconst LOW_LINE = 0x005f;\nconst HYPHEN_MINUS = 0x002d;\nconst EXCLAMATION_MARK = 0x0021;\nconst LESS_THAN_SIGN = 0x003c;\nconst GREATER_THAN_SIGN = 0x003e;\nconst COMMERCIAL_AT = 0x0040;\nconst LEFT_SQUARE_BRACKET = 0x005b;\nconst RIGHT_SQUARE_BRACKET = 0x005d;\nconst CIRCUMFLEX_ACCENT = 0x003d;\nconst LEFT_CURLY_BRACKET = 0x007b;\nconst QUESTION_MARK = 0x003f;\nconst RIGHT_CURLY_BRACKET = 0x007d;\nconst VERTICAL_LINE = 0x007c;\nconst TILDE = 0x007e;\nconst CONTROL = 0x0080;\nconst REPLACEMENT_CHARACTER = 0xfffd;\nconst ASTERISK = 0x002a;\nconst PLUS_SIGN = 0x002b;\nconst COMMA = 0x002c;\nconst COLON = 0x003a;\nconst SEMICOLON = 0x003b;\nconst FULL_STOP = 0x002e;\nconst NULL = 0x0000;\nconst BACKSPACE = 0x0008;\nconst LINE_TABULATION = 0x000b;\nconst SHIFT_OUT = 0x000e;\nconst INFORMATION_SEPARATOR_ONE = 0x001f;\nconst DELETE = 0x007f;\nconst EOF = -1;\nconst ZERO = 0x0030;\nconst a = 0x0061;\nconst e = 0x0065;\nconst f = 0x0066;\nconst u = 0x0075;\nconst z = 0x007a;\nconst A = 0x0041;\nconst E = 0x0045;\nconst F = 0x0046;\nconst U = 0x0055;\nconst Z = 0x005a;\n\nconst isDigit = (codePoint: number) => codePoint >= ZERO && codePoint <= 0x0039;\nconst isSurrogateCodePoint = (codePoint: number) => codePoint >= 0xd800 && codePoint <= 0xdfff;\nconst isHex = (codePoint: number) =>\n isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\nconst isLowerCaseLetter = (codePoint: number) => codePoint >= a && codePoint <= z;\nconst isUpperCaseLetter = (codePoint: number) => codePoint >= A && codePoint <= Z;\nconst isLetter = (codePoint: number) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);\nconst isNonASCIICodePoint = (codePoint: number) => codePoint >= CONTROL;\nconst isWhiteSpace = (codePoint: number): boolean =>\n codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\nconst isNameStartCodePoint = (codePoint: number): boolean =>\n isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\nconst isNameCodePoint = (codePoint: number): boolean =>\n isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\nconst isNonPrintableCodePoint = (codePoint: number): boolean => {\n return (\n (codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE\n );\n};\nconst isValidEscape = (c1: number, c2: number): boolean => {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n\n return c2 !== LINE_FEED;\n};\nconst isIdentifierStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n } else if (isNameStartCodePoint(c1)) {\n return true;\n } else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\n\nconst isNumberStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n\n return c2 === FULL_STOP && isDigit(c3);\n }\n\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n\n return isDigit(c1);\n};\n\nconst stringToNumber = (codePoints: number[]): number => {\n let c = 0;\n let sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n\n const integers = [];\n\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n\n const int = integers.length ? parseInt(fromCodePoint(...integers), 10) : 0;\n\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n\n const fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n\n const fracd = fraction.length;\n const frac = fracd ? parseInt(fromCodePoint(...fraction), 10) : 0;\n\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n\n let expsign = 1;\n\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n\n const exponent = [];\n\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n\n const exp = exponent.length ? parseInt(fromCodePoint(...exponent), 10) : 0;\n\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\n\nconst LEFT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.LEFT_PARENTHESIS_TOKEN\n};\nconst RIGHT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.RIGHT_PARENTHESIS_TOKEN\n};\nconst COMMA_TOKEN: Token = {type: TokenType.COMMA_TOKEN};\nconst SUFFIX_MATCH_TOKEN: Token = {type: TokenType.SUFFIX_MATCH_TOKEN};\nconst PREFIX_MATCH_TOKEN: Token = {type: TokenType.PREFIX_MATCH_TOKEN};\nconst COLUMN_TOKEN: Token = {type: TokenType.COLUMN_TOKEN};\nconst DASH_MATCH_TOKEN: Token = {type: TokenType.DASH_MATCH_TOKEN};\nconst INCLUDE_MATCH_TOKEN: Token = {type: TokenType.INCLUDE_MATCH_TOKEN};\nconst LEFT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_CURLY_BRACKET_TOKEN\n};\nconst RIGHT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_CURLY_BRACKET_TOKEN\n};\nconst SUBSTRING_MATCH_TOKEN: Token = {type: TokenType.SUBSTRING_MATCH_TOKEN};\nconst BAD_URL_TOKEN: Token = {type: TokenType.BAD_URL_TOKEN};\nconst BAD_STRING_TOKEN: Token = {type: TokenType.BAD_STRING_TOKEN};\nconst CDO_TOKEN: Token = {type: TokenType.CDO_TOKEN};\nconst CDC_TOKEN: Token = {type: TokenType.CDC_TOKEN};\nconst COLON_TOKEN: Token = {type: TokenType.COLON_TOKEN};\nconst SEMICOLON_TOKEN: Token = {type: TokenType.SEMICOLON_TOKEN};\nconst LEFT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_SQUARE_BRACKET_TOKEN\n};\nconst RIGHT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n};\nconst WHITESPACE_TOKEN: Token = {type: TokenType.WHITESPACE_TOKEN};\nexport const EOF_TOKEN: Token = {type: TokenType.EOF_TOKEN};\n\nexport class Tokenizer {\n private _value: number[];\n\n constructor() {\n this._value = [];\n }\n\n write(chunk: string): void {\n this._value = this._value.concat(toCodePoints(chunk));\n }\n\n read(): CSSToken[] {\n const tokens = [];\n let token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n }\n\n private consumeToken(): CSSToken {\n const codePoint = this.consumeCodePoint();\n\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n const flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n const value = this.consumeName();\n\n return {type: TokenType.HASH_TOKEN, value, flags};\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n const e1 = codePoint;\n const e2 = this.peekCodePoint(0);\n const e3 = this.peekCodePoint(1);\n\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n let c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (\n this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS\n ) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n const a1 = this.peekCodePoint(0);\n const a2 = this.peekCodePoint(1);\n const a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n const value = this.consumeName();\n return {type: TokenType.AT_KEYWORD_TOKEN, value};\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n const u1 = this.peekCodePoint(0);\n const u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n return {type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint)};\n }\n\n private consumeCodePoint(): number {\n const value = this._value.shift();\n\n return typeof value === 'undefined' ? -1 : value;\n }\n\n private reconsumeCodePoint(codePoint: number) {\n this._value.unshift(codePoint);\n }\n\n private peekCodePoint(delta: number): number {\n if (delta >= this._value.length) {\n return -1;\n }\n\n return this._value[delta];\n }\n\n private consumeUnicodeRangeToken(): UnicodeRangeToken {\n const digits = [];\n let codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n let questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n\n if (questionMarks) {\n const start = parseInt(\n fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))),\n 16\n );\n const end = parseInt(fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n }\n\n const start = parseInt(fromCodePoint(...digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n const endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n const end = parseInt(fromCodePoint(...endDigits), 16);\n\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n } else {\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end: start};\n }\n }\n\n private consumeIdentLikeToken(): StringValueToken | Token {\n const value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n } else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.FUNCTION_TOKEN, value};\n }\n\n return {type: TokenType.IDENT_TOKEN, value};\n }\n\n private consumeUrlToken(): StringValueToken | Token {\n const value = [];\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF) {\n return {type: TokenType.URL_TOKEN, value: ''};\n }\n\n const next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n const stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === TokenType.STRING_TOKEN) {\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: stringToken.value};\n }\n }\n\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n } else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (\n codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)\n ) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n } else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n } else {\n value.push(codePoint);\n }\n }\n }\n\n private consumeWhiteSpace(): void {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n }\n\n private consumeBadUrlRemnants(): void {\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n }\n\n private consumeStringSlice(count: number): string {\n const SLICE_STACK_SIZE = 50000;\n let value = '';\n while (count > 0) {\n const amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint(...this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n\n return value;\n }\n\n private consumeStringToken(endingCodePoint: number): StringValueToken | Token {\n let value = '';\n let i = 0;\n\n do {\n const codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return {type: TokenType.STRING_TOKEN, value};\n }\n\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n\n if (codePoint === REVERSE_SOLIDUS) {\n const next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n } else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n\n i++;\n } while (true);\n }\n\n private consumeNumber() {\n const repr = [];\n let type = FLAG_INTEGER;\n let c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n let c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n return [stringToNumber(repr), type];\n }\n\n private consumeNumericToken(): NumberValueToken | DimensionToken {\n const [number, flags] = this.consumeNumber();\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n\n if (isIdentifierStart(c1, c2, c3)) {\n const unit = this.consumeName();\n return {type: TokenType.DIMENSION_TOKEN, number, flags, unit};\n }\n\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return {type: TokenType.PERCENTAGE_TOKEN, number, flags};\n }\n\n return {type: TokenType.NUMBER_TOKEN, number, flags};\n }\n\n private consumeEscapedCodePoint(): number {\n const codePoint = this.consumeCodePoint();\n\n if (isHex(codePoint)) {\n let hex = fromCodePoint(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint(this.consumeCodePoint());\n }\n\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n\n const hexCodePoint = parseInt(hex, 16);\n\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n\n return hexCodePoint;\n }\n\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n\n return codePoint;\n }\n\n private consumeName(): string {\n let result = '';\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint(codePoint);\n } else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint(this.consumeEscapedCodePoint());\n } else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n }\n}\n","import {\n CSSToken,\n DimensionToken,\n EOF_TOKEN,\n NumberValueToken,\n StringValueToken,\n Tokenizer,\n TokenType\n} from './tokenizer';\n\nexport type CSSBlockType =\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN;\n\nexport interface CSSBlock {\n type: CSSBlockType;\n values: CSSValue[];\n}\n\nexport interface CSSFunction {\n type: TokenType.FUNCTION;\n name: string;\n values: CSSValue[];\n}\n\nexport type CSSValue = CSSFunction | CSSToken | CSSBlock;\n\nexport class Parser {\n private _tokens: CSSToken[];\n\n constructor(tokens: CSSToken[]) {\n this._tokens = tokens;\n }\n\n static create(value: string): Parser {\n const tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n }\n\n static parseValue(value: string): CSSValue {\n return Parser.create(value).parseComponentValue();\n }\n\n static parseValues(value: string): CSSValue[] {\n return Parser.create(value).parseComponentValues();\n }\n\n parseComponentValue(): CSSValue {\n let token = this.consumeToken();\n while (token.type === TokenType.WHITESPACE_TOKEN) {\n token = this.consumeToken();\n }\n\n if (token.type === TokenType.EOF_TOKEN) {\n throw new SyntaxError(`Error parsing CSS component value, unexpected EOF`);\n }\n\n this.reconsumeToken(token);\n const value = this.consumeComponentValue();\n\n do {\n token = this.consumeToken();\n } while (token.type === TokenType.WHITESPACE_TOKEN);\n\n if (token.type === TokenType.EOF_TOKEN) {\n return value;\n }\n\n throw new SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`);\n }\n\n parseComponentValues(): CSSValue[] {\n const values = [];\n while (true) {\n const value = this.consumeComponentValue();\n if (value.type === TokenType.EOF_TOKEN) {\n return values;\n }\n values.push(value);\n values.push();\n }\n }\n\n private consumeComponentValue(): CSSValue {\n const token = this.consumeToken();\n\n switch (token.type) {\n case TokenType.LEFT_CURLY_BRACKET_TOKEN:\n case TokenType.LEFT_SQUARE_BRACKET_TOKEN:\n case TokenType.LEFT_PARENTHESIS_TOKEN:\n return this.consumeSimpleBlock(token.type);\n case TokenType.FUNCTION_TOKEN:\n return this.consumeFunction(token);\n }\n\n return token;\n }\n\n private consumeSimpleBlock(type: CSSBlockType): CSSBlock {\n const block: CSSBlock = {type, values: []};\n\n let token = this.consumeToken();\n while (true) {\n if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {\n return block;\n }\n\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n }\n\n private consumeFunction(functionToken: StringValueToken): CSSFunction {\n const cssFunction: CSSFunction = {\n name: functionToken.value,\n values: [],\n type: TokenType.FUNCTION\n };\n\n while (true) {\n const token = this.consumeToken();\n if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {\n return cssFunction;\n }\n\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n }\n\n private consumeToken(): CSSToken {\n const token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n }\n\n private reconsumeToken(token: CSSToken): void {\n this._tokens.unshift(token);\n }\n}\n\nexport const isDimensionToken = (token: CSSValue): token is DimensionToken => token.type === TokenType.DIMENSION_TOKEN;\nexport const isNumberToken = (token: CSSValue): token is NumberValueToken => token.type === TokenType.NUMBER_TOKEN;\nexport const isIdentToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.IDENT_TOKEN;\nexport const isStringToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.STRING_TOKEN;\nexport const isIdentWithValue = (token: CSSValue, value: string): boolean =>\n isIdentToken(token) && token.value === value;\n\nexport const nonWhiteSpace = (token: CSSValue): boolean => token.type !== TokenType.WHITESPACE_TOKEN;\nexport const nonFunctionArgSeparator = (token: CSSValue): boolean =>\n token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;\n\nexport const parseFunctionArgs = (tokens: CSSValue[]): CSSValue[][] => {\n const args: CSSValue[][] = [];\n let arg: CSSValue[] = [];\n tokens.forEach((token) => {\n if (token.type === TokenType.COMMA_TOKEN) {\n if (arg.length === 0) {\n throw new Error(`Error parsing function args, zero tokens for arg`);\n }\n args.push(arg);\n arg = [];\n return;\n }\n\n if (token.type !== TokenType.WHITESPACE_TOKEN) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n\n return args;\n};\n\nconst isEndingTokenFor = (token: CSSToken, type: CSSBlockType): boolean => {\n if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {\n return true;\n }\n if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {\n return true;\n }\n\n return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;\n};\n","import {CSSValue} from '../syntax/parser';\nimport {DimensionToken, NumberValueToken, TokenType} from '../syntax/tokenizer';\n\nexport type Length = DimensionToken | NumberValueToken;\n\nexport const isLength = (token: CSSValue): token is Length =>\n token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;\n","import {DimensionToken, FLAG_INTEGER, NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {isLength} from './length';\nexport type LengthPercentage = DimensionToken | NumberValueToken;\nexport type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];\n\nexport const isLengthPercentage = (token: CSSValue): token is LengthPercentage =>\n token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);\nexport const parseLengthPercentageTuple = (tokens: LengthPercentage[]): LengthPercentageTuple =>\n tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\nexport const ZERO_LENGTH: NumberValueToken = {\n type: TokenType.NUMBER_TOKEN,\n number: 0,\n flags: FLAG_INTEGER\n};\n\nexport const FIFTY_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\n\nexport const HUNDRED_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 100,\n flags: FLAG_INTEGER\n};\n\nexport const getAbsoluteValueForTuple = (\n tuple: LengthPercentageTuple,\n width: number,\n height: number\n): [number, number] => {\n const [x, y] = tuple;\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nexport const getAbsoluteValue = (token: LengthPercentage, parent: number): number => {\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n return (token.number / 100) * parent;\n }\n\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n\n return token.number;\n};\n","import {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {HUNDRED_PERCENT, ZERO_LENGTH} from './length-percentage';\nimport {GradientCorner} from './image';\nimport {Context} from '../../core/context';\n\nconst DEG = 'deg';\nconst GRAD = 'grad';\nconst RAD = 'rad';\nconst TURN = 'turn';\n\nexport const angle: ITypeDescriptor = {\n name: 'angle',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n\n throw new Error(`Unsupported angle type`);\n }\n};\n\nexport const isAngle = (value: CSSValue): boolean => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\n\nexport const parseNamedSide = (tokens: CSSValue[]): number | GradientCorner => {\n const sideOrCorner = tokens\n .filter(isIdentToken)\n .map((ident) => ident.value)\n .join(' ');\n\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n\n return 0;\n};\n\nexport const deg = (deg: number): number => (Math.PI * deg) / 180;\n","import {CSSValue, nonFunctionArgSeparator, Parser} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {angle, deg} from './angle';\nimport {getAbsoluteValue, isLengthPercentage} from './length-percentage';\nimport {Context} from '../../core/context';\nexport type Color = number;\n\nexport const color: ITypeDescriptor = {\n name: 'color',\n parse: (context: Context, value: CSSValue): Color => {\n if (value.type === TokenType.FUNCTION) {\n const colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported color function \"${value.name}\"`);\n }\n return colorFunction(context, value.values);\n }\n\n if (value.type === TokenType.HASH_TOKEN) {\n if (value.value.length === 3) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n\n if (value.value.length === 4) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n const a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n\n if (value.value.length === 6) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n\n if (value.value.length === 8) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n const a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n\n if (value.type === TokenType.IDENT_TOKEN) {\n const namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n\n return COLORS.TRANSPARENT;\n }\n};\n\nexport const isTransparent = (color: Color): boolean => (0xff & color) === 0;\n\nexport const asString = (color: Color): string => {\n const alpha = 0xff & color;\n const blue = 0xff & (color >> 8);\n const green = 0xff & (color >> 16);\n const red = 0xff & (color >> 24);\n return alpha < 255 ? `rgba(${red},${green},${blue},${alpha / 255})` : `rgb(${red},${green},${blue})`;\n};\n\nexport const pack = (r: number, g: number, b: number, a: number): Color =>\n ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n\nconst getTokenColorValue = (token: CSSValue, i: number): number => {\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n const max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n\n return 0;\n};\n\nconst rgb = (_context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n\n if (tokens.length === 3) {\n const [r, g, b] = tokens.map(getTokenColorValue);\n return pack(r, g, b, 1);\n }\n\n if (tokens.length === 4) {\n const [r, g, b, a] = tokens.map(getTokenColorValue);\n return pack(r, g, b, a);\n }\n\n return 0;\n};\n\nfunction hue2rgb(t1: number, t2: number, hue: number): number {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n } else if (hue < 1 / 2) {\n return t2;\n } else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n } else {\n return t1;\n }\n}\n\nconst hsl = (context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n const [hue, saturation, lightness, alpha] = tokens;\n\n const h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n const s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n const l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n const a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n\n const t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n\n const t1 = l * 2 - t2;\n const r = hue2rgb(t1, t2, h + 1 / 3);\n const g = hue2rgb(t1, t2, h);\n const b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\n\nconst SUPPORTED_COLOR_FUNCTIONS: {\n [key: string]: (context: Context, args: CSSValue[]) => number;\n} = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\n\nexport const parseColor = (context: Context, value: string): Color =>\n color.parse(context, Parser.create(value).parseComponentValue());\n\nexport const COLORS: {[key: string]: Color} = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum BACKGROUND_CLIP {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundClip = BACKGROUND_CLIP[];\n\nexport const backgroundClip: IPropertyListDescriptor = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundClip => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_CLIP.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_CLIP.CONTENT_BOX;\n }\n }\n return BACKGROUND_CLIP.BORDER_BOX;\n });\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const backgroundColor: IPropertyTypeValueDescriptor = {\n name: `background-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue} from '../../syntax/parser';\nimport {\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n GradientColorStop,\n GradientCorner,\n UnprocessedGradientColorStop\n} from '../image';\nimport {color as colorType} from '../color';\nimport {getAbsoluteValue, HUNDRED_PERCENT, isLengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const parseColorStop = (context: Context, args: CSSValue[]): UnprocessedGradientColorStop => {\n const color = colorType.parse(context, args[0]);\n const stop = args[1];\n return stop && isLengthPercentage(stop) ? {color, stop} : {color, stop: null};\n};\n\nexport const processColorStops = (stops: UnprocessedGradientColorStop[], lineLength: number): GradientColorStop[] => {\n const first = stops[0];\n const last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n\n const processStops: (number | null)[] = [];\n let previous = 0;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i].stop;\n if (stop !== null) {\n const absoluteValue = getAbsoluteValue(stop, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n } else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n } else {\n processStops.push(null);\n }\n }\n\n let gapBegin = null;\n for (let i = 0; i < processStops.length; i++) {\n const stop = processStops[i];\n if (stop === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n } else if (gapBegin !== null) {\n const gapLength = i - gapBegin;\n const beforeGap = processStops[gapBegin - 1] as number;\n const gapValue = (stop - beforeGap) / (gapLength + 1);\n for (let g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n\n return stops.map(({color}, i) => {\n return {color, stop: Math.max(Math.min(1, (processStops[i] as number) / lineLength), 0)};\n });\n};\n\nconst getAngleFromCorner = (corner: GradientCorner, width: number, height: number): number => {\n const centerX = width / 2;\n const centerY = height / 2;\n const x = getAbsoluteValue(corner[0], width) - centerX;\n const y = centerY - getAbsoluteValue(corner[1], height);\n\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\n\nexport const calculateGradientDirection = (\n angle: number | GradientCorner,\n width: number,\n height: number\n): [number, number, number, number, number] => {\n const radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n\n const lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n\n const halfWidth = width / 2;\n const halfHeight = height / 2;\n const halfLineLength = lineLength / 2;\n\n const yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n const xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\n\nconst distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);\n\nconst findCorner = (width: number, height: number, x: number, y: number, closest: boolean): [number, number] => {\n const corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n\n return corners.reduce(\n (stat, corner) => {\n const [cx, cy] = corner;\n const d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n\n return stat;\n },\n {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }\n ).optimumCorner as [number, number];\n};\n\nexport const calculateRadius = (\n gradient: CSSRadialGradientImage,\n x: number,\n y: number,\n width: number,\n height: number\n): [number, number] => {\n let rx = 0;\n let ry = 0;\n\n switch (gradient.size) {\n case CSSRadialExtent.CLOSEST_SIDE:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.CLOSEST_CORNER:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n const c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, true);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n\n case CSSRadialExtent.FARTHEST_SIDE:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.FARTHEST_CORNER:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n const c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, false);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n\n return [rx, ry];\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const linearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = angleType.parse(context, firstToken);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {angle, stops, type: CSSImageType.LINEAR_GRADIENT};\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixLinearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (\n firstToken.type === TokenType.IDENT_TOKEN &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1\n ) {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = (angleType.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {\n angle,\n stops,\n type: CSSImageType.LINEAR_GRADIENT\n };\n};\n","import {CSSValue, isIdentToken, isNumberToken, nonFunctionArgSeparator, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSLinearGradientImage,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {deg} from '../angle';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {color as colorType} from '../color';\nimport {HUNDRED_PERCENT, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const webkitGradient = (\n context: Context,\n tokens: CSSValue[]\n): CSSLinearGradientImage | CSSRadialGradientImage => {\n const angle = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n let type = CSSImageType.LINEAR_GRADIENT;\n const shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n const size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n const firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = CSSImageType.LINEAR_GRADIENT;\n return;\n } else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = CSSImageType.RADIAL_GRADIENT;\n return;\n }\n }\n\n if (firstToken.type === TokenType.FUNCTION) {\n if (firstToken.name === 'from') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: ZERO_LENGTH, color});\n } else if (firstToken.name === 'to') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: HUNDRED_PERCENT, color});\n } else if (firstToken.name === 'color-stop') {\n const values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n const color = colorType.parse(context, values[1]);\n const stop = values[0];\n if (isNumberToken(stop)) {\n stops.push({\n stop: {type: TokenType.PERCENTAGE_TOKEN, number: stop.number * 100, flags: stop.flags},\n color\n });\n }\n }\n }\n }\n });\n\n return type === CSSImageType.LINEAR_GRADIENT\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops,\n type\n }\n : {size, shape, stops, position, type};\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {Context} from '../../../core/context';\nexport const CLOSEST_SIDE = 'closest-side';\nexport const FARTHEST_SIDE = 'farthest-side';\nexport const CLOSEST_CORNER = 'closest-corner';\nexport const FARTHEST_CORNER = 'farthest-corner';\nexport const CIRCLE = 'circle';\nexport const ELLIPSE = 'ellipse';\nexport const COVER = 'cover';\nexport const CONTAIN = 'contain';\n\nexport const radialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n let isAtPosition = false;\n isColorStop = arg.reduce((acc, token) => {\n if (isAtPosition) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n } else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case 'at':\n isAtPosition = true;\n return false;\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {\n CIRCLE,\n CLOSEST_CORNER,\n CLOSEST_SIDE,\n CONTAIN,\n COVER,\n ELLIPSE,\n FARTHEST_CORNER,\n FARTHEST_SIDE\n} from './radial-gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixRadialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n } else if (i === 1) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Color} from './color';\nimport {linearGradient} from './functions/linear-gradient';\nimport {prefixLinearGradient} from './functions/-prefix-linear-gradient';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {LengthPercentage} from './length-percentage';\nimport {webkitGradient} from './functions/-webkit-gradient';\nimport {radialGradient} from './functions/radial-gradient';\nimport {prefixRadialGradient} from './functions/-prefix-radial-gradient';\nimport {Context} from '../../core/context';\n\nexport const enum CSSImageType {\n URL,\n LINEAR_GRADIENT,\n RADIAL_GRADIENT\n}\n\nexport const isLinearGradient = (background: ICSSImage): background is CSSLinearGradientImage => {\n return background.type === CSSImageType.LINEAR_GRADIENT;\n};\n\nexport const isRadialGradient = (background: ICSSImage): background is CSSRadialGradientImage => {\n return background.type === CSSImageType.RADIAL_GRADIENT;\n};\n\nexport interface UnprocessedGradientColorStop {\n color: Color;\n stop: LengthPercentage | null;\n}\n\nexport interface GradientColorStop {\n color: Color;\n stop: number;\n}\n\nexport interface ICSSImage {\n type: CSSImageType;\n}\n\nexport interface CSSURLImage extends ICSSImage {\n url: string;\n type: CSSImageType.URL;\n}\n\n// interface ICSSGeneratedImage extends ICSSImage {}\n\nexport type GradientCorner = [LengthPercentage, LengthPercentage];\n\ninterface ICSSGradientImage extends ICSSImage {\n stops: UnprocessedGradientColorStop[];\n}\n\nexport interface CSSLinearGradientImage extends ICSSGradientImage {\n angle: number | GradientCorner;\n type: CSSImageType.LINEAR_GRADIENT;\n}\n\nexport const enum CSSRadialShape {\n CIRCLE,\n ELLIPSE\n}\n\nexport const enum CSSRadialExtent {\n CLOSEST_SIDE,\n FARTHEST_SIDE,\n CLOSEST_CORNER,\n FARTHEST_CORNER\n}\n\nexport type CSSRadialSize = CSSRadialExtent | LengthPercentage[];\n\nexport interface CSSRadialGradientImage extends ICSSGradientImage {\n type: CSSImageType.RADIAL_GRADIENT;\n shape: CSSRadialShape;\n size: CSSRadialSize;\n position: LengthPercentage[];\n}\n\nexport const image: ITypeDescriptor = {\n name: 'image',\n parse: (context: Context, value: CSSValue): ICSSImage => {\n if (value.type === TokenType.URL_TOKEN) {\n const image: CSSURLImage = {url: value.value, type: CSSImageType.URL};\n context.cache.addImage(value.value);\n return image;\n }\n\n if (value.type === TokenType.FUNCTION) {\n const imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported image function \"${value.name}\"`);\n }\n return imageFunction(context, value.values);\n }\n\n throw new Error(`Unsupported image type ${value.type}`);\n }\n};\n\nexport function isSupportedImage(value: CSSValue): boolean {\n return (\n !(value.type === TokenType.IDENT_TOKEN && value.value === 'none') &&\n (value.type !== TokenType.FUNCTION || !!SUPPORTED_IMAGE_FUNCTIONS[value.name])\n );\n}\n\nconst SUPPORTED_IMAGE_FUNCTIONS: Record ICSSImage> = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {StringValueToken} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport enum BACKGROUND_SIZE {\n AUTO = 'auto',\n CONTAIN = 'contain',\n COVER = 'cover'\n}\n\nexport type BackgroundSizeInfo = LengthPercentage | StringValueToken;\nexport type BackgroundSize = BackgroundSizeInfo[][];\n\nexport const backgroundSize: IPropertyListDescriptor = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundSize => {\n return parseFunctionArgs(tokens).map((values) => values.filter(isBackgroundSizeInfoToken));\n }\n};\n\nconst isBackgroundSizeInfoToken = (value: CSSValue): value is BackgroundSizeInfo =>\n isIdentToken(value) || isLengthPercentage(value);\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image, isSupportedImage} from '../types/image';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, nonFunctionArgSeparator} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const backgroundImage: IPropertyListDescriptor = {\n name: 'background-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens\n .filter((value) => nonFunctionArgSeparator(value) && isSupportedImage(value))\n .map((value) => image.parse(context, value));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum BACKGROUND_ORIGIN {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundOrigin = BACKGROUND_ORIGIN[];\n\nexport const backgroundOrigin: IPropertyListDescriptor = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundOrigin => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_ORIGIN.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_ORIGIN.CONTENT_BOX;\n }\n }\n return BACKGROUND_ORIGIN.BORDER_BOX;\n });\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BackgroundPosition = BackgroundImagePosition[];\n\nexport type BackgroundImagePosition = LengthPercentageTuple;\n\nexport const backgroundPosition: IPropertyListDescriptor = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundPosition => {\n return parseFunctionArgs(tokens)\n .map((values: CSSValue[]) => values.filter(isLengthPercentage))\n .map(parseLengthPercentageTuple);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport type BackgroundRepeat = BACKGROUND_REPEAT[];\n\nexport const enum BACKGROUND_REPEAT {\n REPEAT = 0,\n NO_REPEAT = 1,\n REPEAT_X = 2,\n REPEAT_Y = 3\n}\n\nexport const backgroundRepeat: IPropertyListDescriptor = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundRepeat => {\n return parseFunctionArgs(tokens)\n .map((values) =>\n values\n .filter(isIdentToken)\n .map((token) => token.value)\n .join(' ')\n )\n .map(parseBackgroundRepeat);\n }\n};\n\nconst parseBackgroundRepeat = (value: string): BACKGROUND_REPEAT => {\n switch (value) {\n case 'no-repeat':\n return BACKGROUND_REPEAT.NO_REPEAT;\n case 'repeat-x':\n case 'repeat no-repeat':\n return BACKGROUND_REPEAT.REPEAT_X;\n case 'repeat-y':\n case 'no-repeat repeat':\n return BACKGROUND_REPEAT.REPEAT_Y;\n case 'repeat':\n default:\n return BACKGROUND_REPEAT.REPEAT;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum LINE_BREAK {\n NORMAL = 'normal',\n STRICT = 'strict'\n}\n\nexport const lineBreak: IPropertyIdentValueDescriptor = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, lineBreak: string): LINE_BREAK => {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nconst borderColorForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `border-${side}-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n});\n\nexport const borderTopColor: IPropertyTypeValueDescriptor = borderColorForSide('top');\nexport const borderRightColor: IPropertyTypeValueDescriptor = borderColorForSide('right');\nexport const borderBottomColor: IPropertyTypeValueDescriptor = borderColorForSide('bottom');\nexport const borderLeftColor: IPropertyTypeValueDescriptor = borderColorForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BorderRadius = LengthPercentageTuple;\n\nconst borderRadiusForSide = (side: string): IPropertyListDescriptor => ({\n name: `border-radius-${side}`,\n initialValue: '0 0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BorderRadius =>\n parseLengthPercentageTuple(tokens.filter(isLengthPercentage))\n});\n\nexport const borderTopLeftRadius: IPropertyListDescriptor = borderRadiusForSide('top-left');\nexport const borderTopRightRadius: IPropertyListDescriptor = borderRadiusForSide('top-right');\nexport const borderBottomRightRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-right');\nexport const borderBottomLeftRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum BORDER_STYLE {\n NONE = 0,\n SOLID = 1,\n DASHED = 2,\n DOTTED = 3,\n DOUBLE = 4\n}\n\nconst borderStyleForSide = (side: string): IPropertyIdentValueDescriptor => ({\n name: `border-${side}-style`,\n initialValue: 'solid',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, style: string): BORDER_STYLE => {\n switch (style) {\n case 'none':\n return BORDER_STYLE.NONE;\n case 'dashed':\n return BORDER_STYLE.DASHED;\n case 'dotted':\n return BORDER_STYLE.DOTTED;\n case 'double':\n return BORDER_STYLE.DOUBLE;\n }\n return BORDER_STYLE.SOLID;\n }\n});\n\nexport const borderTopStyle: IPropertyIdentValueDescriptor = borderStyleForSide('top');\nexport const borderRightStyle: IPropertyIdentValueDescriptor = borderStyleForSide('right');\nexport const borderBottomStyle: IPropertyIdentValueDescriptor = borderStyleForSide('bottom');\nexport const borderLeftStyle: IPropertyIdentValueDescriptor = borderStyleForSide('left');\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nconst borderWidthForSide = (side: string): IPropertyValueDescriptor => ({\n name: `border-${side}-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n});\n\nexport const borderTopWidth: IPropertyValueDescriptor = borderWidthForSide('top');\nexport const borderRightWidth: IPropertyValueDescriptor = borderWidthForSide('right');\nexport const borderBottomWidth: IPropertyValueDescriptor = borderWidthForSide('bottom');\nexport const borderLeftWidth: IPropertyValueDescriptor = borderWidthForSide('left');\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const color: IPropertyTypeValueDescriptor = {\n name: `color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\n\nexport const enum DIRECTION {\n LTR = 0,\n RTL = 1\n}\n\nexport const direction: IPropertyIdentValueDescriptor = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, direction: string) => {\n switch (direction) {\n case 'rtl':\n return DIRECTION.RTL;\n case 'ltr':\n default:\n return DIRECTION.LTR;\n }\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum DISPLAY {\n NONE = 0,\n BLOCK = 1 << 1,\n INLINE = 1 << 2,\n RUN_IN = 1 << 3,\n FLOW = 1 << 4,\n FLOW_ROOT = 1 << 5,\n TABLE = 1 << 6,\n FLEX = 1 << 7,\n GRID = 1 << 8,\n RUBY = 1 << 9,\n SUBGRID = 1 << 10,\n LIST_ITEM = 1 << 11,\n TABLE_ROW_GROUP = 1 << 12,\n TABLE_HEADER_GROUP = 1 << 13,\n TABLE_FOOTER_GROUP = 1 << 14,\n TABLE_ROW = 1 << 15,\n TABLE_CELL = 1 << 16,\n TABLE_COLUMN_GROUP = 1 << 17,\n TABLE_COLUMN = 1 << 18,\n TABLE_CAPTION = 1 << 19,\n RUBY_BASE = 1 << 20,\n RUBY_TEXT = 1 << 21,\n RUBY_BASE_CONTAINER = 1 << 22,\n RUBY_TEXT_CONTAINER = 1 << 23,\n CONTENTS = 1 << 24,\n INLINE_BLOCK = 1 << 25,\n INLINE_LIST_ITEM = 1 << 26,\n INLINE_TABLE = 1 << 27,\n INLINE_FLEX = 1 << 28,\n INLINE_GRID = 1 << 29\n}\n\nexport type Display = number;\n\nexport const display: IPropertyListDescriptor = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): Display => {\n return tokens.filter(isIdentToken).reduce((bit, token) => {\n return bit | parseDisplayValue(token.value);\n }, DISPLAY.NONE);\n }\n};\n\nconst parseDisplayValue = (display: string): Display => {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return DISPLAY.BLOCK;\n case 'inline':\n return DISPLAY.INLINE;\n case 'run-in':\n return DISPLAY.RUN_IN;\n case 'flow':\n return DISPLAY.FLOW;\n case 'flow-root':\n return DISPLAY.FLOW_ROOT;\n case 'table':\n return DISPLAY.TABLE;\n case 'flex':\n case '-webkit-flex':\n return DISPLAY.FLEX;\n case 'grid':\n case '-ms-grid':\n return DISPLAY.GRID;\n case 'ruby':\n return DISPLAY.RUBY;\n case 'subgrid':\n return DISPLAY.SUBGRID;\n case 'list-item':\n return DISPLAY.LIST_ITEM;\n case 'table-row-group':\n return DISPLAY.TABLE_ROW_GROUP;\n case 'table-header-group':\n return DISPLAY.TABLE_HEADER_GROUP;\n case 'table-footer-group':\n return DISPLAY.TABLE_FOOTER_GROUP;\n case 'table-row':\n return DISPLAY.TABLE_ROW;\n case 'table-cell':\n return DISPLAY.TABLE_CELL;\n case 'table-column-group':\n return DISPLAY.TABLE_COLUMN_GROUP;\n case 'table-column':\n return DISPLAY.TABLE_COLUMN;\n case 'table-caption':\n return DISPLAY.TABLE_CAPTION;\n case 'ruby-base':\n return DISPLAY.RUBY_BASE;\n case 'ruby-text':\n return DISPLAY.RUBY_TEXT;\n case 'ruby-base-container':\n return DISPLAY.RUBY_BASE_CONTAINER;\n case 'ruby-text-container':\n return DISPLAY.RUBY_TEXT_CONTAINER;\n case 'contents':\n return DISPLAY.CONTENTS;\n case 'inline-block':\n return DISPLAY.INLINE_BLOCK;\n case 'inline-list-item':\n return DISPLAY.INLINE_LIST_ITEM;\n case 'inline-table':\n return DISPLAY.INLINE_TABLE;\n case 'inline-flex':\n return DISPLAY.INLINE_FLEX;\n case 'inline-grid':\n return DISPLAY.INLINE_GRID;\n }\n\n return DISPLAY.NONE;\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FLOAT {\n NONE = 0,\n LEFT = 1,\n RIGHT = 2,\n INLINE_START = 3,\n INLINE_END = 4\n}\n\nexport const float: IPropertyIdentValueDescriptor = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, float: string) => {\n switch (float) {\n case 'left':\n return FLOAT.LEFT;\n case 'right':\n return FLOAT.RIGHT;\n case 'inline-start':\n return FLOAT.INLINE_START;\n case 'inline-end':\n return FLOAT.INLINE_END;\n }\n return FLOAT.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport const letterSpacing: IPropertyValueDescriptor = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') {\n return 0;\n }\n\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.DIMENSION_TOKEN) {\n return token.number;\n }\n\n return 0;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum WORD_BREAK {\n NORMAL = 'normal',\n BREAK_ALL = 'break-all',\n KEEP_ALL = 'keep-all'\n}\n\nexport const wordBreak: IPropertyIdentValueDescriptor = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, wordBreak: string): WORD_BREAK => {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {getAbsoluteValue, isLengthPercentage} from '../types/length-percentage';\nexport const lineHeight: IPropertyTokenValueDescriptor = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n};\n\nexport const computeLineHeight = (token: CSSValue, fontSize: number): number => {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n } else if (token.type === TokenType.NUMBER_TOKEN) {\n return fontSize * token.number;\n } else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n\n return fontSize;\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image} from '../types/image';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const listStyleImage: IPropertyValueDescriptor = {\n name: 'list-style-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n return image.parse(context, token);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_POSITION {\n INSIDE = 0,\n OUTSIDE = 1\n}\n\nexport const listStylePosition: IPropertyIdentValueDescriptor = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'inside':\n return LIST_STYLE_POSITION.INSIDE;\n case 'outside':\n default:\n return LIST_STYLE_POSITION.OUTSIDE;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_TYPE {\n NONE = -1,\n DISC = 0,\n CIRCLE = 1,\n SQUARE = 2,\n DECIMAL = 3,\n CJK_DECIMAL = 4,\n DECIMAL_LEADING_ZERO = 5,\n LOWER_ROMAN = 6,\n UPPER_ROMAN = 7,\n LOWER_GREEK = 8,\n LOWER_ALPHA = 9,\n UPPER_ALPHA = 10,\n ARABIC_INDIC = 11,\n ARMENIAN = 12,\n BENGALI = 13,\n CAMBODIAN = 14,\n CJK_EARTHLY_BRANCH = 15,\n CJK_HEAVENLY_STEM = 16,\n CJK_IDEOGRAPHIC = 17,\n DEVANAGARI = 18,\n ETHIOPIC_NUMERIC = 19,\n GEORGIAN = 20,\n GUJARATI = 21,\n GURMUKHI = 22,\n HEBREW = 22,\n HIRAGANA = 23,\n HIRAGANA_IROHA = 24,\n JAPANESE_FORMAL = 25,\n JAPANESE_INFORMAL = 26,\n KANNADA = 27,\n KATAKANA = 28,\n KATAKANA_IROHA = 29,\n KHMER = 30,\n KOREAN_HANGUL_FORMAL = 31,\n KOREAN_HANJA_FORMAL = 32,\n KOREAN_HANJA_INFORMAL = 33,\n LAO = 34,\n LOWER_ARMENIAN = 35,\n MALAYALAM = 36,\n MONGOLIAN = 37,\n MYANMAR = 38,\n ORIYA = 39,\n PERSIAN = 40,\n SIMP_CHINESE_FORMAL = 41,\n SIMP_CHINESE_INFORMAL = 42,\n TAMIL = 43,\n TELUGU = 44,\n THAI = 45,\n TIBETAN = 46,\n TRAD_CHINESE_FORMAL = 47,\n TRAD_CHINESE_INFORMAL = 48,\n UPPER_ARMENIAN = 49,\n DISCLOSURE_OPEN = 50,\n DISCLOSURE_CLOSED = 51\n}\n\nexport const listStyleType: IPropertyIdentValueDescriptor = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, type: string) => {\n switch (type) {\n case 'disc':\n return LIST_STYLE_TYPE.DISC;\n case 'circle':\n return LIST_STYLE_TYPE.CIRCLE;\n case 'square':\n return LIST_STYLE_TYPE.SQUARE;\n case 'decimal':\n return LIST_STYLE_TYPE.DECIMAL;\n case 'cjk-decimal':\n return LIST_STYLE_TYPE.CJK_DECIMAL;\n case 'decimal-leading-zero':\n return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;\n case 'lower-roman':\n return LIST_STYLE_TYPE.LOWER_ROMAN;\n case 'upper-roman':\n return LIST_STYLE_TYPE.UPPER_ROMAN;\n case 'lower-greek':\n return LIST_STYLE_TYPE.LOWER_GREEK;\n case 'lower-alpha':\n return LIST_STYLE_TYPE.LOWER_ALPHA;\n case 'upper-alpha':\n return LIST_STYLE_TYPE.UPPER_ALPHA;\n case 'arabic-indic':\n return LIST_STYLE_TYPE.ARABIC_INDIC;\n case 'armenian':\n return LIST_STYLE_TYPE.ARMENIAN;\n case 'bengali':\n return LIST_STYLE_TYPE.BENGALI;\n case 'cambodian':\n return LIST_STYLE_TYPE.CAMBODIAN;\n case 'cjk-earthly-branch':\n return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;\n case 'cjk-heavenly-stem':\n return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;\n case 'cjk-ideographic':\n return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;\n case 'devanagari':\n return LIST_STYLE_TYPE.DEVANAGARI;\n case 'ethiopic-numeric':\n return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;\n case 'georgian':\n return LIST_STYLE_TYPE.GEORGIAN;\n case 'gujarati':\n return LIST_STYLE_TYPE.GUJARATI;\n case 'gurmukhi':\n return LIST_STYLE_TYPE.GURMUKHI;\n case 'hebrew':\n return LIST_STYLE_TYPE.HEBREW;\n case 'hiragana':\n return LIST_STYLE_TYPE.HIRAGANA;\n case 'hiragana-iroha':\n return LIST_STYLE_TYPE.HIRAGANA_IROHA;\n case 'japanese-formal':\n return LIST_STYLE_TYPE.JAPANESE_FORMAL;\n case 'japanese-informal':\n return LIST_STYLE_TYPE.JAPANESE_INFORMAL;\n case 'kannada':\n return LIST_STYLE_TYPE.KANNADA;\n case 'katakana':\n return LIST_STYLE_TYPE.KATAKANA;\n case 'katakana-iroha':\n return LIST_STYLE_TYPE.KATAKANA_IROHA;\n case 'khmer':\n return LIST_STYLE_TYPE.KHMER;\n case 'korean-hangul-formal':\n return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;\n case 'korean-hanja-formal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;\n case 'korean-hanja-informal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;\n case 'lao':\n return LIST_STYLE_TYPE.LAO;\n case 'lower-armenian':\n return LIST_STYLE_TYPE.LOWER_ARMENIAN;\n case 'malayalam':\n return LIST_STYLE_TYPE.MALAYALAM;\n case 'mongolian':\n return LIST_STYLE_TYPE.MONGOLIAN;\n case 'myanmar':\n return LIST_STYLE_TYPE.MYANMAR;\n case 'oriya':\n return LIST_STYLE_TYPE.ORIYA;\n case 'persian':\n return LIST_STYLE_TYPE.PERSIAN;\n case 'simp-chinese-formal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;\n case 'simp-chinese-informal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;\n case 'tamil':\n return LIST_STYLE_TYPE.TAMIL;\n case 'telugu':\n return LIST_STYLE_TYPE.TELUGU;\n case 'thai':\n return LIST_STYLE_TYPE.THAI;\n case 'tibetan':\n return LIST_STYLE_TYPE.TIBETAN;\n case 'trad-chinese-formal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;\n case 'trad-chinese-informal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;\n case 'upper-armenian':\n return LIST_STYLE_TYPE.UPPER_ARMENIAN;\n case 'disclosure-open':\n return LIST_STYLE_TYPE.DISCLOSURE_OPEN;\n case 'disclosure-closed':\n return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;\n case 'none':\n default:\n return LIST_STYLE_TYPE.NONE;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst marginForSide = (side: string): IPropertyTokenValueDescriptor => ({\n name: `margin-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n});\n\nexport const marginTop: IPropertyTokenValueDescriptor = marginForSide('top');\nexport const marginRight: IPropertyTokenValueDescriptor = marginForSide('right');\nexport const marginBottom: IPropertyTokenValueDescriptor = marginForSide('bottom');\nexport const marginLeft: IPropertyTokenValueDescriptor = marginForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW {\n VISIBLE = 0,\n HIDDEN = 1,\n SCROLL = 2,\n CLIP = 3,\n AUTO = 4\n}\n\nexport const overflow: IPropertyListDescriptor = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): OVERFLOW[] => {\n return tokens.filter(isIdentToken).map((overflow) => {\n switch (overflow.value) {\n case 'hidden':\n return OVERFLOW.HIDDEN;\n case 'scroll':\n return OVERFLOW.SCROLL;\n case 'clip':\n return OVERFLOW.CLIP;\n case 'auto':\n return OVERFLOW.AUTO;\n case 'visible':\n default:\n return OVERFLOW.VISIBLE;\n }\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW_WRAP {\n NORMAL = 'normal',\n BREAK_WORD = 'break-word'\n}\n\nexport const overflowWrap: IPropertyIdentValueDescriptor = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'break-word':\n return OVERFLOW_WRAP.BREAK_WORD;\n case 'normal':\n default:\n return OVERFLOW_WRAP.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst paddingForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `padding-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length-percentage'\n});\n\nexport const paddingTop: IPropertyTypeValueDescriptor = paddingForSide('top');\nexport const paddingRight: IPropertyTypeValueDescriptor = paddingForSide('right');\nexport const paddingBottom: IPropertyTypeValueDescriptor = paddingForSide('bottom');\nexport const paddingLeft: IPropertyTypeValueDescriptor = paddingForSide('left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_ALIGN {\n LEFT = 0,\n CENTER = 1,\n RIGHT = 2\n}\n\nexport const textAlign: IPropertyIdentValueDescriptor = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textAlign: string) => {\n switch (textAlign) {\n case 'right':\n return TEXT_ALIGN.RIGHT;\n case 'center':\n case 'justify':\n return TEXT_ALIGN.CENTER;\n case 'left':\n default:\n return TEXT_ALIGN.LEFT;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum POSITION {\n STATIC = 0,\n RELATIVE = 1,\n ABSOLUTE = 2,\n FIXED = 3,\n STICKY = 4\n}\n\nexport const position: IPropertyIdentValueDescriptor = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'relative':\n return POSITION.RELATIVE;\n case 'absolute':\n return POSITION.ABSOLUTE;\n case 'fixed':\n return POSITION.FIXED;\n case 'sticky':\n return POSITION.STICKY;\n }\n\n return POSITION.STATIC;\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color, COLORS} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type TextShadow = TextShadowItem[];\ninterface TextShadowItem {\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n}\n\nexport const textShadow: IPropertyListDescriptor = {\n name: 'text-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): TextShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: TextShadowItem = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else {\n shadow.blur = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_TRANSFORM {\n NONE = 0,\n LOWERCASE = 1,\n UPPERCASE = 2,\n CAPITALIZE = 3\n}\n\nexport const textTransform: IPropertyIdentValueDescriptor = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textTransform: string) => {\n switch (textTransform) {\n case 'uppercase':\n return TEXT_TRANSFORM.UPPERCASE;\n case 'lowercase':\n return TEXT_TRANSFORM.LOWERCASE;\n case 'capitalize':\n return TEXT_TRANSFORM.CAPITALIZE;\n }\n\n return TEXT_TRANSFORM.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type Matrix = [number, number, number, number, number, number];\nexport type Transform = Matrix | null;\n\nexport const transform: IPropertyValueDescriptor = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n if (token.type === TokenType.FUNCTION) {\n const transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported transform function \"${token.name}\"`);\n }\n return transformFunction(token.values);\n }\n\n return null;\n }\n};\n\nconst matrix = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n return values.length === 6 ? (values as Matrix) : null;\n};\n\n// doesn't support 3D transforms at the moment\nconst matrix3d = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n const [a1, b1, {}, {}, a2, b2, {}, {}, {}, {}, {}, {}, a4, b4, {}, {}] = values;\n\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\n\nconst SUPPORTED_TRANSFORM_FUNCTIONS: {\n [key: string]: (args: CSSValue[]) => Transform;\n} = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {FLAG_INTEGER, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type TransformOrigin = [LengthPercentage, LengthPercentage];\n\nconst DEFAULT_VALUE: LengthPercentage = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\nconst DEFAULT: TransformOrigin = [DEFAULT_VALUE, DEFAULT_VALUE];\n\nexport const transformOrigin: IPropertyListDescriptor = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const origins: LengthPercentage[] = tokens.filter(isLengthPercentage);\n\n if (origins.length !== 2) {\n return DEFAULT;\n }\n\n return [origins[0], origins[1]];\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum VISIBILITY {\n VISIBLE = 0,\n HIDDEN = 1,\n COLLAPSE = 2\n}\n\nexport const visibility: IPropertyIdentValueDescriptor = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, visibility: string) => {\n switch (visibility) {\n case 'hidden':\n return VISIBILITY.HIDDEN;\n case 'collapse':\n return VISIBILITY.COLLAPSE;\n case 'visible':\n default:\n return VISIBILITY.VISIBLE;\n }\n }\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\ninterface zIndex {\n order: number;\n auto: boolean;\n}\n\nexport const zIndex: IPropertyValueDescriptor = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue): zIndex => {\n if (token.type === TokenType.IDENT_TOKEN) {\n return {auto: true, order: 0};\n }\n\n if (isNumberToken(token)) {\n return {auto: false, order: token.number};\n }\n\n throw new Error(`Invalid z-index number parsed`);\n }\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {Context} from '../../core/context';\n\nexport const time: ITypeDescriptor = {\n name: 'time',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n\n throw new Error(`Unsupported time type`);\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const opacity: IPropertyValueDescriptor = {\n name: 'opacity',\n initialValue: '1',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const textDecorationColor: IPropertyTypeValueDescriptor = {\n name: `text-decoration-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum TEXT_DECORATION_LINE {\n NONE = 0,\n UNDERLINE = 1,\n OVERLINE = 2,\n LINE_THROUGH = 3,\n BLINK = 4\n}\n\nexport type TextDecorationLine = TEXT_DECORATION_LINE[];\n\nexport const textDecorationLine: IPropertyListDescriptor = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): TextDecorationLine => {\n return tokens\n .filter(isIdentToken)\n .map((token) => {\n switch (token.value) {\n case 'underline':\n return TEXT_DECORATION_LINE.UNDERLINE;\n case 'overline':\n return TEXT_DECORATION_LINE.OVERLINE;\n case 'line-through':\n return TEXT_DECORATION_LINE.LINE_THROUGH;\n case 'none':\n return TEXT_DECORATION_LINE.BLINK;\n }\n return TEXT_DECORATION_LINE.NONE;\n })\n .filter((line) => line !== TEXT_DECORATION_LINE.NONE);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport type FONT_FAMILY = string;\n\nexport type FontFamily = FONT_FAMILY[];\n\nexport const fontFamily: IPropertyListDescriptor = {\n name: `font-family`,\n initialValue: '',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const accumulator: string[] = [];\n const results: string[] = [];\n tokens.forEach((token) => {\n switch (token.type) {\n case TokenType.IDENT_TOKEN:\n case TokenType.STRING_TOKEN:\n accumulator.push(token.value);\n break;\n case TokenType.NUMBER_TOKEN:\n accumulator.push(token.number.toString());\n break;\n case TokenType.COMMA_TOKEN:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map((result) => (result.indexOf(' ') === -1 ? result : `'${result}'`));\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const fontSize: IPropertyTypeValueDescriptor = {\n name: `font-size`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length'\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontWeight: IPropertyValueDescriptor = {\n name: 'font-weight',\n initialValue: 'normal',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n\n return 400;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontVariant: IPropertyListDescriptor = {\n name: 'font-variant',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): string[] => {\n return tokens.filter(isIdentToken).map((token) => token.value);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FONT_STYLE {\n NORMAL = 'normal',\n ITALIC = 'italic',\n OBLIQUE = 'oblique'\n}\n\nexport const fontStyle: IPropertyIdentValueDescriptor = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'oblique':\n return FONT_STYLE.OBLIQUE;\n case 'italic':\n return FONT_STYLE.ITALIC;\n case 'normal':\n default:\n return FONT_STYLE.NORMAL;\n }\n }\n};\n","export const contains = (bit: number, value: number): boolean => (bit & value) !== 0;\n","import {TokenType} from '../syntax/tokenizer';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport type Content = CSSValue[];\n\nexport const content: IPropertyListDescriptor = {\n name: 'content',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_INCREMENT {\n counter: string;\n increment: number;\n}\n\nexport type CounterIncrement = COUNTER_INCREMENT[] | null;\n\nexport const counterIncrement: IPropertyListDescriptor = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const increments = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (counter.type === TokenType.IDENT_TOKEN) {\n const increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({counter: counter.value, increment});\n }\n }\n\n return increments;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_RESET {\n counter: string;\n reset: number;\n}\n\nexport type CounterReset = COUNTER_RESET[];\n\nexport const counterReset: IPropertyListDescriptor = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const resets = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n const reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({counter: counter.value, reset});\n }\n }\n\n return resets;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {time} from '../types/time';\n\nexport const duration: IPropertyListDescriptor = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (context: Context, tokens: CSSValue[]) => {\n return tokens.filter(isDimensionToken).map((token) => time.parse(context, token));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isStringToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface QUOTE {\n open: string;\n close: string;\n}\n\nexport type Quotes = QUOTE[] | null;\n\nexport const quotes: IPropertyListDescriptor = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const quotes = [];\n const filtered = tokens.filter(isStringToken);\n\n if (filtered.length % 2 !== 0) {\n return null;\n }\n\n for (let i = 0; i < filtered.length; i += 2) {\n const open = filtered[i].value;\n const close = filtered[i + 1].value;\n quotes.push({open, close});\n }\n\n return quotes;\n }\n};\n\nexport const getQuote = (quotes: Quotes, depth: number, open: boolean): string => {\n if (!quotes) {\n return '';\n }\n\n const quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n\n return open ? quote.open : quote.close;\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type BoxShadow = BoxShadowItem[];\ninterface BoxShadowItem {\n inset: boolean;\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n spread: Length;\n}\n\nexport const boxShadow: IPropertyListDescriptor = {\n name: 'box-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): BoxShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: BoxShadowItem = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n } else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else if (c === 2) {\n shadow.blur = token;\n } else {\n shadow.spread = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum PAINT_ORDER_LAYER {\n FILL,\n STROKE,\n MARKERS\n}\n\nexport type PaintOrder = PAINT_ORDER_LAYER[];\n\nexport const paintOrder: IPropertyListDescriptor = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): PaintOrder => {\n const DEFAULT_VALUE = [PAINT_ORDER_LAYER.FILL, PAINT_ORDER_LAYER.STROKE, PAINT_ORDER_LAYER.MARKERS];\n const layers: PaintOrder = [];\n\n tokens.filter(isIdentToken).forEach((token) => {\n switch (token.value) {\n case 'stroke':\n layers.push(PAINT_ORDER_LAYER.STROKE);\n break;\n case 'fill':\n layers.push(PAINT_ORDER_LAYER.FILL);\n break;\n case 'markers':\n layers.push(PAINT_ORDER_LAYER.MARKERS);\n break;\n }\n });\n DEFAULT_VALUE.forEach((value) => {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n\n return layers;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nexport const webkitTextStrokeColor: IPropertyTypeValueDescriptor = {\n name: `-webkit-text-stroke-color`,\n initialValue: 'currentcolor',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const webkitTextStrokeWidth: IPropertyValueDescriptor = {\n name: `-webkit-text-stroke-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n","import {CSSPropertyDescriptor, PropertyDescriptorParsingType} from './IPropertyDescriptor';\nimport {backgroundClip} from './property-descriptors/background-clip';\nimport {backgroundColor} from './property-descriptors/background-color';\nimport {backgroundImage} from './property-descriptors/background-image';\nimport {backgroundOrigin} from './property-descriptors/background-origin';\nimport {backgroundPosition} from './property-descriptors/background-position';\nimport {backgroundRepeat} from './property-descriptors/background-repeat';\nimport {backgroundSize} from './property-descriptors/background-size';\nimport {\n borderBottomColor,\n borderLeftColor,\n borderRightColor,\n borderTopColor\n} from './property-descriptors/border-color';\nimport {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderTopLeftRadius,\n borderTopRightRadius\n} from './property-descriptors/border-radius';\nimport {\n borderBottomStyle,\n borderLeftStyle,\n borderRightStyle,\n borderTopStyle\n} from './property-descriptors/border-style';\nimport {\n borderBottomWidth,\n borderLeftWidth,\n borderRightWidth,\n borderTopWidth\n} from './property-descriptors/border-width';\nimport {color} from './property-descriptors/color';\nimport {direction} from './property-descriptors/direction';\nimport {display, DISPLAY} from './property-descriptors/display';\nimport {float, FLOAT} from './property-descriptors/float';\nimport {letterSpacing} from './property-descriptors/letter-spacing';\nimport {lineBreak} from './property-descriptors/line-break';\nimport {lineHeight} from './property-descriptors/line-height';\nimport {listStyleImage} from './property-descriptors/list-style-image';\nimport {listStylePosition} from './property-descriptors/list-style-position';\nimport {listStyleType} from './property-descriptors/list-style-type';\nimport {marginBottom, marginLeft, marginRight, marginTop} from './property-descriptors/margin';\nimport {overflow, OVERFLOW} from './property-descriptors/overflow';\nimport {overflowWrap} from './property-descriptors/overflow-wrap';\nimport {paddingBottom, paddingLeft, paddingRight, paddingTop} from './property-descriptors/padding';\nimport {textAlign} from './property-descriptors/text-align';\nimport {position, POSITION} from './property-descriptors/position';\nimport {textShadow} from './property-descriptors/text-shadow';\nimport {textTransform} from './property-descriptors/text-transform';\nimport {transform} from './property-descriptors/transform';\nimport {transformOrigin} from './property-descriptors/transform-origin';\nimport {visibility, VISIBILITY} from './property-descriptors/visibility';\nimport {wordBreak} from './property-descriptors/word-break';\nimport {zIndex} from './property-descriptors/z-index';\nimport {CSSValue, isIdentToken, Parser} from './syntax/parser';\nimport {Tokenizer} from './syntax/tokenizer';\nimport {Color, color as colorType, isTransparent} from './types/color';\nimport {angle} from './types/angle';\nimport {image} from './types/image';\nimport {time} from './types/time';\nimport {opacity} from './property-descriptors/opacity';\nimport {textDecorationColor} from './property-descriptors/text-decoration-color';\nimport {textDecorationLine} from './property-descriptors/text-decoration-line';\nimport {isLengthPercentage, LengthPercentage, ZERO_LENGTH} from './types/length-percentage';\nimport {fontFamily} from './property-descriptors/font-family';\nimport {fontSize} from './property-descriptors/font-size';\nimport {isLength} from './types/length';\nimport {fontWeight} from './property-descriptors/font-weight';\nimport {fontVariant} from './property-descriptors/font-variant';\nimport {fontStyle} from './property-descriptors/font-style';\nimport {contains} from '../core/bitwise';\nimport {content} from './property-descriptors/content';\nimport {counterIncrement} from './property-descriptors/counter-increment';\nimport {counterReset} from './property-descriptors/counter-reset';\nimport {duration} from './property-descriptors/duration';\nimport {quotes} from './property-descriptors/quotes';\nimport {boxShadow} from './property-descriptors/box-shadow';\nimport {paintOrder} from './property-descriptors/paint-order';\nimport {webkitTextStrokeColor} from './property-descriptors/webkit-text-stroke-color';\nimport {webkitTextStrokeWidth} from './property-descriptors/webkit-text-stroke-width';\nimport {Context} from '../core/context';\n\nexport class CSSParsedDeclaration {\n animationDuration: ReturnType;\n backgroundClip: ReturnType;\n backgroundColor: Color;\n backgroundImage: ReturnType;\n backgroundOrigin: ReturnType;\n backgroundPosition: ReturnType;\n backgroundRepeat: ReturnType;\n backgroundSize: ReturnType;\n borderTopColor: Color;\n borderRightColor: Color;\n borderBottomColor: Color;\n borderLeftColor: Color;\n borderTopLeftRadius: ReturnType;\n borderTopRightRadius: ReturnType;\n borderBottomRightRadius: ReturnType;\n borderBottomLeftRadius: ReturnType;\n borderTopStyle: ReturnType;\n borderRightStyle: ReturnType;\n borderBottomStyle: ReturnType;\n borderLeftStyle: ReturnType;\n borderTopWidth: ReturnType;\n borderRightWidth: ReturnType;\n borderBottomWidth: ReturnType;\n borderLeftWidth: ReturnType;\n boxShadow: ReturnType;\n color: Color;\n direction: ReturnType;\n display: ReturnType;\n float: ReturnType;\n fontFamily: ReturnType;\n fontSize: LengthPercentage;\n fontStyle: ReturnType;\n fontVariant: ReturnType;\n fontWeight: ReturnType;\n letterSpacing: ReturnType;\n lineBreak: ReturnType;\n lineHeight: CSSValue;\n listStyleImage: ReturnType;\n listStylePosition: ReturnType;\n listStyleType: ReturnType;\n marginTop: CSSValue;\n marginRight: CSSValue;\n marginBottom: CSSValue;\n marginLeft: CSSValue;\n opacity: ReturnType;\n overflowX: OVERFLOW;\n overflowY: OVERFLOW;\n overflowWrap: ReturnType;\n paddingTop: LengthPercentage;\n paddingRight: LengthPercentage;\n paddingBottom: LengthPercentage;\n paddingLeft: LengthPercentage;\n paintOrder: ReturnType;\n position: ReturnType;\n textAlign: ReturnType;\n textDecorationColor: Color;\n textDecorationLine: ReturnType;\n textShadow: ReturnType;\n textTransform: ReturnType;\n transform: ReturnType;\n transformOrigin: ReturnType;\n visibility: ReturnType;\n webkitTextStrokeColor: Color;\n webkitTextStrokeWidth: ReturnType;\n wordBreak: ReturnType;\n zIndex: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n const overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(\n context,\n textDecorationColor,\n declaration.textDecorationColor ?? declaration.color\n );\n this.textDecorationLine = parse(\n context,\n textDecorationLine,\n declaration.textDecorationLine ?? declaration.textDecoration\n );\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n\n isVisible(): boolean {\n return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE;\n }\n\n isTransparent(): boolean {\n return isTransparent(this.backgroundColor);\n }\n\n isTransformed(): boolean {\n return this.transform !== null;\n }\n\n isPositioned(): boolean {\n return this.position !== POSITION.STATIC;\n }\n\n isPositionedWithZIndex(): boolean {\n return this.isPositioned() && !this.zIndex.auto;\n }\n\n isFloating(): boolean {\n return this.float !== FLOAT.NONE;\n }\n\n isInlineLevel(): boolean {\n return (\n contains(this.display, DISPLAY.INLINE) ||\n contains(this.display, DISPLAY.INLINE_BLOCK) ||\n contains(this.display, DISPLAY.INLINE_FLEX) ||\n contains(this.display, DISPLAY.INLINE_GRID) ||\n contains(this.display, DISPLAY.INLINE_LIST_ITEM) ||\n contains(this.display, DISPLAY.INLINE_TABLE)\n );\n }\n}\n\nexport class CSSParsedPseudoDeclaration {\n content: ReturnType;\n quotes: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n}\n\nexport class CSSParsedCounterDeclaration {\n counterIncrement: ReturnType;\n counterReset: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst parse = (context: Context, descriptor: CSSPropertyDescriptor, style?: string | null) => {\n const tokenizer = new Tokenizer();\n const value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n const parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case PropertyDescriptorParsingType.IDENT_VALUE:\n const token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case PropertyDescriptorParsingType.VALUE:\n return descriptor.parse(context, parser.parseComponentValue());\n case PropertyDescriptorParsingType.LIST:\n return descriptor.parse(context, parser.parseComponentValues());\n case PropertyDescriptorParsingType.TOKEN_VALUE:\n return parser.parseComponentValue();\n case PropertyDescriptorParsingType.TYPE_VALUE:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return colorType.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n const length = parser.parseComponentValue();\n return isLength(length) ? length : ZERO_LENGTH;\n case 'length-percentage':\n const value = parser.parseComponentValue();\n return isLengthPercentage(value) ? value : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n","const elementDebuggerAttribute = 'data-html2canvas-debug';\nexport const enum DebuggerType {\n NONE,\n ALL,\n CLONE,\n PARSE,\n RENDER\n}\n\nconst getElementDebugType = (element: Element): DebuggerType => {\n const attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return DebuggerType.ALL;\n case 'clone':\n return DebuggerType.CLONE;\n case 'parse':\n return DebuggerType.PARSE;\n case 'render':\n return DebuggerType.RENDER;\n default:\n return DebuggerType.NONE;\n }\n};\n\nexport const isDebugging = (element: Element, type: Omit): boolean => {\n const elementType = getElementDebugType(element);\n return elementType === DebuggerType.ALL || type === elementType;\n};\n","import {CSSParsedDeclaration} from '../css/index';\nimport {TextContainer} from './text-container';\nimport {Bounds, parseBounds} from '../css/layout/bounds';\nimport {isHTMLElementNode} from './node-parser';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport const enum FLAGS {\n CREATES_STACKING_CONTEXT = 1 << 1,\n CREATES_REAL_STACKING_CONTEXT = 1 << 2,\n IS_LIST_OWNER = 1 << 3,\n DEBUG_RENDER = 1 << 4\n}\n\nexport class ElementContainer {\n readonly styles: CSSParsedDeclaration;\n readonly textNodes: TextContainer[] = [];\n readonly elements: ElementContainer[] = [];\n bounds: Bounds;\n flags = 0;\n\n constructor(protected readonly context: Context, element: Element) {\n if (isDebugging(element, DebuggerType.PARSE)) {\n debugger;\n }\n\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some((duration) => duration > 0)) {\n element.style.animationDuration = '0s';\n }\n\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n\n this.bounds = parseBounds(this.context, element);\n\n if (isDebugging(element, DebuggerType.RENDER)) {\n this.flags |= FLAGS.DEBUG_RENDER;\n }\n }\n}\n","export const base64 =\n 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\nexport const byteLength = 19616;\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","import {base64, byteLength} from './grapheme-break-trie';\nimport {createTrieFromBase64} from 'utrie';\n\nconst Other = 0;\nconst Prepend = 1;\nconst CR = 2;\nconst LF = 3;\nconst Control = 4;\nconst Extend = 5;\nconst Regional_Indicator = 6;\nconst SpacingMark = 7;\nconst L = 8;\nconst V = 9;\nconst T = 10;\nconst LV = 11;\nconst LVT = 12;\nconst ZWJ = 13;\nconst Extended_Pictographic = 14;\nconst RI = 15;\n\nexport const classes: {[key: string]: number} = {\n Other,\n Prepend,\n CR,\n LF,\n Control,\n Extend,\n Regional_Indicator,\n SpacingMark,\n L,\n V,\n T,\n LV,\n LVT,\n ZWJ,\n Extended_Pictographic,\n RI,\n};\n\nexport const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED;\n\nexport const codePointToClass = (codePoint: number): number => UnicodeTrie.get(codePoint);\n\nconst _graphemeBreakAtIndex = (_codePoints: number[], classTypes: number[], index: number): BREAK_OPPORTUNITIES => {\n let prevIndex = index - 2;\n let prev = classTypes[prevIndex];\n const current = classTypes[index - 1];\n const next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n let countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const graphemeBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // GB1 Break at the start and end of text, unless the text is empty.\n if (index === 0) {\n return BREAK_ALLOWED;\n }\n\n // GB2\n if (index >= codePoints.length) {\n return BREAK_ALLOWED;\n }\n\n const classTypes = codePoints.map(codePointToClass);\n return _graphemeBreakAtIndex(codePoints, classTypes, index);\n};\n\nexport const GraphemeBreaker = (str: string) => {\n const codePoints = toCodePoints(str);\n const length = codePoints.length;\n let index = 0;\n let lastEnd = 0;\n const classTypes = codePoints.map(codePointToClass);\n\n return {\n next: () => {\n if (index >= length) {\n return {done: true, value: null};\n }\n\n let graphemeBreak = BREAK_NOT_ALLOWED;\n while (\n index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED\n ) {}\n\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n const value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n while (index < length) {}\n\n return {done: true, value: null};\n },\n };\n};\n\nexport const splitGraphemes = (str: string): string[] => {\n const breaker = GraphemeBreaker(str);\n\n const graphemes = [];\n let bk;\n\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n\n return graphemes;\n};\n","import {Bounds} from '../css/layout/bounds';\nimport {\n isBodyElement,\n isCanvasElement,\n isCustomElement,\n isElementNode,\n isHTMLElementNode,\n isIFrameElement,\n isImageElement,\n isScriptElement,\n isSelectElement,\n isSlotElement,\n isStyleElement,\n isSVGElementNode,\n isTextareaElement,\n isTextNode,\n isVideoElement\n} from './node-parser';\nimport {isIdentToken, nonFunctionArgSeparator} from '../css/syntax/parser';\nimport {TokenType} from '../css/syntax/tokenizer';\nimport {CounterState, createCounterText} from '../css/types/functions/counter';\nimport {LIST_STYLE_TYPE, listStyleType} from '../css/property-descriptors/list-style-type';\nimport {CSSParsedCounterDeclaration, CSSParsedPseudoDeclaration} from '../css/index';\nimport {getQuote} from '../css/property-descriptors/quotes';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport interface CloneOptions {\n ignoreElements?: (element: Element) => boolean;\n onclone?: (document: Document, element: HTMLElement) => void;\n allowTaint?: boolean;\n}\n\nexport interface WindowOptions {\n scrollX: number;\n scrollY: number;\n windowWidth: number;\n windowHeight: number;\n}\n\nexport type CloneConfigurations = CloneOptions & {\n inlineImages: boolean;\n copyStyles: boolean;\n};\n\nconst IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n\nexport class DocumentCloner {\n private readonly scrolledElements: [Element, number, number][];\n private readonly referenceElement: HTMLElement;\n clonedReferenceElement?: HTMLElement;\n private readonly documentElement: HTMLElement;\n private readonly counters: CounterState;\n private quoteDepth: number;\n\n constructor(\n private readonly context: Context,\n element: HTMLElement,\n private readonly options: CloneConfigurations\n ) {\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false) as HTMLElement;\n }\n\n toIFrame(ownerDocument: Document, windowSize: Bounds): Promise {\n const iframe: HTMLIFrameElement = createIFrameContainer(ownerDocument, windowSize);\n\n if (!iframe.contentWindow) {\n return Promise.reject(`Unable to find iframe window`);\n }\n\n const scrollX = (ownerDocument.defaultView as Window).pageXOffset;\n const scrollY = (ownerDocument.defaultView as Window).pageYOffset;\n\n const cloneWindow = iframe.contentWindow;\n const documentClone: Document = cloneWindow.document;\n\n /* Chrome doesn't detect relative background-images assigned in inline \";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n });\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\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/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

    \n * \tThe destination magnification factor can also be specified when goto is a page number or a named destination. (see documentation below)\n * (set magFactor in options). XYZ is the default.\n *

    \n *

    \n * Links, Text, Popup, and FreeText are supported.\n *

    \n *

    \n * Options In PDF spec Not Implemented Yet\n *

  • link border\n *
  • named target\n *
  • page coordinates\n *
  • destination page scaling and layout\n *
  • actions other than URL and GotoPage\n *
  • background / hover actions\n *

    \n * @name annotations\n * @module\n */\n\n/*\n Destination Magnification Factors\n See PDF 1.3 Page 386 for meanings and options\n\n [supported]\n\tXYZ (options; left top zoom)\n\tFit (no options)\n\tFitH (options: top)\n\tFitV (options: left)\n\n\t[not supported]\n\tFitR\n\tFitB\n\tFitBH\n\tFitBV\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var notEmpty = function(obj) {\n if (typeof obj != \"undefined\") {\n if (obj != \"\") {\n return true;\n }\n }\n };\n\n jsPDF.API.events.push([\n \"addPage\",\n function(addPageData) {\n var pageInfo = this.internal.getPageInfo(addPageData.pageNumber);\n pageInfo.pageContext.annotations = [];\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putPage\",\n function(putPageData) {\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal\n .getVerticalCoordinateString;\n var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId);\n var pageAnnos = putPageData.pageContext.annotations;\n\n var anno, rect, line;\n var found = false;\n for (var a = 0; a < pageAnnos.length && !found; a++) {\n anno = pageAnnos[a];\n switch (anno.type) {\n case \"link\":\n if (\n notEmpty(anno.options.url) ||\n notEmpty(anno.options.pageNumber)\n ) {\n found = true;\n }\n break;\n case \"reference\":\n case \"text\":\n case \"freetext\":\n found = true;\n break;\n }\n }\n if (found == false) {\n return;\n }\n\n this.internal.write(\"/Annots [\");\n for (var i = 0; i < pageAnnos.length; i++) {\n anno = pageAnnos[i];\n var escape = this.internal.pdfEscape;\n var encryptor = this.internal.getEncryptor(putPageData.objId);\n\n switch (anno.type) {\n case \"reference\":\n // References to Widget Annotations (for AcroForm Fields)\n this.internal.write(\" \" + anno.object.objId + \" 0 R \");\n break;\n case \"text\":\n // Create a an object for both the text and the popup\n var objText = this.internal.newAdditionalObject();\n var objPopup = this.internal.newAdditionalObject();\n var encryptorText = this.internal.getEncryptor(objText.objId);\n\n var title = anno.title || \"Note\";\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n\n line =\n \"<>\";\n objText.content = line;\n\n var parent = objText.objId + \" 0 R\";\n var popoff = 30;\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x + popoff) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(\n anno.bounds.x + anno.bounds.w + popoff\n ) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n line =\n \"<>\";\n objPopup.content = line;\n\n this.internal.write(objText.objId, \"0 R\", objPopup.objId, \"0 R\");\n\n break;\n case \"freetext\":\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \"] \";\n var color = anno.color || \"#000000\";\n line =\n \"<>\";\n this.internal.write(line);\n break;\n case \"link\":\n if (anno.options.name) {\n var loc = this.annotations._nameMap[anno.options.name];\n anno.options.pageNumber = loc.page;\n anno.options.top = loc.y;\n } else {\n if (!anno.options.top) {\n anno.options.top = 0;\n }\n }\n\n rect =\n \"/Rect [\" +\n anno.finalBounds.x +\n \" \" +\n anno.finalBounds.y +\n \" \" +\n anno.finalBounds.w +\n \" \" +\n anno.finalBounds.h +\n \"] \";\n\n line = \"\";\n if (anno.options.url) {\n line =\n \"<>\";\n } else if (anno.options.pageNumber) {\n // first page is 0\n var info = this.internal.getPageInfo(anno.options.pageNumber);\n line =\n \"<>\";\n this.internal.write(line);\n }\n break;\n }\n }\n this.internal.write(\"]\");\n }\n ]);\n\n /**\n * @name createAnnotation\n * @function\n * @param {Object} options\n */\n jsPDFAPI.createAnnotation = function(options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n switch (options.type) {\n case \"link\":\n this.link(\n options.bounds.x,\n options.bounds.y,\n options.bounds.w,\n options.bounds.h,\n options\n );\n break;\n case \"text\":\n case \"freetext\":\n pageInfo.pageContext.annotations.push(options);\n break;\n }\n };\n\n /**\n * Create a link\n *\n * valid options\n *
  • pageNumber or url [required]\n *

    If pageNumber is specified, top and zoom may also be specified

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\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 */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\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 */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/* eslint-disable no-fallthrough */\r\n/* eslint-disable no-console */\r\n/**\r\n * @license\r\n * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\r\n *\r\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { RGBColor } from \"../libs/rgbcolor.js\";\r\nimport { console } from \"../libs/console.js\";\r\nimport {\r\n buildFontFaceMap,\r\n parseFontFamily,\r\n resolveFontFace\r\n} from \"../libs/fontFace.js\";\r\n\r\n/**\r\n * This plugin mimics the HTML5 CanvasRenderingContext2D.\r\n *\r\n * The goal is to provide a way for current canvas implementations to print directly to a PDF.\r\n *\r\n * @name context2d\r\n * @module\r\n */\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n var ContextLayer = function(ctx) {\r\n ctx = ctx || {};\r\n this.isStrokeTransparent = ctx.isStrokeTransparent || false;\r\n this.strokeOpacity = ctx.strokeOpacity || 1;\r\n this.strokeStyle = ctx.strokeStyle || \"#000000\";\r\n this.fillStyle = ctx.fillStyle || \"#000000\";\r\n this.isFillTransparent = ctx.isFillTransparent || false;\r\n this.fillOpacity = ctx.fillOpacity || 1;\r\n this.font = ctx.font || \"10px sans-serif\";\r\n this.textBaseline = ctx.textBaseline || \"alphabetic\";\r\n this.textAlign = ctx.textAlign || \"left\";\r\n this.lineWidth = ctx.lineWidth || 1;\r\n this.lineJoin = ctx.lineJoin || \"miter\";\r\n this.lineCap = ctx.lineCap || \"butt\";\r\n this.path = ctx.path || [];\r\n this.transform =\r\n typeof ctx.transform !== \"undefined\"\r\n ? ctx.transform.clone()\r\n : new Matrix();\r\n this.globalCompositeOperation = ctx.globalCompositeOperation || \"normal\";\r\n this.globalAlpha = ctx.globalAlpha || 1.0;\r\n this.clip_path = ctx.clip_path || [];\r\n this.currentPoint = ctx.currentPoint || new Point();\r\n this.miterLimit = ctx.miterLimit || 10.0;\r\n this.lastPoint = ctx.lastPoint || new Point();\r\n this.lineDashOffset = ctx.lineDashOffset || 0.0;\r\n this.lineDash = ctx.lineDash || [];\r\n this.margin = ctx.margin || [0, 0, 0, 0];\r\n this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0;\r\n\r\n this.ignoreClearRect =\r\n typeof ctx.ignoreClearRect === \"boolean\" ? ctx.ignoreClearRect : true;\r\n return this;\r\n };\r\n\r\n //stub\r\n var f2,\r\n getHorizontalCoordinateString,\r\n getVerticalCoordinateString,\r\n getHorizontalCoordinate,\r\n getVerticalCoordinate,\r\n Point,\r\n Rectangle,\r\n Matrix,\r\n _ctx;\r\n jsPDFAPI.events.push([\r\n \"initialized\",\r\n function() {\r\n this.context2d = new Context2D(this);\r\n\r\n f2 = this.internal.f2;\r\n getHorizontalCoordinateString = this.internal.getCoordinateString;\r\n getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\r\n getHorizontalCoordinate = this.internal.getHorizontalCoordinate;\r\n getVerticalCoordinate = this.internal.getVerticalCoordinate;\r\n Point = this.internal.Point;\r\n Rectangle = this.internal.Rectangle;\r\n Matrix = this.internal.Matrix;\r\n _ctx = new ContextLayer();\r\n }\r\n ]);\r\n\r\n var Context2D = function(pdf) {\r\n Object.defineProperty(this, \"canvas\", {\r\n get: function() {\r\n return { parentNode: false, style: false };\r\n }\r\n });\r\n\r\n var _pdf = pdf;\r\n Object.defineProperty(this, \"pdf\", {\r\n get: function() {\r\n return _pdf;\r\n }\r\n });\r\n\r\n var _pageWrapXEnabled = false;\r\n /**\r\n * @name pageWrapXEnabled\r\n * @type {boolean}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"pageWrapXEnabled\", {\r\n get: function() {\r\n return _pageWrapXEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapXEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _pageWrapYEnabled = false;\r\n /**\r\n * @name pageWrapYEnabled\r\n * @type {boolean}\r\n * @default true\r\n */\r\n Object.defineProperty(this, \"pageWrapYEnabled\", {\r\n get: function() {\r\n return _pageWrapYEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapYEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _posX = 0;\r\n /**\r\n * @name posX\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posX\", {\r\n get: function() {\r\n return _posX;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posX = value;\r\n }\r\n }\r\n });\r\n\r\n var _posY = 0;\r\n /**\r\n * @name posY\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posY\", {\r\n get: function() {\r\n return _posY;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posY = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off.\r\n * @name margin\r\n * @type {number|number[]}\r\n * @default [0, 0, 0, 0]\r\n */\r\n Object.defineProperty(this, \"margin\", {\r\n get: function() {\r\n return _ctx.margin;\r\n },\r\n set: function(value) {\r\n var margin;\r\n if (typeof value === \"number\") {\r\n margin = [value, value, value, value];\r\n } else {\r\n margin = new Array(4);\r\n margin[0] = value[0];\r\n margin[1] = value.length >= 2 ? value[1] : margin[0];\r\n margin[2] = value.length >= 3 ? value[2] : margin[0];\r\n margin[3] = value.length >= 4 ? value[3] : margin[1];\r\n }\r\n _ctx.margin = margin;\r\n }\r\n });\r\n\r\n var _autoPaging = false;\r\n /**\r\n * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the\r\n * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new\r\n * pages if required.\r\n *\r\n * Context2d supports different modes:\r\n *
      \r\n *
    • \r\n * false: Auto paging is disabled.\r\n *
    • \r\n *
    • \r\n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\r\n * slice text in half, making it difficult to read.\r\n *
    • \r\n *
    • \r\n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\r\n * mostly of a single column of text.\r\n *
    • \r\n *
    \r\n * @name Context2D#autoPaging\r\n * @type {boolean|\"slice\"|\"text\"}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"autoPaging\", {\r\n get: function() {\r\n return _autoPaging;\r\n },\r\n set: function(value) {\r\n _autoPaging = value;\r\n }\r\n });\r\n\r\n var lastBreak = 0;\r\n /**\r\n * @name lastBreak\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"lastBreak\", {\r\n get: function() {\r\n return lastBreak;\r\n },\r\n set: function(value) {\r\n lastBreak = value;\r\n }\r\n });\r\n\r\n var pageBreaks = [];\r\n /**\r\n * Y Position of page breaks.\r\n * @name pageBreaks\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"pageBreaks\", {\r\n get: function() {\r\n return pageBreaks;\r\n },\r\n set: function(value) {\r\n pageBreaks = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctx\r\n * @type {object}\r\n * @default {}\r\n */\r\n Object.defineProperty(this, \"ctx\", {\r\n get: function() {\r\n return _ctx;\r\n },\r\n set: function(value) {\r\n if (value instanceof ContextLayer) {\r\n _ctx = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * @name path\r\n * @type {array}\r\n * @default []\r\n */\r\n Object.defineProperty(this, \"path\", {\r\n get: function() {\r\n return _ctx.path;\r\n },\r\n set: function(value) {\r\n _ctx.path = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctxStack\r\n * @type {array}\r\n * @default []\r\n */\r\n var _ctxStack = [];\r\n Object.defineProperty(this, \"ctxStack\", {\r\n get: function() {\r\n return _ctxStack;\r\n },\r\n set: function(value) {\r\n _ctxStack = value;\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used to fill the drawing\r\n *\r\n * @name fillStyle\r\n * @default #000000\r\n * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
    \r\n * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
    \r\n * A pattern object to use to fill the drawing (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"fillStyle\", {\r\n get: function() {\r\n return this.ctx.fillStyle;\r\n },\r\n set: function(value) {\r\n var rgba;\r\n rgba = getRGBA(value);\r\n\r\n this.ctx.fillStyle = rgba.style;\r\n this.ctx.isFillTransparent = rgba.a === 0;\r\n this.ctx.fillOpacity = rgba.a;\r\n\r\n this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used for strokes\r\n *\r\n * @name strokeStyle\r\n * @default #000000\r\n * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d)\r\n * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d)\r\n * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"strokeStyle\", {\r\n get: function() {\r\n return this.ctx.strokeStyle;\r\n },\r\n set: function(value) {\r\n var rgba = getRGBA(value);\r\n\r\n this.ctx.strokeStyle = rgba.style;\r\n this.ctx.isStrokeTransparent = rgba.a === 0;\r\n this.ctx.strokeOpacity = rgba.a;\r\n\r\n if (rgba.a === 0) {\r\n this.pdf.setDrawColor(255, 255, 255);\r\n } else if (rgba.a === 1) {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n } else {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the style of the end caps for a line\r\n *\r\n * @name lineCap\r\n * @default butt\r\n * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
    \r\n * round A rounded end cap is added to each end of the line
    \r\n * square A square end cap is added to each end of the line
    \r\n */\r\n Object.defineProperty(this, \"lineCap\", {\r\n get: function() {\r\n return this.ctx.lineCap;\r\n },\r\n set: function(value) {\r\n if ([\"butt\", \"round\", \"square\"].indexOf(value) !== -1) {\r\n this.ctx.lineCap = value;\r\n this.pdf.setLineCap(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the current line width\r\n *\r\n * @name lineWidth\r\n * @default 1\r\n * @property {number} lineWidth The current line width, in pixels\r\n */\r\n Object.defineProperty(this, \"lineWidth\", {\r\n get: function() {\r\n return this.ctx.lineWidth;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.lineWidth = value;\r\n this.pdf.setLineWidth(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the type of corner created, when two lines meet\r\n */\r\n Object.defineProperty(this, \"lineJoin\", {\r\n get: function() {\r\n return this.ctx.lineJoin;\r\n },\r\n set: function(value) {\r\n if ([\"bevel\", \"round\", \"miter\"].indexOf(value) !== -1) {\r\n this.ctx.lineJoin = value;\r\n this.pdf.setLineJoin(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0.\r\n *\r\n * @name miterLimit\r\n * @default 10\r\n */\r\n Object.defineProperty(this, \"miterLimit\", {\r\n get: function() {\r\n return this.ctx.miterLimit;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.miterLimit = value;\r\n this.pdf.setMiterLimit(value);\r\n }\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textBaseline\", {\r\n get: function() {\r\n return this.ctx.textBaseline;\r\n },\r\n set: function(value) {\r\n this.ctx.textBaseline = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textAlign\", {\r\n get: function() {\r\n return this.ctx.textAlign;\r\n },\r\n set: function(value) {\r\n if ([\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(value) !== -1) {\r\n this.ctx.textAlign = value;\r\n }\r\n }\r\n });\r\n\r\n var _fontFaceMap = null;\r\n\r\n function getFontFaceMap(pdf, fontFaces) {\r\n if (_fontFaceMap === null) {\r\n var fontMap = pdf.getFontList();\r\n\r\n var convertedFontFaces = convertToFontFaces(fontMap);\r\n\r\n _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces));\r\n }\r\n\r\n return _fontFaceMap;\r\n }\r\n\r\n function convertToFontFaces(fontMap) {\r\n var fontFaces = [];\r\n\r\n Object.keys(fontMap).forEach(function(family) {\r\n var styles = fontMap[family];\r\n\r\n styles.forEach(function(style) {\r\n var fontFace = null;\r\n\r\n switch (style) {\r\n case \"bold\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\"\r\n };\r\n break;\r\n\r\n case \"italic\":\r\n fontFace = {\r\n family: family,\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"bolditalic\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\",\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"\":\r\n case \"normal\":\r\n fontFace = {\r\n family: family\r\n };\r\n break;\r\n }\r\n\r\n // If font-face is still null here, it is a font with some styling we don't recognize and\r\n // cannot map or it is a font added via the fontFaces option of .html().\r\n if (fontFace !== null) {\r\n fontFace.ref = {\r\n name: family,\r\n style: style\r\n };\r\n\r\n fontFaces.push(fontFace);\r\n }\r\n });\r\n });\r\n\r\n return fontFaces;\r\n }\r\n\r\n var _fontFaces = null;\r\n /**\r\n * A map of available font-faces, as passed in the options of\r\n * .html(). If set a limited implementation of the font style matching\r\n * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm\r\n * will be used. If not set it will fallback to previous behavior.\r\n */\r\n\r\n Object.defineProperty(this, \"fontFaces\", {\r\n get: function() {\r\n return _fontFaces;\r\n },\r\n set: function(value) {\r\n _fontFaceMap = null;\r\n _fontFaces = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"font\", {\r\n get: function() {\r\n return this.ctx.font;\r\n },\r\n set: function(value) {\r\n this.ctx.font = value;\r\n var rx, matches;\r\n\r\n //source: https://stackoverflow.com/a/10136041\r\n // eslint-disable-next-line no-useless-escape\r\n rx = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i;\r\n matches = rx.exec(value);\r\n if (matches !== null) {\r\n var fontStyle = matches[1];\r\n var fontVariant = matches[2];\r\n var fontWeight = matches[3];\r\n var fontSize = matches[4];\r\n var lineHeight = matches[5];\r\n var fontFamily = matches[6];\r\n } else {\r\n return;\r\n }\r\n var rxFontSize = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i;\r\n var fontSizeUnit = rxFontSize.exec(fontSize)[2];\r\n\r\n if (\"px\" === fontSizeUnit) {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n } else if (\"em\" === fontSizeUnit) {\r\n fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize());\r\n } else {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n }\r\n\r\n this.pdf.setFontSize(fontSize);\r\n var parts = parseFontFamily(fontFamily);\r\n\r\n if (this.fontFaces) {\r\n var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces);\r\n\r\n var rules = parts.map(function(ff) {\r\n return {\r\n family: ff,\r\n stretch: \"normal\", // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?)\r\n weight: fontWeight,\r\n style: fontStyle\r\n };\r\n });\r\n\r\n var font = resolveFontFace(fontFaceMap, rules);\r\n this.pdf.setFont(font.ref.name, font.ref.style);\r\n return;\r\n }\r\n\r\n var style = \"\";\r\n if (\r\n fontWeight === \"bold\" ||\r\n parseInt(fontWeight, 10) >= 700 ||\r\n fontStyle === \"bold\"\r\n ) {\r\n style = \"bold\";\r\n }\r\n\r\n if (fontStyle === \"italic\") {\r\n style += \"italic\";\r\n }\r\n\r\n if (style.length === 0) {\r\n style = \"normal\";\r\n }\r\n var jsPdfFontName = \"\";\r\n\r\n var fallbackFonts = {\r\n arial: \"Helvetica\",\r\n Arial: \"Helvetica\",\r\n verdana: \"Helvetica\",\r\n Verdana: \"Helvetica\",\r\n helvetica: \"Helvetica\",\r\n Helvetica: \"Helvetica\",\r\n \"sans-serif\": \"Helvetica\",\r\n fixed: \"Courier\",\r\n monospace: \"Courier\",\r\n terminal: \"Courier\",\r\n cursive: \"Times\",\r\n fantasy: \"Times\",\r\n serif: \"Times\"\r\n };\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (\r\n this.pdf.internal.getFont(parts[i], style, {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n break;\r\n } else if (\r\n style === \"bolditalic\" &&\r\n this.pdf.internal.getFont(parts[i], \"bold\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"bold\";\r\n } else if (\r\n this.pdf.internal.getFont(parts[i], \"normal\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"normal\";\r\n break;\r\n }\r\n }\r\n if (jsPdfFontName === \"\") {\r\n for (var j = 0; j < parts.length; j++) {\r\n if (fallbackFonts[parts[j]]) {\r\n jsPdfFontName = fallbackFonts[parts[j]];\r\n break;\r\n }\r\n }\r\n }\r\n jsPdfFontName = jsPdfFontName === \"\" ? \"Times\" : jsPdfFontName;\r\n this.pdf.setFont(jsPdfFontName, style);\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalCompositeOperation\", {\r\n get: function() {\r\n return this.ctx.globalCompositeOperation;\r\n },\r\n set: function(value) {\r\n this.ctx.globalCompositeOperation = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalAlpha\", {\r\n get: function() {\r\n return this.ctx.globalAlpha;\r\n },\r\n set: function(value) {\r\n this.ctx.globalAlpha = value;\r\n }\r\n });\r\n\r\n /**\r\n * A float specifying the amount of the line dash offset. The default value is 0.0.\r\n *\r\n * @name lineDashOffset\r\n * @default 0.0\r\n */\r\n Object.defineProperty(this, \"lineDashOffset\", {\r\n get: function() {\r\n return this.ctx.lineDashOffset;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDashOffset = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"lineDash\", {\r\n get: function() {\r\n return this.ctx.lineDash;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDash = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"ignoreClearRect\", {\r\n get: function() {\r\n return this.ctx.ignoreClearRect;\r\n },\r\n set: function(value) {\r\n this.ctx.ignoreClearRect = Boolean(value);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Sets the line dash pattern used when stroking lines.\r\n * @name setLineDash\r\n * @function\r\n * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern.\r\n */\r\n Context2D.prototype.setLineDash = function(dashArray) {\r\n this.lineDash = dashArray;\r\n };\r\n\r\n /**\r\n * gets the current line dash pattern.\r\n * @name getLineDash\r\n * @function\r\n * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25].\r\n */\r\n Context2D.prototype.getLineDash = function() {\r\n if (this.lineDash.length % 2) {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value\r\n return this.lineDash.concat(this.lineDash);\r\n } else {\r\n // The copied value is returned to prevent contamination from outside.\r\n return this.lineDash.slice();\r\n }\r\n };\r\n\r\n Context2D.prototype.fill = function() {\r\n pathPreProcess.call(this, \"fill\", false);\r\n };\r\n\r\n /**\r\n * Actually draws the path you have defined\r\n *\r\n * @name stroke\r\n * @function\r\n * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black.\r\n */\r\n Context2D.prototype.stroke = function() {\r\n pathPreProcess.call(this, \"stroke\", false);\r\n };\r\n\r\n /**\r\n * Begins a path, or resets the current\r\n *\r\n * @name beginPath\r\n * @function\r\n * @description The beginPath() method begins a path, or resets the current path.\r\n */\r\n Context2D.prototype.beginPath = function() {\r\n this.path = [\r\n {\r\n type: \"begin\"\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Moves the path to the specified point in the canvas, without creating a line\r\n *\r\n * @name moveTo\r\n * @function\r\n * @param x {Number} The x-coordinate of where to move the path to\r\n * @param y {Number} The y-coordinate of where to move the path to\r\n */\r\n Context2D.prototype.moveTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"mt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(x, y);\r\n };\r\n\r\n /**\r\n * Creates a path from the current point back to the starting point\r\n *\r\n * @name closePath\r\n * @function\r\n * @description The closePath() method creates a path from the current point back to the starting point.\r\n */\r\n Context2D.prototype.closePath = function() {\r\n var pathBegin = new Point(0, 0);\r\n var i = 0;\r\n for (i = this.path.length - 1; i !== -1; i--) {\r\n if (this.path[i].type === \"begin\") {\r\n if (\r\n typeof this.path[i + 1] === \"object\" &&\r\n typeof this.path[i + 1].x === \"number\"\r\n ) {\r\n pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y);\r\n break;\r\n }\r\n }\r\n }\r\n this.path.push({\r\n type: \"close\"\r\n });\r\n this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y);\r\n };\r\n\r\n /**\r\n * Adds a new point and creates a line to that point from the last specified point in the canvas\r\n *\r\n * @name lineTo\r\n * @function\r\n * @param x The x-coordinate of where to create the line to\r\n * @param y The y-coordinate of where to create the line to\r\n * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).\r\n */\r\n Context2D.prototype.lineTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"lt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(pt.x, pt.y);\r\n };\r\n\r\n /**\r\n * Clips a region of any shape and size from the original canvas\r\n *\r\n * @name clip\r\n * @function\r\n * @description The clip() method clips a region of any shape and size from the original canvas.\r\n */\r\n Context2D.prototype.clip = function() {\r\n this.ctx.clip_path = JSON.parse(JSON.stringify(this.path));\r\n pathPreProcess.call(this, null, true);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name quadraticCurveTo\r\n * @function\r\n * @param cpx {Number} The x-coordinate of the Bézier control point\r\n * @param cpy {Number} The y-coordinate of the Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

    A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {\r\n if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) {\r\n console.error(\r\n \"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\"\r\n );\r\n }\r\n\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy));\r\n\r\n this.path.push({\r\n type: \"qct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name bezierCurveTo\r\n * @function\r\n * @param cp1x {Number} The x-coordinate of the first Bézier control point\r\n * @param cp1y {Number} The y-coordinate of the first Bézier control point\r\n * @param cp2x {Number} The x-coordinate of the second Bézier control point\r\n * @param cp2y {Number} The y-coordinate of the second Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

    A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.bezierCurveTo = function(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(cp1x) ||\r\n isNaN(cp1y) ||\r\n isNaN(cp2x) ||\r\n isNaN(cp2y)\r\n ) {\r\n console.error(\r\n \"jsPDF.context2d.bezierCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\"\r\n );\r\n }\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y));\r\n var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y));\r\n\r\n this.path.push({\r\n type: \"bct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x2: pt2.x,\r\n y2: pt2.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates an arc/curve (used to create circles, or parts of circles)\r\n *\r\n * @name arc\r\n * @function\r\n * @param x {Number} The x-coordinate of the center of the circle\r\n * @param y {Number} The y-coordinate of the center of the circle\r\n * @param radius {Number} The radius of the circle\r\n * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)\r\n * @param endAngle {Number} The ending angle, in radians\r\n * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.\r\n * @description The arc() method creates an arc/curve (used to create circles, or parts of circles).\r\n */\r\n Context2D.prototype.arc = function(\r\n x,\r\n y,\r\n radius,\r\n startAngle,\r\n endAngle,\r\n counterclockwise\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(radius) ||\r\n isNaN(startAngle) ||\r\n isNaN(endAngle)\r\n ) {\r\n console.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\r\n }\r\n counterclockwise = Boolean(counterclockwise);\r\n\r\n if (!this.ctx.transform.isIdentity) {\r\n var xpt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n x = xpt.x;\r\n y = xpt.y;\r\n\r\n var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius));\r\n var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0));\r\n radius = Math.sqrt(\r\n Math.pow(x_radPt.x - x_radPt0.x, 2) +\r\n Math.pow(x_radPt.y - x_radPt0.y, 2)\r\n );\r\n }\r\n if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) {\r\n startAngle = 0;\r\n endAngle = 2 * Math.PI;\r\n }\r\n\r\n this.path.push({\r\n type: \"arc\",\r\n x: x,\r\n y: y,\r\n radius: radius,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n counterclockwise: counterclockwise\r\n });\r\n // this.ctx.lastPoint(new Point(pt.x,pt.y));\r\n };\r\n\r\n /**\r\n * Creates an arc/curve between two tangents\r\n *\r\n * @name arcTo\r\n * @function\r\n * @param x1 {Number} The x-coordinate of the first tangent\r\n * @param y1 {Number} The y-coordinate of the first tangent\r\n * @param x2 {Number} The x-coordinate of the second tangent\r\n * @param y2 {Number} The y-coordinate of the second tangent\r\n * @param radius The radius of the arc\r\n * @description The arcTo() method creates an arc/curve between two tangents on the canvas.\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n Context2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {\r\n throw new Error(\"arcTo not implemented.\");\r\n };\r\n\r\n /**\r\n * Creates a rectangle\r\n *\r\n * @name rect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The rect() method creates a rectangle.\r\n */\r\n Context2D.prototype.rect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\r\n }\r\n this.moveTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x + w, y + h);\r\n this.lineTo(x, y + h);\r\n this.lineTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x, y);\r\n };\r\n\r\n /**\r\n * Draws a \"filled\" rectangle\r\n *\r\n * @name fillRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The fillRect() method draws a \"filled\" rectangle. The default color of the fill is black.\r\n */\r\n Context2D.prototype.fillRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\r\n }\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n var tmp = {};\r\n if (this.lineCap !== \"butt\") {\r\n tmp.lineCap = this.lineCap;\r\n this.lineCap = \"butt\";\r\n }\r\n if (this.lineJoin !== \"miter\") {\r\n tmp.lineJoin = this.lineJoin;\r\n this.lineJoin = \"miter\";\r\n }\r\n\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.fill();\r\n\r\n if (tmp.hasOwnProperty(\"lineCap\")) {\r\n this.lineCap = tmp.lineCap;\r\n }\r\n if (tmp.hasOwnProperty(\"lineJoin\")) {\r\n this.lineJoin = tmp.lineJoin;\r\n }\r\n };\r\n\r\n /**\r\n * Draws a rectangle (no fill)\r\n *\r\n * @name strokeRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black.\r\n */\r\n Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.stroke();\r\n };\r\n\r\n /**\r\n * Clears the specified pixels within a given rectangle\r\n *\r\n * @name clearRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle to clear, in pixels\r\n * @param h {Number} The height of the rectangle to clear, in pixels\r\n * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
    \r\n * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set.\r\n * This results in all calls to clearRect() to do nothing, and keep the canvas transparent.\r\n * This flag is stored in the save/restore context and is managed the same way as other drawing states.\r\n *\r\n */\r\n Context2D.prototype.clearRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\r\n }\r\n if (this.ignoreClearRect) {\r\n return;\r\n }\r\n\r\n this.fillStyle = \"#ffffff\";\r\n this.fillRect(x, y, w, h);\r\n };\r\n\r\n /**\r\n * Saves the state of the current context\r\n *\r\n * @name save\r\n * @function\r\n */\r\n Context2D.prototype.save = function(doStackPush) {\r\n doStackPush = typeof doStackPush === \"boolean\" ? doStackPush : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPush) {\r\n this.ctx.fontSize = this.pdf.internal.getFontSize();\r\n var ctx = new ContextLayer(this.ctx);\r\n this.ctxStack.push(this.ctx);\r\n this.ctx = ctx;\r\n }\r\n };\r\n\r\n /**\r\n * Returns previously saved path state and attributes\r\n *\r\n * @name restore\r\n * @function\r\n */\r\n Context2D.prototype.restore = function(doStackPop) {\r\n doStackPop = typeof doStackPop === \"boolean\" ? doStackPop : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"Q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPop && this.ctxStack.length !== 0) {\r\n this.ctx = this.ctxStack.pop();\r\n this.fillStyle = this.ctx.fillStyle;\r\n this.strokeStyle = this.ctx.strokeStyle;\r\n this.font = this.ctx.font;\r\n this.lineCap = this.ctx.lineCap;\r\n this.lineWidth = this.ctx.lineWidth;\r\n this.lineJoin = this.ctx.lineJoin;\r\n this.lineDash = this.ctx.lineDash;\r\n this.lineDashOffset = this.ctx.lineDashOffset;\r\n }\r\n };\r\n\r\n /**\r\n * @name toDataURL\r\n * @function\r\n */\r\n Context2D.prototype.toDataURL = function() {\r\n throw new Error(\"toDataUrl not implemented.\");\r\n };\r\n\r\n //helper functions\r\n\r\n /**\r\n * Get the decimal values of r, g, b and a\r\n *\r\n * @name getRGBA\r\n * @function\r\n * @private\r\n * @ignore\r\n */\r\n var getRGBA = function(style) {\r\n var rxRgb = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/;\r\n var rxRgba = /rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/;\r\n var rxTransparent = /transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/;\r\n\r\n var r, g, b, a;\r\n\r\n if (style.isCanvasGradient === true) {\r\n style = style.getColor();\r\n }\r\n\r\n if (!style) {\r\n return { r: 0, g: 0, b: 0, a: 0, style: style };\r\n }\r\n\r\n if (rxTransparent.test(style)) {\r\n r = 0;\r\n g = 0;\r\n b = 0;\r\n a = 0;\r\n } else {\r\n var matches = rxRgb.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = 1;\r\n } else {\r\n matches = rxRgba.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = parseFloat(matches[4]);\r\n } else {\r\n a = 1;\r\n\r\n if (typeof style === \"string\" && style.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(style);\r\n if (rgbColor.ok) {\r\n style = rgbColor.toHex();\r\n } else {\r\n style = \"#000000\";\r\n }\r\n }\r\n\r\n if (style.length === 4) {\r\n r = style.substring(1, 2);\r\n r += r;\r\n g = style.substring(2, 3);\r\n g += g;\r\n b = style.substring(3, 4);\r\n b += b;\r\n } else {\r\n r = style.substring(1, 3);\r\n g = style.substring(3, 5);\r\n b = style.substring(5, 7);\r\n }\r\n r = parseInt(r, 16);\r\n g = parseInt(g, 16);\r\n b = parseInt(b, 16);\r\n }\r\n }\r\n }\r\n return { r: r, g: g, b: b, a: a, style: style };\r\n };\r\n\r\n /**\r\n * @name isFillTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isFillTransparent = function() {\r\n return this.ctx.isFillTransparent || this.globalAlpha == 0;\r\n };\r\n\r\n /**\r\n * @name isStrokeTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isStrokeTransparent = function() {\r\n return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0);\r\n };\r\n\r\n /**\r\n * Draws \"filled\" text on the canvas\r\n *\r\n * @name fillText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The fillText() method draws filled text on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.fillText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\r\n }\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n\r\n // We only use X axis as scale hint\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Draws text on the canvas (no fill)\r\n *\r\n * @name strokeText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.strokeText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n renderingMode: \"stroke\",\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Returns an object that contains the width of the specified text\r\n *\r\n * @name measureText\r\n * @function\r\n * @param text {String} The text to be measured\r\n * @description The measureText() method returns an object that contains the width of the specified text, in pixels.\r\n * @returns {Number}\r\n */\r\n Context2D.prototype.measureText = function(text) {\r\n if (typeof text !== \"string\") {\r\n console.error(\r\n \"jsPDF.context2d.measureText: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.measureText\"\r\n );\r\n }\r\n var pdf = this.pdf;\r\n var k = this.pdf.internal.scaleFactor;\r\n\r\n var fontSize = pdf.internal.getFontSize();\r\n var txtWidth =\r\n (pdf.getStringUnitWidth(text) * fontSize) / pdf.internal.scaleFactor;\r\n txtWidth *= Math.round(((k * 96) / 72) * 10000) / 10000;\r\n\r\n var TextMetrics = function(options) {\r\n options = options || {};\r\n var _width = options.width || 0;\r\n Object.defineProperty(this, \"width\", {\r\n get: function() {\r\n return _width;\r\n }\r\n });\r\n return this;\r\n };\r\n return new TextMetrics({ width: txtWidth });\r\n };\r\n\r\n //Transformations\r\n\r\n /**\r\n * Scales the current drawing bigger or smaller\r\n *\r\n * @name scale\r\n * @function\r\n * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @description The scale() method scales the current drawing, bigger or smaller.\r\n */\r\n Context2D.prototype.scale = function(scalewidth, scaleheight) {\r\n if (isNaN(scalewidth) || isNaN(scaleheight)) {\r\n console.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\r\n }\r\n var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Rotates the current drawing\r\n *\r\n * @name rotate\r\n * @function\r\n * @param angle {Number} The rotation angle, in radians.\r\n * @description To calculate from degrees to radians: degrees*Math.PI/180.
    \r\n * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180\r\n */\r\n Context2D.prototype.rotate = function(angle) {\r\n if (isNaN(angle)) {\r\n console.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\r\n }\r\n var matrix = new Matrix(\r\n Math.cos(angle),\r\n Math.sin(angle),\r\n -Math.sin(angle),\r\n Math.cos(angle),\r\n 0.0,\r\n 0.0\r\n );\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Remaps the (0,0) position on the canvas\r\n *\r\n * @name translate\r\n * @function\r\n * @param x {Number} The value to add to horizontal (x) coordinates\r\n * @param y {Number} The value to add to vertical (y) coordinates\r\n * @description The translate() method remaps the (0,0) position on the canvas.\r\n */\r\n Context2D.prototype.translate = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\r\n }\r\n var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Replaces the current transformation matrix for the drawing\r\n *\r\n * @name transform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



    a c e

    b d f

    0 0 1

    In other words, the transform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.transform = function(a, b, c, d, e, f) {\r\n if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) {\r\n console.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\r\n }\r\n var matrix = new Matrix(a, b, c, d, e, f);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Resets the current transform to the identity matrix. Then runs transform()\r\n *\r\n * @name setTransform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN 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 OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\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 */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\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 */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\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 */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\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 */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\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 */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\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 */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\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 */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\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 \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"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 \"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 \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\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 \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\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 \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","/** @license\n *\n * jsPDF - PDF Document creation from JavaScript\n * Version 2.5.1 Built on 2022-01-28T15:37:57.791Z\n * CommitID 00000000\n *\n * Copyright (c) 2010-2021 James Hall , https://github.com/MrRio/jsPDF\n * 2015-2021 yWorks GmbH, http://www.yworks.com\n * 2015-2021 Lukas Holländer , https://github.com/HackbrettXXX\n * 2016-2018 Aras Abbasi \n * 2010 Aaron Spike, https://github.com/acspike\n * 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2012 Pablo Hess, https://github.com/pablohess\n * 2012 Florian Jenett, https://github.com/fjenett\n * 2013 Warren Weckesser, https://github.com/warrenweckesser\n * 2013 Youssef Beddad, https://github.com/lifof\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2013 Stefan Slonevskiy, https://github.com/stefslon\n * 2013 Jeremy Morel, https://github.com/jmorel\n * 2013 Christoph Hartmann, https://github.com/chris-rock\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Makes, https://github.com/dollaruw\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 Steven Spungin, https://github.com/Flamenco\n * 2014 Kenneth Glassey, https://github.com/Gavvers\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 * Contributor(s):\n * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n * kim3er, mfo, alnorth, Flamenco\n */\n\nimport\"core-js/es/promise\";import\"core-js/es/array/map\";import\"core-js/es/array/is-array\";import\"core-js/es/array/reduce\";import\"core-js/es/array/for-each\";import\"core-js/es/array/find\";import\"core-js/es/object/create\";import\"core-js/es/object/keys\";import\"core-js/es/object/values\";import\"core-js/es/object/assign\";import\"core-js/es/string/trim\";import\"core-js/es/string/trim-left\";import\"core-js/es/string/trim-right\";import\"core-js/es/number/is-integer\";import\"core-js/es/typed-array/uint8-array\";import\"core-js/es/typed-array/reduce\";var e=function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this}(),t=e.BlobBuilder||e.WebKitBlobBuilder||e.MSBlobBuilder||e.MozBlobBuilder;\n/**\n * @license\n * Blob.js\n * A Blob, File, FileReader & URL implementation.\n * 2018-08-09\n *\n * By Eli Grey, http://eligrey.com\n * By Jimmy Wärting, https://github.com/jimmywarting\n * License: MIT\n * See https://github.com/eligrey/Blob.js/blob/master/LICENSE.md\n */e.URL=e.URL||e.webkitURL||function(e,t){return(t=document.createElement(\"a\")).href=e,t};var r=e.Blob,o=URL.createObjectURL,n=URL.revokeObjectURL,i=e.Symbol&&e.Symbol.toStringTag,a=!1,s=!1,c=!!e.ArrayBuffer,l=t&&t.prototype.append&&t.prototype.getBlob;try{a=2===new Blob([\"ä\"]).size,s=2===new Blob([new Uint8Array([1,2])]).size}catch(e){}function p(e){return e.map((function(e){if(e.buffer instanceof ArrayBuffer){var t=e.buffer;if(e.byteLength!==t.byteLength){var r=new Uint8Array(e.byteLength);r.set(new Uint8Array(t,e.byteOffset,e.byteLength)),t=r.buffer}return t}return e}))}function f(e,r){r=r||{};var o=new t;return p(e).forEach((function(e){o.append(e)})),r.type?o.getBlob(r.type):o.getBlob()}function u(e,t){return new r(p(e),t||{})}if(e.Blob&&(f.prototype=Blob.prototype,u.prototype=Blob.prototype),i)try{File.prototype[i]=\"File\",Blob.prototype[i]=\"Blob\",FileReader.prototype[i]=\"FileReader\"}catch(e){}function d(){var t=!!e.ActiveXObject||\"-ms-scroll-limit\"in document.documentElement.style&&\"-ms-ime-align\"in document.documentElement.style,r=e.XMLHttpRequest&&e.XMLHttpRequest.prototype.send;t&&r&&(XMLHttpRequest.prototype.send=function(e){e instanceof Blob?(this.setRequestHeader(\"Content-Type\",e.type),r.call(this,e)):r.call(this,e)});try{new File([],\"\")}catch(t){try{var o=new Function('class File extends Blob {constructor(chunks, name, opts) {opts = opts || {};super(chunks, opts || {});this.name = name;this.lastModifiedDate = opts.lastModified ? new Date(opts.lastModified) : new Date;this.lastModified = +this.lastModifiedDate;}};return new File([], \"\"), File')();e.File=o}catch(t){o=function(e,t,r){var o=new Blob(e,r),n=r&&void 0!==r.lastModified?new Date(r.lastModified):new Date;return o.name=t,o.lastModifiedDate=n,o.lastModified=+n,o.toString=function(){return\"[object File]\"},i&&(o[i]=\"File\"),o};e.File=o}}}a?(d(),e.Blob=s?e.Blob:u):l?(d(),e.Blob=f):function(){function t(e){for(var t=[],r=0;r>6,128|63&o):o<55296||o>=57344?t.push(224|o>>12,128|o>>6&63,128|63&o):(r++,o=65536+((1023&o)<<10|1023&e.charCodeAt(r)),t.push(240|o>>18,128|o>>12&63,128|o>>6&63,128|63&o))}return t}function r(e){var t,r,o,n,i,a;for(t=\"\",o=e.length,r=0;r>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:t+=String.fromCharCode(n);break;case 12:case 13:i=e[r++],t+=String.fromCharCode((31&n)<<6|63&i);break;case 14:i=e[r++],a=e[r++],t+=String.fromCharCode((15&n)<<12|(63&i)<<6|(63&a)<<0)}return t}function i(e){for(var t=new Array(e.byteLength),r=new Uint8Array(e),o=t.length;o--;)t[o]=r[o];return t}function a(e){for(var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",r=[],o=0;o>2,p=(3&n)<<4|a>>4,f=(15&a)<<2|c>>6,u=63&c;s||(u=64,i||(f=64)),r.push(t[l],t[p],t[f],t[u])}return r.join(\"\")}var s=Object.create||function(e){function t(){}return t.prototype=e,new t};if(c)var l=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],p=ArrayBuffer.isView||function(e){return e&&l.indexOf(Object.prototype.toString.call(e))>-1};function f(e,r){for(var o=0,n=(e=e||[]).length;o>18&63,r=i>>12&63,o=i>>6&63,n=63&i,l[s++]=y.charAt(t)+y.charAt(r)+y.charAt(o)+y.charAt(n)}while(a>16&255,r=a>>8&255,o=255&a,l[c++]=64==n?String.fromCharCode(t):64==i?String.fromCharCode(t,r):String.fromCharCode(t,r,o)}while(s {\r\n if (isNaN(number)) return \"Invalid number\";\r\n\r\n // Convert number to string for processing\r\n const numberAsString = number.toString();\r\n\r\n // Split the number into integer and decimal parts\r\n let [integerPart, decimalPart] = numberAsString.split(\".\");\r\n\r\n // Use regular expression to insert commas as thousand separators in the integer part\r\n integerPart = integerPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n\r\n // Reassemble the number\r\n const formattedNumber = decimalPart\r\n ? `${integerPart}.${decimalPart}`\r\n : integerPart;\r\n\r\n return `$${formattedNumber}`;\r\n };\r\n\r\n //Variables de Resultados\r\n const [resultadosTSS, setResultadosTSS] = useState({});\r\n const [resultadosISR, setResultadosISR] = useState({});\r\n const [riesgoLaboralSelect, setRiesgoLaboralSelect] = useState(1);\r\n const [salarioNeto, setSalarioNeto] = useState(0);\r\n const [printHide, setPrintHide] = useState(true);\r\n const [shadowEffect1, setShadowEffect1] = useState(\"shadow-3xl\");\r\n const [shadowEffect2, setShadowEffect2] = useState(\"shadow-4xl\");\r\n const [paddingPrint, setPaddingPrint] = useState(0);\r\n const [graphData, setGraphData] = useState([]);\r\n const [legendFontSize, setLegendFontSize] = useState(18);\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\r\n const [showBreakdown, setShowBreakdown] = useState(false);\r\n\r\n const detectWindowResize = () => {\r\n setWindowWidth(window.innerWidth);\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"resize\", detectWindowResize);\r\n\r\n if (windowWidth < 700) {\r\n setLegendFontSize(16);\r\n } else {\r\n setLegendFontSize(18);\r\n }\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", detectWindowResize);\r\n };\r\n }, [windowWidth]);\r\n\r\n const options = {\r\n pieHole: 0.4,\r\n fontSize: legendFontSize,\r\n is3D: false,\r\n legend: { alignment: \"center\", position: \"bottom\" },\r\n // chartArea:{right:50}\r\n };\r\n\r\n const riesgoLaboralOptions = [\r\n {\r\n label: t(\"results.laboral-risk-opt-1\"),\r\n value: 1,\r\n percent: 0.011,\r\n },\r\n {\r\n label: t(\"results.laboral-risk-opt-2\"),\r\n value: 2,\r\n percent: 0.0115,\r\n },\r\n {\r\n label: t(\"results.laboral-risk-opt-3\"),\r\n value: 3,\r\n percent: 0.012,\r\n },\r\n {\r\n label: t(\"results.laboral-risk-opt-4\"),\r\n value: 4,\r\n percent: 0.013,\r\n },\r\n ];\r\n\r\n const handleChange = (selectedOption) => {\r\n setRiesgoLaboralSelect(selectedOption.value);\r\n };\r\n\r\n const generatePDF = () => {\r\n const input = document.getElementById(\"content\");\r\n html2canvas(input, {\r\n logging: true,\r\n letterRendering: 1,\r\n useCORS: true,\r\n }).then((canvas) => {\r\n const imgWidth = 408;\r\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\r\n const imgData = canvas.toDataURL(\"img/png\");\r\n const pdf = new jsPDF(\"l\", \"mm\", \"a3\");\r\n pdf.addImage(imgData, \"png\", 5, 0, imgWidth, imgHeight);\r\n pdf.addFont(\"montserrat\");\r\n pdf.text(t(\"results.print-title\"), 184, 260);\r\n pdf.addFont(\"montserrat\");\r\n pdf.setTextColor(0, 32, 255);\r\n pdf.text(t(\"results.print-link\"), 184, 270);\r\n pdf.save(\"resultados.pdf\");\r\n });\r\n };\r\n\r\n useLayoutEffect(() => {\r\n if (window.innerWidth < 700) {\r\n setLegendFontSize(16);\r\n } else {\r\n setLegendFontSize(18);\r\n }\r\n\r\n //Lógica de Cálculo\r\n\r\n //CALCULO TSS\r\n\r\n let ingresosCotizablesTSS =\r\n Number(state.sueldo) + Number(state.ingresosCotizables);\r\n let resultadosTSSLocal = {\r\n ingresosCotizables: ingresosCotizablesTSS,\r\n planPensiones:\r\n truncateDecimals(ingresosCotizablesTSS * TSS_PORCENT_PP * 100) / 100,\r\n planSalud:\r\n truncateDecimals(ingresosCotizablesTSS * TSS_PORCENT_SS * 100) / 100,\r\n dependientes: {\r\n cantidad: Number(state.dependientes),\r\n monto:\r\n truncateDecimals(\r\n Number(state.dependientes) *\r\n TSS_TARIFA_DEPENDIENTES_ADICIONALES *\r\n 100\r\n ) / 100,\r\n },\r\n total: 0,\r\n };\r\n\r\n if (ingresosCotizablesTSS > TSS_MAX_SALARIO_PP) {\r\n resultadosTSSLocal.planPensiones =\r\n truncateDecimals(TSS_MAX_SALARIO_PP * TSS_PORCENT_PP * 100) / 100;\r\n }\r\n if (ingresosCotizablesTSS > TSS_MAX_SALARIO_SS) {\r\n resultadosTSSLocal.planSalud =\r\n truncateDecimals(TSS_MAX_SALARIO_SS * TSS_PORCENT_SS * 100) / 100;\r\n }\r\n\r\n resultadosTSSLocal.total =\r\n resultadosTSSLocal.planPensiones +\r\n resultadosTSSLocal.planSalud +\r\n resultadosTSSLocal.dependientes.monto;\r\n resultadosTSSLocal.porcentaje =\r\n (resultadosTSSLocal.total * 1.0) /\r\n (resultadosTSSLocal.ingresosCotizables * 1.0);\r\n setResultadosTSS(resultadosTSSLocal);\r\n\r\n //CALCULO ISR\r\n let ingresosCotizablesISR =\r\n Number(state.sueldo) +\r\n Number(state.ingresosNoCotizables) +\r\n Number(state.ingresosCotizables);\r\n let resultadosISRLocal = {\r\n ingresosCotizables: ingresosCotizablesISR,\r\n salarioNetoImponible: ingresosCotizablesISR - resultadosTSSLocal.total,\r\n };\r\n let salarioNetoImponibleAnual =\r\n truncateDecimals(\r\n resultadosISRLocal.salarioNetoImponible * MESES_ANO * 100\r\n ) / 100;\r\n let montosLimites = [0];\r\n let ISRTotal = 0;\r\n console.log(ISRTotal);\r\n for (let i = 1; i < 4; i++) {\r\n if (\r\n (salarioNetoImponibleAnual < L_SUPERIORES[i] &&\r\n salarioNetoImponibleAnual > L_INFERIORES[i]) ||\r\n (i === 3 && salarioNetoImponibleAnual > L_SUPERIORES[i])\r\n ) {\r\n // console.log(\r\n // truncateDecimals(\r\n // (salarioNetoImponibleAnual - L_INFERIORES[i]) * TASA_EXCEDENTES[i]\r\n // ) / 12\r\n // );\r\n\r\n montosLimites.push(\r\n ((salarioNetoImponibleAnual - L_INFERIORES[i]) * TASA_EXCEDENTES[i]) /\r\n MESES_ANO\r\n );\r\n\r\n ISRTotal +=\r\n ((salarioNetoImponibleAnual - L_INFERIORES[i]) * TASA_EXCEDENTES[i]) /\r\n MESES_ANO;\r\n } else if (salarioNetoImponibleAnual > L_SUPERIORES[i]) {\r\n // console.log(\r\n // truncateDecimals(\r\n // (L_SUPERIORES[i] - L_INFERIORES[i]) * TASA_EXCEDENTES[i]\r\n // ) / 12\r\n // );\r\n\r\n if (i === 2) {\r\n montosLimites.push((79776 - 31216) / 12);\r\n } else\r\n montosLimites.push(\r\n truncateDecimals(\r\n (L_SUPERIORES[i] - L_INFERIORES[i]) * TASA_EXCEDENTES[i]\r\n ) / MESES_ANO\r\n );\r\n\r\n ISRTotal +=\r\n ((L_SUPERIORES[i] - L_INFERIORES[i]) * TASA_EXCEDENTES[i]) /\r\n MESES_ANO;\r\n } else {\r\n montosLimites.push(0);\r\n }\r\n }\r\n\r\n let ISRTotal2 = 0;\r\n\r\n if (\r\n salarioNetoImponibleAnual >= L_INFERIORES[1] &&\r\n salarioNetoImponibleAnual <= L_SUPERIORES[1]\r\n ) {\r\n ISRTotal2 =\r\n (salarioNetoImponibleAnual - L_INFERIORES[1]) * TASA_EXCEDENTES[1];\r\n } else if (\r\n salarioNetoImponibleAnual >= L_INFERIORES[2] &&\r\n salarioNetoImponibleAnual <= L_SUPERIORES[2]\r\n ) {\r\n ISRTotal2 =\r\n (salarioNetoImponibleAnual - L_INFERIORES[2]) * TASA_EXCEDENTES[2] +\r\n 31216;\r\n } else if (salarioNetoImponibleAnual >= L_INFERIORES[3]) {\r\n ISRTotal2 =\r\n (salarioNetoImponibleAnual - L_INFERIORES[3]) * TASA_EXCEDENTES[3] +\r\n 79776;\r\n } else {\r\n ISRTotal2 = 0;\r\n }\r\n\r\n resultadosISRLocal.montosLimites = montosLimites;\r\n resultadosISRLocal.total = ISRTotal2 / 12;\r\n resultadosISRLocal.porcentaje =\r\n resultadosISRLocal.total / resultadosISRLocal.salarioNetoImponible;\r\n setResultadosISR(resultadosISRLocal);\r\n\r\n //SALARIO NETO\r\n setSalarioNeto(\r\n Number(state.sueldo) +\r\n Number(state.ingresosCotizables) +\r\n Number(state.ingresosNoCotizables) -\r\n resultadosTSSLocal.total -\r\n resultadosISRLocal.total\r\n );\r\n\r\n setGraphData([\r\n [\"Montos Totales\", \"En Pesos Dominicanos ($DOP)\"],\r\n [\r\n t(\"results.net-salary\"),\r\n Number(state.sueldo) +\r\n Number(state.ingresosCotizables) +\r\n Number(state.ingresosNoCotizables) -\r\n resultadosTSSLocal.total -\r\n resultadosISRLocal.total,\r\n ],\r\n [t(\"results.salary-composition-tss-total\"), resultadosTSSLocal.total],\r\n [t(\"results.salary-composition-isr-total\"), resultadosISRLocal.total],\r\n ]);\r\n }, []);\r\n\r\n let truncateDecimals = function (number) {\r\n return Math[number < 0 ? \"ceil\" : \"floor\"](number);\r\n };\r\n\r\n useEffect(() => {\r\n // if(!printHide) window.print() ; setPrintHide(true)\r\n if (!printHide) {\r\n setPaddingPrint(20);\r\n setShadowEffect1(\"\");\r\n setShadowEffect2(\"\");\r\n generatePDF();\r\n setPrintHide(true);\r\n } else {\r\n setPaddingPrint(0);\r\n setShadowEffect1(\"shadow-3xl\");\r\n setShadowEffect2(\"shadow-4xl\");\r\n }\r\n }, [printHide]);\r\n\r\n const riesgoLaboralAmount =\r\n resultadosTSS.ingresosCotizables < TSS_LABORAL_RISK_LIMIT\r\n ? resultadosTSS.ingresosCotizables *\r\n riesgoLaboralOptions[riesgoLaboralSelect - 1].percent\r\n : TSS_LABORAL_RISK_LIMIT *\r\n riesgoLaboralOptions[riesgoLaboralSelect - 1].percent;\r\n\r\n const planPensionEmpleador =\r\n Math.min(resultadosTSS.ingresosCotizables, TSS_MAX_SALARIO_PP) *\r\n COMPANY_TSS_PORCENT_PP;\r\n const planSaludEmpleador =\r\n Math.min(resultadosTSS.ingresosCotizables, TSS_MAX_SALARIO_SS) *\r\n COMPANY_TSS_PORCENT_SS;\r\n // const totalAportesEmpleador =\r\n // planPensionEmpleador + planSaludEmpleador + riesgoLaboralAmount;\r\n\r\n const planPensionEmpleado =\r\n Math.min(resultadosTSS.ingresosCotizables, TSS_MAX_SALARIO_PP) *\r\n TSS_PORCENT_PP;\r\n const planSaludEmpleado =\r\n Math.min(resultadosTSS.ingresosCotizables, TSS_MAX_SALARIO_SS) *\r\n TSS_PORCENT_SS;\r\n // const dependientesAdicionales = resultadosTSS.dependientes?.monto || 0;\r\n // const totalAportesEmpleado =\r\n // planPensionEmpleado + planSaludEmpleado + dependientesAdicionales;\r\n\r\n // const totalAportesTSS = totalAportesEmpleador + totalAportesEmpleado;\r\n\r\n const distribucionAportesARS = [\r\n {\r\n label: t(\"results.employer-health\"),\r\n percent: COMPANY_TSS_PORCENT_SS,\r\n amount: planSaludEmpleador,\r\n },\r\n {\r\n label: t(\"results.employee-health\"),\r\n percent: TSS_PORCENT_SS,\r\n amount: planSaludEmpleado,\r\n },\r\n {\r\n label: t(\"results.health-contributions-total\"),\r\n percent: TSS_PORCENT_SS + COMPANY_TSS_PORCENT_SS,\r\n amount: planSaludEmpleado + planSaludEmpleador,\r\n },\r\n ];\r\n\r\n const detalleAportesARS = [\r\n { label: t(\"results.ars-breakdown-subtitle\"), percent: null },\r\n {\r\n label: t(\"results.health-care\"),\r\n percent: 0.0953,\r\n amount: resultadosTSS.ingresosCotizables * 0.0953,\r\n },\r\n {\r\n label: t(\"results.childcare\"),\r\n percent: 0.001,\r\n amount: resultadosTSS.ingresosCotizables * 0.001,\r\n },\r\n {\r\n label: t(\"results.subsidies\"),\r\n percent: 0.0043,\r\n amount: resultadosTSS.ingresosCotizables * 0.0043,\r\n },\r\n {\r\n label: t(\"results.superintendence-operation-sisalril\"),\r\n percent: 0.0007,\r\n amount: resultadosTSS.ingresosCotizables * 0.0007,\r\n },\r\n ];\r\n\r\n const distribucionAportesAFP = [\r\n {\r\n label: t(\"results.employer\"),\r\n percent: COMPANY_TSS_PORCENT_PP,\r\n amount: planPensionEmpleador,\r\n },\r\n {\r\n label: t(\"results.affiliate\"),\r\n percent: TSS_PORCENT_PP,\r\n amount: planPensionEmpleado,\r\n },\r\n {\r\n label: t(\"results.total-part\"),\r\n percent: COMPANY_TSS_PORCENT_PP + TSS_PORCENT_PP,\r\n amount: planPensionEmpleado + planPensionEmpleador,\r\n },\r\n { label: t(\"results.afp-breakdown-subtitle\"), percent: null },\r\n {\r\n label: t(\"results.personal-account\"),\r\n percent: 0.084,\r\n amount: resultadosTSS.ingresosCotizables * 0.084,\r\n },\r\n {\r\n label: t(\"results.life-insurance\"),\r\n percent: 0.0095,\r\n amount: resultadosTSS.ingresosCotizables * 0.0095,\r\n },\r\n {\r\n label: t(\"results.social-fund\"),\r\n percent: 0.004,\r\n amount: resultadosTSS.ingresosCotizables * 0.004,\r\n },\r\n {\r\n label: t(\"results.tss-operation\"),\r\n percent: 0.001,\r\n amount: resultadosTSS.ingresosCotizables * 0.001,\r\n },\r\n {\r\n label: t(\"results.superintendence-operation-pensions\"),\r\n percent: 0.0007,\r\n amount: resultadosTSS.ingresosCotizables * 0.0007,\r\n },\r\n {\r\n label: t(\"results.superintendence-operation-dida\"),\r\n percent: 0.0005,\r\n amount: resultadosTSS.ingresosCotizables * 0.0005,\r\n },\r\n ];\r\n // const distribucionAportes = [\r\n // // {\r\n // // label: t(\"results.affiliate\"),\r\n // // percent: 0.0287,\r\n // // amount: planPensionEmpleado,\r\n // // },\r\n // // {\r\n // // label: t(\"results.employer\"),\r\n // // percent: 0.071,\r\n // // amount: planPensionEmpleador,\r\n // // },\r\n // // {\r\n // // label: t(\"results.total-part\"),\r\n // // percent: 0.0997,\r\n // // amount: planPensionEmpleado + planPensionEmpleador,\r\n // // },\r\n // {\r\n // label: t(\"results.personal-account\"),\r\n // percent: 0.084,\r\n // amount: totalAportesEmpleado,\r\n // },\r\n // {\r\n // label: t(\"results.life-insurance\"),\r\n // percent: 0.0095,\r\n // amount: resultadosTSS.ingresosCotizables * 0.0095,\r\n // },\r\n // {\r\n // label: t(\"results.social-fund\"),\r\n // percent: 0.004,\r\n // amount: resultadosTSS.ingresosCotizables * 0.004,\r\n // },\r\n // {\r\n // label: t(\"results.tss-operation\"),\r\n // percent: 0.001,\r\n // amount: resultadosTSS.ingresosCotizables * 0.001,\r\n // },\r\n // {\r\n // label: t(\"results.superintendence-operation\"),\r\n // percent: 0.0007,\r\n // amount: resultadosTSS.ingresosCotizables * 0.0007,\r\n // },\r\n // {\r\n // label: t(\"results.dida-operation\"),\r\n // percent: 0.0005,\r\n // amount: resultadosTSS.ingresosCotizables * 0.0005,\r\n // },\r\n // ];\r\n\r\n return (\r\n \r\n {!printHide && (\r\n
    \r\n

    {format(new Date(), t(\"results.date-format\"))}

    \r\n
    \r\n )}\r\n {printHide && (\r\n
    \r\n {\r\n e.preventDefault();\r\n\r\n navigate(\"/calculadora-de-salarios/datos\", { state: state });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    0 ? \"block\" : \" hidden\"}>\r\n
    \r\n {/* Title */}\r\n

    \r\n {t(\"results.page-title\")}\r\n

    \r\n
    \r\n {/* Title Underline */}\r\n {printHide && (\r\n \r\n )}\r\n\r\n {/* Results Layout */}\r\n
    \r\n {/* Buttons */}\r\n {printHide && (\r\n
    \r\n {\r\n e.preventDefault();\r\n\r\n navigate(\"/calculadora-de-salarios/datos\", { state: state });\r\n }}\r\n className=\"inline-flex p-2 border-2 border-[#4856DF] rounded-full mr-2 hover:bg-[#F5F5F5]\"\r\n >\r\n \r\n \r\n \r\n {\" \"}\r\n {t(\"results.edit-button\")}\r\n \r\n {\r\n e.preventDefault();\r\n\r\n navigate(\"/calculadora-de-salarios/datos\", {\r\n state: {\r\n sueldo: 0,\r\n dependientes: 0,\r\n ingresosCotizables: 0,\r\n ingresosNoCotizables: 0,\r\n },\r\n });\r\n }}\r\n className=\"inline-flex p-2 border-2 border-[#4856DF] rounded-full mr-2 hover:bg-[#F5F5F5]\"\r\n >\r\n \r\n \r\n \r\n {t(\"results.new-button\")}\r\n \r\n {\r\n e.preventDefault();\r\n setPrintHide(false);\r\n }}\r\n className=\"hidden lg:inline-flex p-2 border-2 border-[#4856DF] rounded-full mr-2 hover:bg-[#F5F5F5]\"\r\n >\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {t(\"results.print-button\")}\r\n \r\n
    \r\n )}\r\n {/* TSS and ISR RESULTS */}\r\n
    \r\n {/* TSS */}\r\n
    \r\n

    \r\n {t(\"results.tss-result-title\")}{\" \"}\r\n {printHide && (\r\n \r\n
    {`${t(\r\n \"results.tss-tooltip-minimum-wage\"\r\n )}: ${formatter(\r\n (TSS_MAX_SALARIO_SS / 10).toFixed(2)\r\n )}`}
    \r\n
    \r\n {`${t(\r\n \"results.tss-tooltip-max-wage-pension-plan\"\r\n )}: ${formatter(TSS_MAX_SALARIO_PP.toFixed(2))}`}\r\n
    \r\n
    {`${t(\r\n \"results.tss-tooltip-max-wage-health-plan\"\r\n )}: ${formatter(TSS_MAX_SALARIO_SS.toFixed(2))}`}
    \r\n

    \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {/* Ingresos Cotizables Section */}\r\n
    \r\n \r\n \"\"\r\n
    \r\n {/* Display Ingresos Cotizables TSS */}\r\n
    \r\n \r\n\r\n

    \r\n {t(\"results.tss-result-subtitle\")}\r\n

    \r\n
    \r\n
    \r\n {/* Cuotas Section */}\r\n
    \r\n

    \r\n {t(\"results.tss-table-title\")}\r\n

    \r\n {/* Cuotas Box */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {t(\"results.tss-table-id\")}\r\n \r\n \r\n {t(\"results.tss-table-desc\")}\r\n \r\n \r\n {t(\"results.tss-table-quantity\")}\r\n \r\n \r\n {t(\"results.tss-table-rate\")}\r\n \r\n \r\n {t(\"results.tss-table-amount\")}\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n 1\r\n \r\n {t(\"results.tss-table-row-1-desc\")} (\r\n {TSS_PORCENT_PP * 100}%)\r\n \r\n -\r\n \r\n -\r\n \r\n \r\n
    \r\n 2\r\n \r\n {t(\"results.tss-table-row-2-desc\")} (\r\n {TSS_PORCENT_SS * 100}%)\r\n \r\n -\r\n \r\n -\r\n \r\n \r\n
    \r\n 3\r\n \r\n {t(\"results.tss-table-row-3-desc\")}\r\n \r\n {resultadosTSS?.dependientes?.cantidad}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Total

    \r\n

    (TSS)

    \r\n \r\n\r\n {/* \r\n ${\" \"}\r\n {truncateDecimals(\r\n Math.fround(resultadosTSS?.total * 100)\r\n ) / 100}\r\n */}\r\n
    \r\n
    \r\n

    %

    \r\n

    \r\n (TSS)\r\n

    \r\n {printHide && (\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
    \r\n
    \r\n\r\n {/* ISR */}\r\n
    \r\n \r\n

    \r\n {t(\"results.isr-result-title\")}\r\n

    \r\n {/* Ingresos Section */}\r\n
    \r\n
    \r\n \r\n \"\"\r\n
    \r\n\r\n {/* Display Ingresos Cotizables TSS */}\r\n
    \r\n \r\n\r\n

    \r\n {t(\"results.isr-quotable-income-subtitle\")}\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \"\"\r\n
    \r\n\r\n {/* Display Ingresos Cotizables TSS */}\r\n
    \r\n \r\n\r\n

    \r\n {t(\"results.isr-net-salary-subtitle\")}\r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n {/* Tabla ISR - DGII Section */}\r\n {resultadosISR.montosLimites && (\r\n
    \r\n

    \r\n {t(\"results.isr-table-title\")}\r\n

    \r\n {/* ISR Box */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {t(\"results.isr-table-id\")}\r\n \r\n \r\n {t(\"results.isr-table-low-limit\")}\r\n \r\n \r\n {t(\"results.isr-table-up-limit\")}\r\n \r\n \r\n {t(\"results.isr-table-rate\")}\r\n \r\n \r\n {t(\"results.isr-table-amount\")}\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 \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 1\r\n \r\n 0\r\n \r\n 34,685.00\r\n \r\n 0%\r\n \r\n \r\n
    \r\n 2\r\n \r\n 34,685.01\r\n \r\n 52,027.42\r\n \r\n 15%\r\n \r\n \r\n {/* \r\n ${\" \"}\r\n {truncateDecimals(\r\n Math.fround(\r\n resultadosISR?.montosLimites[1] * 100\r\n )\r\n ) / 100}\r\n */}\r\n
    \r\n 3\r\n \r\n 52,027.43\r\n \r\n 72,260.25\r\n \r\n 20%\r\n \r\n \r\n
    \r\n 4\r\n \r\n 72,260.26\r\n \r\n 999,999,999.00\r\n \r\n 25%\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Total

    \r\n

    \r\n (ISR)\r\n

    \r\n \r\n
    \r\n
    \r\n

    %

    \r\n

    \r\n (ISR)\r\n

    \r\n {printHide && (\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
    \r\n )}\r\n \r\n \r\n \r\n\r\n {/* Total Results */}\r\n \r\n {/* Total Box */}\r\n
    \r\n

    Total

    \r\n \r\n {t(\"results.total-income\")}

    =

    \r\n
    \r\n \r\n
    {\" \"}\r\n
    \r\n \r\n {t(\"results.total-discounts\")} ={\" \"}\r\n

    \r\n {t(\"results.total-discounts-formula\")}\r\n

    {\" \"}\r\n
    \r\n \r\n {t(\"results.total-discounts\")} ={\" \"}\r\n
    \r\n \r\n +\r\n \r\n ={\" \"}\r\n \r\n
    {\" \"}\r\n
    \r\n \r\n {t(\"results.net-salary\")}

    =

    \r\n

    \r\n {t(\"results.total-income\")} - {t(\"results.total-discounts\")}\r\n

    {\" \"}\r\n
    \r\n \r\n {t(\"results.net-salary\")}

    =

    \r\n
    \r\n \r\n -\r\n \r\n
    {\" \"}\r\n
    \r\n
    \r\n
    \r\n

    Total

    \r\n
    \r\n \r\n {t(\"results.net-salary\")} =\r\n {\" \"}\r\n \r\n
    \r\n
    \r\n \r\n\r\n {printHide && (\r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n {t(\"results.company-tss-table-title\")}{\" \"}\r\n {printHide && (\r\n \r\n
    {`${t(\r\n \"results.tss-tooltip-max-wage-arl\"\r\n )}: ${formatter(\r\n TSS_LABORAL_RISK_LIMIT.toFixed(2)\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 {/* Cuotas Box */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {t(\"results.tss-table-id\")}\r\n \r\n \r\n {t(\"results.tss-table-desc\")}\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n {t(\"results.tss-table-amount\")}\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n 1\r\n \r\n {t(\"results.tss-table-row-1-desc\")} (\r\n {COMPANY_TSS_PORCENT_PP * 100}%)\r\n \r\n {\" \"}\r\n \r\n {\" \"}\r\n \r\n \r\n
    \r\n 2\r\n \r\n {t(\"results.tss-table-row-2-desc\")} (\r\n {(COMPANY_TSS_PORCENT_SS * 100).toFixed(2)}\r\n %)\r\n \r\n {\" \"}\r\n \r\n {\" \"}\r\n \r\n \r\n
    \r\n 3\r\n \r\n {t(\"results.company-tss-table-row-3-desc\")}{\" \"}\r\n (\r\n {(\r\n riesgoLaboralOptions[\r\n riesgoLaboralSelect - 1\r\n ].percent * 100\r\n ).toFixed(2)}\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

    Total

    \r\n

    \r\n (TSS)\r\n

    \r\n \r\n
    \r\n
    \r\n

    %

    \r\n

    \r\n (TSS)\r\n

    \r\n {printHide && (\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 \r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n {t(\"results.total-tss\")}\r\n

    \r\n\r\n \r\n {t(\"results.total-tss\")} ={\" \"}\r\n

    \r\n {t(\"results.total-tss-formula\")}\r\n

    {\" \"}\r\n
    \r\n \r\n {t(\"results.employer-contribution\")} ={\" \"}\r\n

    \r\n {t(\"results.total-tss-employer-formula\")}\r\n

    {\" \"}\r\n
    \r\n \r\n {t(\"results.employer-contribution\")} ={\" \"}\r\n

    \r\n {\" \"}\r\n +{\" \"}\r\n {\" \"}\r\n +{\" \"}\r\n {\" \"}\r\n ={\" \"}\r\n \r\n

    {\" \"}\r\n
    \r\n \r\n {t(\"results.employee-contribution\")} ={\" \"}\r\n

    \r\n {t(\"results.total-tss-employee-formula\")}\r\n

    {\" \"}\r\n
    \r\n \r\n {t(\"results.employee-contribution\")} ={\" \"}\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 {t(\"results.total-tss\")} =\r\n {\" \"}\r\n \r\n
    \r\n
    \r\n \r\n \r\n )}\r\n\r\n {/* DESGLOCE APORTES desgloce aportes */}\r\n\r\n
    \r\n
    \r\n setShowBreakdown(!showBreakdown)}\r\n className={`lg:mt-6 w-fit mt-4 flex justify-center bg-[#2b4785] hover:bg-[#253558] text-white ring-2 shadow-md hover:shadow-xl ring-gray-500 outline-2 rounded-lg p-4 print:hidden`}\r\n >\r\n {showBreakdown\r\n ? t(\"results.hide-breakdown\")\r\n : t(\"results.show-breakdown\")}\r\n \r\n\r\n {showBreakdown && (\r\n
    \r\n

    \r\n {t(\"results.contribution-distribution\")}\r\n

    \r\n\r\n
    \r\n
    \r\n
    \r\n

    \r\n {t(\"results.ars-contributions\")}\r\n

    \r\n \r\n \r\n {distribucionAportesARS.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n {detalleAportesARS.map((item, index) => (\r\n \r\n {item.percent === null && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {item.label}\r\n \r\n \r\n \r\n \r\n {item.percent === null && (\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n
    {item.label}\r\n {item.percent &&\r\n `(${(item.percent * 100).toFixed(2)}%)`}\r\n \r\n {item.percent && (\r\n \r\n )}\r\n
    \r\n {item.percent &&\r\n `(${(item.percent * 100).toFixed(2)}%)`}\r\n \r\n {item.percent && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {t(\"results.afp-contributions\")}\r\n

    \r\n \r\n \r\n {distribucionAportesAFP.map((item, index) => (\r\n \r\n {item.percent === null && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {item.label}\r\n \r\n \r\n \r\n \r\n {item.percent === null && (\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n
    \r\n {item.percent &&\r\n `(${(item.percent * 100).toFixed(2)}%)`}\r\n \r\n {item.percent && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n {printHide && (\r\n
    \r\n

    \r\n {t(\"results.salary-composition-title\")}\r\n

    \r\n \r\n
    \r\n )}\r\n\r\n {printHide && (\r\n
    \r\n
    \r\n {t(\"results.laboral-risk-title\")}\r\n
    \r\n\r\n
    \r\n {/* Left Side */}\r\n\r\n
    \r\n
    \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n

    \r\n {t(\"results.tss-company-article-18\")}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {t(\"results.tss-company-laboral-risk-tooltip\")}\r\n

    \r\n

    \r\n {t(\"results.tss-company-laboral-risk-tooltip-1\")}\r\n

    \r\n

    \r\n {t(\"results.tss-company-laboral-risk-tooltip-2\")}\r\n

    \r\n

    \r\n {t(\"results.tss-company-laboral-risk-tooltip-3\")}\r\n

    \r\n

    \r\n {t(\"results.tss-company-laboral-risk-tooltip-4\")}\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 {t(\"results.tss-company-article-21\")}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {t(\"results.tss-company-article-21-desc-1\")}\r\n

    \r\n

    \r\n {t(\"results.tss-company-article-21-desc-2\")}\r\n

    \r\n

    \r\n {t(\"results.tss-company-article-21-desc-3\")}\r\n

    \r\n

    \r\n {t(\"results.tss-company-article-21-desc-4\")}\r\n

    \r\n

    \r\n {t(\"results.tss-company-article-21-desc-5\")}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n \r\n\r\n {/* {!printHide&&
    \r\n

    Esta herramienta es parte de:

    \r\n www.educacionlaboral.com.do\r\n
    } */}\r\n \r\n );\r\n}\r\n","import React from 'react';\nimport './App.css';\nimport Home from './pages/Home';\nimport References from './pages/References';\nimport Form from './pages/Form';\nimport Results from './pages/Results';\nimport {\n Routes,\n Route,\n} from 'react-router-dom';\n\n\n\n\nfunction App() {\n return (\n
    \n \n
    \n \n }>\n }>\n }>\n }>\n \n
    \n
    \n\n \n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n};\n\nexport { NavigationType } from \"react-router\";\nexport type {\n Hash,\n Location,\n Path,\n To,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n Pathname,\n Search,\n RoutesProps,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children?:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\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 if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$1(_objectSpread$1({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\n\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: function number(val, lng, options) {\n return new Intl.NumberFormat(lng, options).format(val);\n },\n currency: function currency(val, lng, options) {\n return new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n })).format(val);\n },\n datetime: function datetime(val, lng, options) {\n return new Intl.DateTimeFormat(lng, _objectSpread$4({}, options)).format(val);\n },\n relativetime: function relativetime(val, lng, options) {\n return new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options)).format(val, options.range || 'day');\n },\n list: function list(val, lng, options) {\n return new Intl.ListFormat(lng, _objectSpread$4({}, options)).format(val);\n }\n };\n this.init(options);\n }\n\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction noop() {}\n\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\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 _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\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 _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport default instance;\nexport { changeLanguage, createInstance, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import React from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport \"./index.css\";\nimport App from \"./App\";\nimport reportWebVitals from \"./reportWebVitals\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { I18nextProvider } from \"react-i18next\";\nimport i18next from \"i18next\";\n\nimport global_es from \"./translations/es/global.json\";\nimport global_en from \"./translations/en/global.json\";\n\ni18next.init({\n interpolation: { escapeValue: false },\n lng: localStorage.getItem(\"lng\") || \"es\",\n resources: {\n es: {\n global: global_es,\n },\n en: {\n global: global_en,\n },\n },\n});\n\nconst root = ReactDOM.createRoot(document.getElementById(\"root\"));\nroot.render(\n \n \n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"names":["global","require","isCallable","tryToString","TypeError","module","exports","argument","isConstructor","String","wellKnownSymbol","create","definePropertyModule","UNSCOPABLES","ArrayPrototype","Array","prototype","undefined","f","configurable","value","key","isPrototypeOf","it","Prototype","isObject","ArrayBuffer","DataView","NAME","Constructor","NATIVE_ARRAY_BUFFER","DESCRIPTORS","hasOwn","classof","createNonEnumerableProperty","defineBuiltIn","defineProperty","getPrototypeOf","setPrototypeOf","uid","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","Object","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isTypedArray","klass","Function","get","this","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","property","forced","options","ARRAY","TypedArrayConstructor","error","error2","exportTypedArrayStaticMethod","isView","uncurryThis","FunctionName","defineBuiltIns","fails","anInstance","toIntegerOrInfinity","toLength","toIndex","IEEE754","getOwnPropertyNames","arrayFill","arraySlice","setToStringTag","InternalStateModule","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","getInternalState","setInternalState","set","ARRAY_BUFFER","DATA_VIEW","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","RangeError","fill","reverse","packIEEE754","pack","unpackIEEE754","unpack","packInt8","number","packInt16","packInt32","unpackInt32","buffer","packFloat32","packFloat64","addGetter","view","count","index","isLittleEndian","intIndex","store","byteLength","bytes","start","byteOffset","conversion","i","INCORRECT_ARRAY_BUFFER_NAME","name","NaN","length","keys","j","constructor","testView","$setInt8","setInt8","getInt8","setUint8","unsafe","bufferLength","offset","getUint8","getInt16","arguments","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","toObject","toAbsoluteIndex","lengthOfArrayLike","min","Math","copyWithin","target","O","len","to","from","end","inc","argumentsLength","endPos","list","result","toIndexedObject","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","indexOf","bind","IndexedObject","arraySpeciesCreate","push","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","that","specificCreate","self","boundFunction","forEach","map","filter","some","every","find","findIndex","filterReject","apply","arrayMethodIsStrict","$lastIndexOf","lastIndexOf","NEGATIVE_ZERO","STRICT_METHOD","FORCED","searchElement","V8_VERSION","SPECIES","METHOD_NAME","array","foo","Boolean","method","call","aCallable","IS_RIGHT","memo","left","right","createProperty","max","k","fin","n","slice","floor","insertionSort","comparefn","element","merge","llength","rlength","lindex","rindex","mergeSort","middle","isArray","originalArray","arraySpeciesConstructor","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","next","done","exec","SKIP_CLOSING","ITERATION_SUPPORT","object","toString","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tag","tryGet","callee","ownKeys","getOwnPropertyDescriptorModule","source","exceptions","getOwnPropertyDescriptor","F","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","ENUMERABLE_NEXT","bitmap","enumerable","writable","toPropertyKey","propertyKey","makeBuiltIn","setGlobal","simple","noTargetGet","src","$","IS_PURE","createIteratorConstructor","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","proto","document","EXISTS","createElement","firefox","match","window","Deno","UA","test","userAgent","Pebble","process","getBuiltIn","version","versions","v8","split","webkit","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","sham","NATIVE_BIND","FunctionPrototype","Reflect","fn","hasOwnProperty","getDescriptor","aFunction","namespace","getMethod","anObject","getIteratorMethod","usingIterator","iteratorMethod","V","P","func","check","globalThis","a","b","console","abs","pow","log","LN2","mantissaLength","exponent","mantissa","c","exponentLength","eMax","eBias","rt","sign","Infinity","nBits","propertyIsEnumerable","dummy","Wrapper","NewTarget","NewTargetPrototype","functionToString","inspectSource","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","state","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","type","noop","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","Number","isInteger","isFinite","USE_SYMBOL_AS_UID","$Symbol","isArrayIteratorMethod","getIterator","iteratorClose","Result","stopped","ResultPrototype","iterable","unboundFunction","iterator","iterFn","step","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","kind","innerResult","innerError","PrototypeOfArrayIteratorPrototype","arrayIterator","obj","enforceInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","join","flush","head","last","notify","toggle","node","promise","then","macrotask","IS_IOS","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","IS_NODE","MutationObserver","WebKitMutationObserver","Promise","queueMicrotaskDescriptor","queueMicrotask","parent","domain","exit","enter","resolve","nextTick","createTextNode","observe","characterData","task","getOwnPropertySymbols","symbol","Symbol","PromiseCapability","reject","$$resolve","$$reject","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","assign","concat","A","B","alphabet","chr","T","S","activeXDocument","definePropertiesModule","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","style","display","appendChild","contentWindow","open","NullProtoObjectViaIFrame","Properties","V8_PROTOTYPE_DEFINE_BUG","defineProperties","props","IE8_DOM_DEFINE","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","names","$propertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","__proto__","TO_ENTRIES","input","pref","val","valueOf","getOwnPropertyNamesModule","NativePromiseConstructor","IS_BROWSER","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability","x","promiseCapability","checkCorrectnessOfIteration","all","Queue","tail","add","item","entry","CONSTRUCTOR_NAME","TAG","SHARED","mode","copyright","license","aConstructor","defaultConstructor","requireObjectCoercible","charAt","charCodeAt","CONVERT_TO_STRING","pos","first","second","position","size","codeAt","$trimEnd","forcedStringTrimMethod","trimEnd","whitespaces","$trimStart","trimStart","whitespace","ltrim","RegExp","rtrim","trim","location","defer","channel","port","validateArgumentsLength","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","counter","queue","ONREADYSTATECHANGE","run","id","runner","listener","event","post","postMessage","protocol","host","handler","args","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","integer","ceil","toPositiveInteger","BYTES","isSymbol","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","isIntegralNumber","toOffset","typedArrayFrom","setSpecies","inheritIfRequired","nativeDefineProperty","nativeGetOwnPropertyDescriptor","round","BYTES_PER_ELEMENT","WRONG_LENGTH","fromList","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","wrapper","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","exported","addElement","typedArrayOffset","$length","$len","arrayFromConstructorAndList","typedArraySpeciesConstructor","instance","mapfn","mapping","speciesConstructor","postfix","random","NATIVE_SYMBOL","passed","required","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","description","arrayBufferModule","$find","addToUnscopables","FIND","SKIPS_HOLES","defineIterator","ARRAY_ITERATOR","iterated","Arguments","$map","arrayMethodHasSpeciesSupport","$reduce","CHROME_VERSION","reduce","nativeKeys","$values","newPromiseCapabilityModule","perform","iterate","capability","$promiseResolve","remaining","alreadyCalled","real","onRejected","Internal","OwnPromiseCapability","nativeThen","microtask","hostReportErrors","PromiseConstructorDetection","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","ok","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","reason","initEvent","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","PromiseWrapper","wrap","promiseResolve","onFinally","isFunction","e","race","r","PromiseConstructorWrapper","CHECK_WRAPPER","STRING_ITERATOR","point","trimLeft","trimRight","$trim","u$ArrayCopyWithin","$every","$fill","$filter","fromSpeciesAndList","$findIndex","predicate","$forEach","$includes","$indexOf","ArrayIterators","arrayValues","arrayKeys","arrayEntries","GENERIC","ITERATOR_IS_VALUES","typedArrayValues","$join","separator","$reduceRight","$set","WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS","TO_OBJECT_BUG","arrayLike","$some","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","un$Sort","sort","ACCEPT_INCORRECT_ARGUMENTS","STABLE_SORT","mod","expected","y","getSortCompare","begin","beginIndex","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","createTypedArrayConstructor","init","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneUnlessOtherwiseSpecified","clone","deepmerge","defaultArrayMerge","getKeys","getEnumerableOwnPropertySymbols","propertyIsOnObject","_","mergeObject","destination","propertyIsUnsafe","customMerge","getMergeFunction","arrayMerge","sourceIsArray","Error","prev","deepmerge_1","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","d","g","h","l","m","p","q","t","v","w","z","u","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","extendStatics","__extends","__","__assign","s","__awaiter","thisArg","_arguments","generator","adopt","fulfilled","rejected","__generator","body","label","sent","trys","ops","verb","op","pop","__spreadArray","ar","top","width","height","Bounds","context","clientRect","windowBounds","domRectList","domRect","rect","EMPTY","parseBounds","fromClientRect","getBoundingClientRect","parseDocumentSize","documentElement","scrollWidth","offsetWidth","clientWidth","scrollHeight","offsetHeight","clientHeight","toCodePoints","str","codePoints","extra","fromCodePoint","codeUnits","codePoint","fromCharCode","chars","lookup","decode","base64","encoded1","encoded2","encoded3","encoded4","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_MASK","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","_byteLength","view32","view16","headerLength","Trie","initialValue","errorValue","highStart","highValueIndex","ix","LETTER_NUMBER_MODIFIER","BK","CR","LF","CM","NL","WJ","ZW","GL","SP","ZWJ","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED","BREAK_ALLOWED","UnicodeTrie","ALPHABETICS","HARD_LINE_BREAKS","SPACE","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","classType","isAdjacentWithSpaceIgnored","currentIndex","classTypes","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","before","prevIndex","cssFormattedClasses","wordBreak","isLetterNumber","forbiddenBreakpoints","letterNumber","Break","LineBreaker","lastEnd","nextIndex","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","EOF","ZERO","E","U","Z","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c1","c2","isIdentifierStart","c3","isNumberStart","stringToNumber","integers","int","parseInt","fraction","fracd","frac","expsign","exp","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","_value","Tokenizer","chunk","tokens","token","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","flags","consumeName","reconsumeCodePoint","consumeNumericToken","e1","e2","e3","consumeIdentLikeToken","a1","a2","a3","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","shift","unshift","delta","digits","questionMarks","digit","endDigits","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","SLICE_STACK_SIZE","amount","splice","endingCodePoint","consumeStringSlice","repr","consumeNumber","unit","hex","hexCodePoint","_tokens","Parser","tokenizer","read","parseComponentValue","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","consumeSimpleBlock","consumeFunction","block","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","arg","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","DEG","GRAD","RAD","TURN","angle","parse","_context","PI","isAngle","parseNamedSide","ident","deg","color","colorFunction","SUPPORTED_COLOR_FUNCTIONS","substring","namedColor","COLORS","toUpperCase","TRANSPARENT","isTransparent","asString","alpha","blue","green","red","getTokenColorValue","rgb","hue2rgb","t1","t2","hue","hsl","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","prefix","backgroundColor","format","parseColorStop","colorType","processColorStops","stops","lineLength","processStops","previous","stop_1","absoluteValue","gapBegin","stop_2","gapLength","gapValue","_a","getAngleFromCorner","corner","centerX","centerY","atan2","calculateGradientDirection","radian","sin","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","sqrt","findCorner","closest","cx","cy","optimumDistance","optimumCorner","calculateRadius","gradient","rx","ry","shape","linearGradient","firstToken","angleType","colorStop","prefixLinearGradient","webkitGradient","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","radialGradient","isColorStop","isAtPosition_1","acc","prefixRadialGradient","isLinearGradient","background","isRadialGradient","image","image_1","url","cache","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","direction","bit","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","fontSize","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflow","overflowWrap","paddingForSide","paddingTop","paddingRight","paddingBottom","paddingLeft","textAlign","textShadow","shadow","offsetX","offsetY","blur","textTransform","transform","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","zIndex","auto","order","time","opacity","textDecorationColor","textDecorationLine","line","fontFamily","accumulator","results","fontWeight","fontVariant","fontStyle","contains","counterIncrement","increments","filtered","increment","counterReset","resets","reset","duration","quotes","open_1","close_1","getQuote","depth","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","declaration","animationDuration","cssFloat","overflowTuple","overflowX","overflowY","_b","textDecoration","CSSParsedDeclaration","isPositioned","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","getAttribute","isDebugging","elementType","textNodes","elements","styles","getComputedStyle","isHTMLElementNode","bounds","PseudoElementType","Prepend","Control","Extend","SpacingMark","L","LV","LVT","Extended_Pictographic","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","createRange","range","testElement","selectNode","rangeBounds","rangeHeight","testIOSLineBreak","wordSpacing","innerHTML","repeat","firstChild","textList","supports","text","setStart","setEnd","boundAhead","testCORS","Image","crossOrigin","testResponseType","XMLHttpRequest","responseType","testSVG","img","canvas","ctx","getContext","drawImage","toDataURL","isGreenPixel","testForeignObject","fillStyle","fillRect","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG","getImageData","catch","xmlns","createElementNS","foreignObject","setAttributeNS","onload","onerror","encodeURIComponent","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","SUPPORT_WORD_BREAKING","SUPPORT_SVG_DRAWING","SUPPORT_FOREIGNOBJECT_DRAWING","fetch","SUPPORT_CORS_IMAGES","SUPPORT_RESPONSE_TYPE","SUPPORT_CORS_XHR","SUPPORT_NATIVE_TEXT_SEGMENTATION","Intl","Segmenter","parseTextBounds","breakText","textBounds","clientRects","getClientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","TextBounds","fromDOMRectList","replacementNode","splitText","getWrapperBounds","ownerDocument","cloneNode","parentNode","replaceChild","segmenter","granularity","segment","segmentWords","breakWords","wordSeparators","words","word_1","CAPITALIZE","capitalize","p1","p2","_super","_this","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","ElementContainer","setAttribute","baseVal","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","placeholder","CHECKBOX","RADIO","INPUT_COLOR","checked","option","selectedIndex","tree","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","root","childNode","nextNode","nextSibling","isTextNode","TextContainer","isElementNode","isSlotElement","assignedNodes","container","createContainer","isVisible","createsRealStackingContext","createsStackingContext","tagName","slot","shadowRoot","isTextareaElement","isSVGElement","isSelectElement","isImageElement","ImageElementContainer","isCanvasElement","CanvasElementContainer","SVGElementContainer","isLIElement","LIElementContainer","isOLElement","OLElementContainer","isInputElement","InputElementContainer","SelectElementContainer","TextareaElementContainer","isIFrameElement","IFrameElementContainer","isPositionedWithZIndex","isTransformed","isBodyElement","isFloating","nodeType","Node","TEXT_NODE","ELEMENT_NODE","isSVGElementNode","className","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","counters","CounterState","canReset","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","fallback","suffix","createCounterText","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","tmp","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","scrolledElements","referenceElement","quoteDepth","DocumentCloner","windowSize","createIFrameContainer","scrollX","defaultView","pageXOffset","scrollY","pageYOffset","cloneWindow","documentClone","iframeLoad","iframeLoader","restoreNodeScroll","scrollTo","navigator","logger","warn","onclone","clonedReferenceElement","nodeName","fonts","ready","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createCanvasClone","createVideoClone","createStyleClone","srcset","loading","createCustomElementClone","copyCSSStyles","sheet","cssRules","css","rule","cssText","textContent","inlineImages","info","clonedCanvas","clonedCtx","allowTaint","putImageData","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","child","copyStyles","hasAttribute","ignoreElements","assignedNode","appendChildNode","createElementClone","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","CSSParsedCounterDeclaration","resolvePseudoContent","BEFORE","cloneChildNodes","insertBefore","after","AFTER","scrollTop","scrollLeft","pseudoElt","CSSParsedPseudoDeclaration","anonymousReplacedElement","attr","counterStyle","counterState","getCounterValue","counterType","delim","counterStates","getCounterValues","counterType_1","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","CORNER","cloneIframeContainer","border","scrolling","imageReady","complete","images","interval","setInterval","childNodes","readyState","clearInterval","ignoredStyleProperties","setProperty","getPropertyValue","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","link","_link","href","hostname","getOrigin","_origin","_options","_cache","Cache","isBlobImage","isRenderable","loadImage","isSameOrigin","useCORS","isInlineImage","useProxy","proxy","debug","isInlineBase64Image","imageTimeout","xhr","status","response","reader_1","FileReader","readAsDataURL","queryString","timeout_1","timeout","ontimeout","send","INLINE_SVG","INLINE_BASE64","INLINE_IMG","isSVG","substr","Vector","deltaX","deltaY","lerp","startControl","endControl","BezierCurve","firstHalf","ab","bc","cd","abbc","bccd","dest","isBezierCurve","path","tlh","tlv","trh","trv","brh","brv","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","isTransformEffect","effect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","effects","BoundCurves","OpacityEffect","TransformEffect","borderBox","paddingBox","ClipEffect","ElementPaint","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","stack","StackingContext","order_1","index_1","index_2","isInlineLevel","processListItems","owner","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","subdivide","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","AUTO","hasIntrinsicValue","intrinsicProportion","hasIntrinsicProportion","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_3","height_3","SMALL_IMAGE","SAMPLE_TEXT","_data","_document","FontMetrics","span","margin","padding","whiteSpace","verticalAlign","baseline","offsetTop","parseMetrics","MASK_OFFSET","scale","fontMetrics","translate","textBaseline","_activeEffects","CanvasRenderer","popEffect","applyEffect","save","globalAlpha","clip","restore","renderStackContent","paint","renderNodeBackgroundAndBorders","renderNodeContent","fillText","letter","measureText","variant","fixIOSSystemFonts","createFontStyle","font","getMetrics","paintOrderLayer","renderTextWithLetterSpacing","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","chrome","strokeText","box","applyEffects","getEffects","_i","renderTextNode","_c","renderReplacedElement","beginPath","arc","isTextInputElement","canvasTextAlign","_p","renderStack","renderNode","_e","_d","_g","_f","_j","_h","_l","_k","_o","_m","paths","moveTo","lineTo","formatPath","closePath","bezierCurveTo","pattern","this_1","createPattern","resizeImage","renderRepeat","x0","x1","y0","y1","gradient_1","createLinearGradient","addColorStop","top_1","radialGradient_1","createRadialGradient","midX","midY","invF","curvePoints","renderSolidBorder","outerPaths","innerPaths","hasBackground","borders","calculateBackgroundCurvedPaintingArea","renderBackgroundImage","borderBoxArea","maskOffset","shadowPaintingArea","mask","borders_1","renderDashedDottedBorder","renderDoubleBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","setLineDash","lineCap","stroke","path1","path2","Renderer","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","enabled","Date","Logger","getTime","instanceName","Context","instanceCount","logging","html2canvas","renderElement","setContext","opts","resourceOptions","contextOptions","windowOptions","windowWidth","innerWidth","windowHeight","innerHeight","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","toIFrame","_u","parseBackgroundColor","renderOptions","devicePixelRatio","_q","_r","_s","removeContainer","_t","destroy","backgroundColorOverride","defaultBackgroundColor","stdOnEnd","script","cb","ieOnEnd","onreadystatechange","getElementsByTagName","charset","async","attrs","setAttributes","safeIsNaN","isNaN","areInputsEqual","newInputs","lastInputs","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","timeoutDuration","longerTimeoutBrowsers","isBrowser","scheduled","functionToCheck","getStyleComputedProperty","getParentNode","getScrollParent","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","commonAncestorContainer","firstElementChild","isOffsetContainer","element1root","getScroll","upperSide","scrollingElement","includeScroll","subtract","modifier","bottom","getBordersSize","axis","sideA","sideB","parseFloat","getSize","computedStyle","getWindowSizes","getClientRect","offsets","sizes","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","children","fixedPosition","runIsIE","isHTML","childrenRect","parentRect","scrollParent","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","isFixed","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","boundariesElement","boundaries","boundariesNode","isPaddingNumber","getArea","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","runModifiers","modifiers","ends","prop","cur","update","isDestroyed","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","removeAttribute","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","callback","scrollParents","isBody","passive","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","removeEventListener","setStyles","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","requested","validPlacements","placements","clockwise","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","mergeWithPrevious","toValue","index2","shiftvariation","isVertical","shiftOffsets","_extends","_ref","transformProp","popperStyles","priority","escapeWithReference","opSide","arrowElement","querySelector","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","arrow","_data$offsets$arrow","flipped","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","subtractLength","bound","hide","attributes","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","prefixedProperty","invertTop","invertLeft","arrowStyles","modifierOptions","Popper","requestAnimationFrame","debounce","Defaults","jquery","onLoad","Utils","PopperUtils","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","err","getShim","ReactPropTypes","bigint","bool","any","arrayOf","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","aa","ba","da","Set","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","qa","ra","sa","oa","pa","na","xlinkHref","ta","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ua","va","wa","xa","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","prepareStackTrace","Oa","Pa","_payload","_init","Qa","Ra","Sa","Ua","_valueTracker","getValue","setValue","stopTracking","Ta","Va","Wa","activeElement","Xa","defaultChecked","defaultValue","_wrapperState","initialChecked","Ya","controlled","Za","$a","bb","db","eb","selected","defaultSelected","disabled","fb","dangerouslySetInnerHTML","gb","hb","ib","jb","kb","lb","mb","namespaceURI","MSApp","execUnsafeLocalFunction","nb","lastChild","nodeValue","ob","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","pb","qb","rb","sb","menuitem","base","br","col","embed","hr","keygen","meta","param","track","wbr","tb","ub","is","vb","wb","srcElement","correspondingUseElement","xb","yb","zb","Ab","Bb","stateNode","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","onError","Nb","Ob","Pb","Qb","Rb","Sb","Ub","alternate","return","Vb","memoizedState","dehydrated","Wb","Yb","sibling","Xb","Zb","$b","unstable_scheduleCallback","ac","unstable_cancelCallback","unstable_shouldYield","cc","unstable_requestPaint","unstable_now","dc","unstable_getCurrentPriorityLevel","ec","unstable_ImmediatePriority","fc","unstable_UserBlockingPriority","gc","unstable_NormalPriority","hc","unstable_LowPriority","ic","unstable_IdlePriority","jc","kc","nc","clz32","oc","pc","qc","rc","sc","tc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","uc","wc","xc","yc","zc","eventTimes","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Map","Oc","Pc","Qc","Rc","delete","pointerId","Sc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Uc","Vc","isDehydrated","containerInfo","Wc","Xc","Yc","Zc","$c","ad","bd","ReactCurrentBatchConfig","dd","transition","ed","fd","gd","hd","Tc","stopPropagation","jd","kd","ld","md","nd","keyCode","charCode","od","pd","qd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","vd","wd","xd","rd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","sd","td","detail","ud","zd","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","yd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Ad","Cd","dataTransfer","Ed","Gd","animationName","elapsedTime","pseudoElement","Hd","clipboardData","Id","Kd","Ld","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Md","Nd","Alt","Meta","Shift","Od","Pd","code","locale","which","Qd","Sd","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Ud","touches","targetTouches","changedTouches","Wd","Xd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ke","date","datetime","email","month","password","tel","week","le","me","ne","listeners","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","oninput","ze","detachEvent","Ae","Be","attachEvent","Ce","De","Ee","Ge","He","Ie","Je","Ke","Le","HTMLIFrameElement","Me","contentEditable","Ne","focusedElem","selectionRange","selectionStart","selectionEnd","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","removeAllRanges","addRange","focus","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","animationend","animationiteration","animationstart","transitionend","We","Xe","Ye","animation","Ze","$e","af","bf","cf","df","ef","ff","gf","kf","lf","mf","Tb","D","nf","of","pf","qf","rf","capture","J","sf","tf","uf","vf","ya","ca","ie","char","je","wf","xf","yf","zf","Af","Bf","Cf","Df","__html","Ef","Ff","clearTimeout","Gf","If","Hf","Jf","Kf","Lf","previousSibling","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","G","Uf","H","Vf","Wf","Xf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Yf","Zf","$f","ag","getChildContext","bg","__reactInternalMemoizedMergedChildContext","cg","dg","eg","fg","gg","ig","jg","kg","lg","mg","ng","og","pg","qg","_currentValue","rg","childLanes","sg","dependencies","firstContext","lanes","tg","ug","memoizedValue","vg","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","pending","interleaved","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Component","refs","Ig","Mg","isMounted","_reactInternals","enqueueSetState","Jg","Kg","Lg","enqueueReplaceState","enqueueForceUpdate","Ng","shouldComponentUpdate","isPureReactComponent","Og","updater","Pg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Qg","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","I","fh","gh","hh","deletions","ih","pendingProps","treeContext","retryLane","jh","kh","lh","mh","memoizedProps","nh","oh","ph","ref","_owner","_stringRef","qh","rh","sh","th","uh","vh","implementation","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","K","Jh","revealOrder","Kh","Lh","_workInProgressVersionPrimary","Mh","ReactCurrentDispatcher","Nh","Oh","M","N","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","baseQueue","ai","bi","ci","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","di","ei","fi","gi","hi","getSnapshot","ii","ji","ki","lastEffect","stores","li","mi","ni","deps","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Hi","message","Ii","Ti","Vi","Wi","Ji","Ki","Li","Mi","Ni","componentDidCatch","Oi","componentStack","Pi","pingCache","Qi","Ri","Si","Xi","tailMode","Q","subtreeFlags","Yi","pendingContext","Zi","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","autoFocus","R","$i","rendering","aj","renderingStartTime","isBackwards","bj","cj","dj","ReactCurrentOwner","ej","fj","gj","hj","ij","jj","kj","lj","baseLanes","cachePool","transitions","mj","nj","oj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","_reactRetry","Aj","Bj","Cj","Dj","Ej","Gj","Hj","Ij","WeakSet","Jj","Kj","Lj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","_reactRootContainer","Uj","Vj","Wj","Xj","onCommitFiberUnmount","componentWillUnmount","Yj","Zj","ak","ck","dk","ek","fk","gk","hk","ik","__reactInternalSnapshotBeforeUpdate","Uk","jk","kk","lk","mk","W","X","Y","nk","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","callbackNode","expirationTimes","expiredLanes","vc","callbackPriority","hg","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","finishedWork","finishedLanes","Ok","timeoutHandle","Pk","Qk","Rk","Sk","Tk","mutableReadLanes","Ac","Mj","onCommitFiberRoot","lc","onRecoverableError","Vk","onPostCommitFiberRoot","Wk","Xk","Zk","isReactComponent","pendingChildren","$k","mutableSourceEagerHydrationData","al","pendingSuspenseBoundaries","bl","cl","dl","fl","hl","Fj","Yk","jl","reportError","kl","_internalRoot","ll","ml","nl","ol","ql","pl","unmount","unstable_scheduleHydration","querySelectorAll","JSON","stringify","form","rl","usingClientEntryPoint","Events","sl","findFiberByHostInstance","bundleType","rendererPackageName","tl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","ul","isDisabled","supportsFiber","inject","createPortal","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","hasElementType","hasMap","hasSet","hasArrayBuffer","equal","_typeof","_react","__esModule","_getRequireWildcardCache","newObj","hasPropertyDescriptor","desc","_interopRequireWildcard","_reactFastCompare","_props","_utils","_classCallCheck","_defineProperties","_setPrototypeOf","o","_createSuper","Derived","hasNativeReflectConstruct","Proxy","_isNativeReflectConstruct","Super","_getPrototypeOf","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_defineProperty","Player","_Component","subClass","superClass","_inherits","protoProps","staticProps","_len","_args","_key","player","load","progress","isReady","playedSeconds","getCurrentTime","loadedSeconds","getSecondsLoaded","getDuration","played","loaded","prevPlayed","prevLoaded","onProgress","progressTimeout","progressFrequency","progressInterval","mounted","isLoading","_this$props","onReady","playing","volume","muted","setVolume","loadOnReady","play","handleDurationCheck","isPlaying","_this$props2","onStart","onPlay","playbackRate","startOnPlay","setPlaybackRate","seekOnPlay","seekTo","onPause","_this$props3","activePlayer","loop","onEnded","loopOnEnded","_this$props4","durationCheckTimeout","onDurationCalled","onDuration","stopOnUnmount","disablePIP","prevProps","_this2","_this$props5","pip","disableDeferredLoading","forceLoad","isMediaStream","pause","enablePIP","mute","unmute","setLoop","_this3","onMount","handlePlayerMount","handleReady","handlePlay","handlePause","handleEnded","onLoaded","handleLoaded","handleError","enumerableOnly","sym","_objectSpread","getOwnPropertyDescriptors","ICON_SIZE","Preview","fetchImage","light","oEmbedUrl","setState","json","thumbnail_url","playIcon","previewTabIndex","flexCenter","alignItems","justifyContent","preview","cursor","borderRadius","borderStyle","borderWidth","borderColor","defaultPlayIcon","tabIndex","onKeyPress","handleKeyPress","createReactPlayer","_deepmerge","_interopRequireDefault","_memoizeOne","_Player3","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","arr2","lazy","IS_GLOBAL","SUPPORTED_PROPS","UniversalSuspense","customPlayers","players","_class","_temp","ReactPlayer","showPreview","_wrapper","_player","onClickPreview","getInternalPlayer","_arr","canPlay","config","omit","getActivePlayer","getConfig","references","lazyPlayer","nextProps","nextState","handleClickPreview","getAttributes","renderPreview","renderActivePlayer","_i2","_arr2","_i3","_arr3","_Player2","canEnablePIP","_players","_ReactPlayer","_default","FLV_EXTENSIONS","DASH_EXTENSIONS","HLS_EXTENSIONS","VIDEO_EXTENSIONS","AUDIO_EXTENSIONS","MATCH_URL_KALTURA","MATCH_URL_VIDYARD","MATCH_URL_MIXCLOUD","MATCH_URL_DAILYMOTION","MATCH_URL_TWITCH_CHANNEL","MATCH_URL_TWITCH_VIDEO","MATCH_URL_WISTIA","MATCH_URL_STREAMABLE","MATCH_URL_FACEBOOK_WATCH","MATCH_URL_FACEBOOK","MATCH_URL_VIMEO","MATCH_URL_SOUNDCLOUD","MATCH_URL_YOUTUBE","_createForOfIteratorHelper","allowArrayLike","normalCompletion","didErr","_e2","youtube","soundcloud","vimeo","facebook","streamable","wistia","twitch","dailymotion","mixcloud","vidyard","kaltura","file","canPlayFile","_step","_iterator","isBlobUrl","_patterns","_slicedToArray","_arrayWithHoles","_n","_iterableToArrayLimit","_nonIterableRest","DailyMotion","callPlayer","controls","parseStartTime","autoplay","getSDK","DM","params","origin","events","apiready","seeked","onSeek","currentTime","video_end","durationchange","onDurationChange","waiting","onBuffer","seconds","bufferedTime","SDK_URL","SDK_GLOBAL_READY","PLAYER_ID_PREFIX","Facebook","playerId","randomString","FB","XFBML","appId","xfbml","Event","subscribe","msg","playerID","onBufferEnd","getElementById","HAS_NAVIGATOR","IS_IPAD_PRO","platform","maxTouchPoints","MSStream","MATCH_DROPBOX_URL","MATCH_CLOUDFLARE_STREAM","FilePlayer","_this$props6","_this$props7","onPlaybackRateChange","_this$props8","onEnablePIP","_this$props9","onDisablePIP","supportsWebKitPresentationMode","webkitPresentationMode","prevPlayer","addListeners","shouldUseAudio","removeListeners","srcObject","hls","_this$props10","playsinline","onPlayBackRateChange","onPresentationModeChange","shouldUseHLS","forceVideo","poster","forceAudio","forceHLS","forceDASH","forceFLV","_this$props$config","hlsVersion","hlsOptions","dashVersion","flvVersion","dash","Hls","on","MANIFEST_PARSED","ERROR","loadSource","attachMedia","shouldUseDASH","dashjs","MediaPlayer","initialize","getDebug","setLogToBrowserConsole","updateSettings","logLevel","Debug","LOG_LEVEL_NONE","shouldUseFLV","flvjs","flv","createPlayer","attachMediaElement","URL","createObjectURL","requestPictureInPicture","pictureInPictureElement","webkitSetPresentationMode","exitPictureInPicture","rate","_this$player","seekable","buffered","useHLS","useDASH","useFLV","_this$props11","getSource","preload","autoPlay","renderSourceElement","tracks","renderTrack","Kaltura","playerjs","secondsLoaded","frameBorder","allow","referrerPolicy","Mixcloud","PlayerWidget","ended","query","feed","SoundCloud","SC","_SC$Widget$Events","Widget","PLAY","PLAY_PROGRESS","PAUSE","FINISH","currentPosition","fractionLoaded","loadedProgress","Streamable","_ref2","percent","Twitch","isChannel","setChannel","setVideo","_Twitch$Player","READY","PLAYING","ENDED","ONLINE","OFFLINE","SEEK","Vidyard","api","addReadyListener","renderPlayer","uuid","getPlayerMetadata","length_in_seconds","VidyardV4","destroyPlayer","Vimeo","_this2$props$config","playerOptions","title","refreshDuration","Wistia","_onReady","customControls","control","defineControl","_wq","silentAutoPlay","controlsVisibleOnLoad","fullscreenButton","playbar","playbackRateControl","qualityControl","volumeControl","settingsControl","smallPlayButton","unbind","videoID","SDK_GLOBAL","MATCH_PLAYLIST","MATCH_USER_UPLOADS","MATCH_NOCOOKIE","YouTube","listType","playlist","getID","playerVars","onUnstarted","_window$SDK_GLOBAL$Pl","PlayerState","UNSTARTED","PAUSED","BUFFERING","CUED","isPlaylist","_onError","embedOptions","loadPlaylist","parsePlaylist","cueVideoById","videoId","startSeconds","endSeconds","parseEndTime","YT","onStateChange","pictureInPictureEnabled","_propTypes","visual","buying","liking","download","sharing","show_comments","show_playcount","showinfo","rel","iv_load_policy","modestbranding","autopause","byline","portrait","hide_cover","parseTimeParam","MATCH_START_QUERY","MATCH_END_QUERY","sdkGlobal","sdkReady","isLoaded","fetchScript","_loadScript","existingGlobal","getGlobal","requests","sdk","request","previousOnReady","arrays","omitKeys","output","_keys","_len2","_key2","MediaStream","notMobile","webkitSupportsPresentationMode","MATCH_START_STAMP","MATCH_NUMERIC","stamp","_array2","period","parseTimeString","factory","modules","__webpack_require__","Browser","SUPPORTED","SUPPORTS_TOUCH","touch","dynamicInputDetection","iOS","Store","Selectors","POPPER","TOOLTIP","CONTENT","ARROW","TOOLTIPPED_EL","CONTROLLER","animateFill","arrowSize","delay","trigger","interactive","interactiveBorder","theme","hideOnClick","followCursor","inertia","flipDuration","sticky","stickyDuration","appendTo","touchHold","performance","dynamicTitle","reactInstance","popperOptions","onRequestClose","DefaultsKeys","prefixedProp","checkFn","parentSelector","selector","_matches","tooltip","_globals","circle","defaultMatchSelector","matches","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","stopPortalEvent","hideDelay","hideDuration","onShow","onShown","onHide","onHidden","unmountHTMLWhenHide","propKeys","Tooltip","initTippy","_initTippy","destroyTippy","_destroyTippy","updateTippy","_updateTippy","updateReactDom","_updateReactDom","showTooltip","_showTooltip","hideTooltip","_hideTooltip","_updateSettings","reactDOMValue","propChanges","detectPropsChanged","tippy","getPopperElement","tooltipDOM","show","updateForReact","reactDOM","setReactDOMValue","newReactDOM","rawTemplate","Tag","_react2","_this4","onContextMenu","onDoubleClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onMouseUp","onKeyDown","onKeyUp","onFocus","onBlur","onChange","onInput","onInvalid","onSubmit","refData","settings","halfPopperWidth","halfPopperHeight","pageWidth","isRightOverflowing","isLeftOverflowing","__WEBPACK_EXTERNAL_MODULE_13__","withTooltip","touchHandler","classList","mousemoveHandler","remove","msMaxTouchPoints","templateId","observer","popperInstance","childList","subtree","_mutationObserver","els","idCounter","handlers","_getEventListenerHandlers2","tippyInstance","handleTrigger","handleMouseleave","handleBlur","showDelay","touchWait","clearTimeouts","_show","_delay","mouseenterTouch","isClick","isNotPersistent","callbacks","wait","click","handleMousemove","triggerHide","closestTooltippedEl","isOverPopper","isOverEl","isClickTriggered","instanceSettings","exclude","isHideOnClick","isNotCurrentRef","updatePosition","transitionendFired","listenerCallback","_transitionendTimeout","Tippy","destroyed","shown","hidden","_createTooltips2","newSettings","updatedContent","tooltipContent","_reactDom2","customDuration","_duration","_onShownFired","isUnmount","_isLast","disconnect","storeLength","disableDynamicInputDetection","enableDynamicInputDetection","corePosition","borderWithDistance","exceeds","__WEBPACK_EXTERNAL_MODULE_38__","__WEBPACK_EXTERNAL_MODULE_39__","__self","__source","jsx","jsxs","forceUpdate","escape","_status","_result","default","Children","toArray","only","PureComponent","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","startTransition","unstable_act","sortIndex","startTime","expirationTime","priorityLevel","scheduling","isInputPending","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","_regeneratorRuntime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","abrupt","record","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","genFun","ctor","mark","awrap","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_createClass","possibleConstructorReturn","arrayWithHoles","unsupportedIterableToArray","nonIterableRest","arrayLikeToArray","iterableToArray","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","leafPrototypes","ns","def","definition","chunkId","promises","miniCssF","inProgress","dataWebpackPrefix","needAttach","scripts","onScriptComplete","doneFns","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","chunkLoadingGlobal","NavigationContext","React","LocationContext","RouteContext","outlet","invariant","cond","matchRoutes","routes","locationArg","basename","pathname","stripBasename","parsePath","branches","flattenRoutes","score","siblings","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matchRouteBranch","parentsMeta","parentPath","route","relativePath","caseSensitive","startsWith","joinPaths","computeScore","paramRe","isSplat","segments","initialScore","branch","matchedParams","matchedPathname","remainingPathname","matchPath","pathnameBase","normalizePathname","paramNames","regexpSource","paramName","endsWith","compilePath","matcher","captureGroups","splatValue","decodeURIComponent","safelyDecodeURIComponent","resolveTo","toArg","routePathnames","locationPathname","toPathname","routePathnameIndex","toSegments","fromPathname","resolvePathname","normalizeSearch","normalizeHash","resolvePath","nextChar","useInRouterContext","useLocation","useNavigate","routePathnamesJson","activeRef","navigate","go","_renderMatches","parentMatches","reduceRight","React.createElement","Route","Router","_ref3","basenameProp","locationProp","navigationType","NavigationType","static","staticProp","navigationContext","trailingPathname","Routes","_ref4","routeMatch","parentParams","parentPathnameBase","locationFromContext","parsedLocationArg","_parsedLocationArg$pa","useRoutes","createRoutesFromChildren","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","unescape","I18nContext","getDefaults","ReportNamespaces","usedNamespaces","namespaces","getI18n","_console","alreadyWarned","warnOnce","loadNamespaces","i18n","isInitialized","initialized","off","oldI18nextHasLoadedNamespace","lng","languages","fallbackLng","lastLng","loadNotPending","loadState","services","backendConnector","backend","isLanguageChangingTo","hasResourceBundle","resources","partialBundledLanguages","hasLoadedNamespace","isNewerI18next","ignoreJSONStructure","precheck","usePrevious","ignore","useTranslation","i18nFromProps","i18nFromContext","defaultNSFromContext","defaultNS","reportNamespaces","notReadyT","retNotReady","react","i18nOptions","keyPrefix","addUsedNamespaces","initializedStoreOnce","getT","getFixedT","nsMode","_useState","_useState2","setT","joinedNS","previousJoinedNS","boundReset","isInitial","ret","Hero","showModal","setShowModal","setPlaying","alt","sueldo","dependientes","ingresosCotizables","ingresosNoCotizables","language","handleSubmit","viewBox","strokeLinecap","strokeLinejoin","points","promoVideo","Footer","excluded","sourceKeys","sourceSymbolKeys","_excluded","StyleSheet","_insertTag","tags","insertionPoint","prepend","isSpeedy","speedy","ctr","nonce","_proto","nodes","insert","createStyleElement","styleSheets","ownerNode","sheetForTag","insertRule","indexof","charat","strlen","sizeof","append","column","character","characters","copy","peek","caret","alloc","dealloc","delimit","delimiter","escaping","commenter","identifier","MS","MOZ","COMMENT","RULESET","DECLARATION","KEYFRAMES","serialize","compile","rules","rulesets","pseudo","declarations","atrule","variable","scanning","ampersand","comment","ruleset","identifierWithPointTracking","getRules","parsed","toRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","defaultStylisPlugins","combine","ssrStyles","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","currentSheet","finalizingPlugins","serializer","collection","middleware","serialized","shouldCache","stylis","registered","registerStyles","isStringTag","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","memoize","styleName","processStyleValue","unitless","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","interpolated","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","stringMode","strings","raw","lastIndex","identifierName","hashString","useInsertionEffectAlwaysWithSyncFallback","EmotionCacheContext","HTMLElement","createCache","withEmotionCache","ThemeContext","typePropName","createEmotionProps","newProps","Insertion","insertStyles","Emotion","cssProp","WrappedComponent","registeredStyles","classNames","rawClassName","getRegisteredStyles","argsLength","createElementArgArray","userAgentData","brands","brand","ShadowRoot","contextElement","visualViewport","offsetLeft","frameElement","clientLeft","clientTop","assignedSlot","insertable","freeze","ancestorScroll","ancestorResize","elementResize","animationFrame","ResizeObserver","cancelAnimationFrame","memoized","StateManagedSelect","baseSelectProps","_ref$defaultInputValu","defaultInputValue","_ref$defaultMenuIsOpe","defaultMenuIsOpen","_ref$defaultValue","propsInputValue","inputValue","propsMenuIsOpen","menuIsOpen","propsOnChange","propsOnInputChange","onInputChange","propsOnMenuClose","onMenuClose","propsOnMenuOpen","onMenuOpen","propsValue","restSelectProps","_objectWithoutProperties","stateInputValue","setStateInputValue","_useState3","_useState4","stateMenuIsOpen","setStateMenuIsOpen","_useState5","_useState6","stateValue","setStateValue","actionMeta","newValue","useStateManager","Select","Navbar","selectedOption","setSelectedOption","navbarOpen","setNavbarOpen","localStorage","getItem","x2","y2","changeLanguage","setItem","setIsVisible","showIt","closeModal","Home","References","charIsNumber","isNil","escapeRegExp","splitDecimal","numStr","allowNegative","hasNagation","addNegation","parts","beforeDecimal","afterDecimal","limitToScale","fixedDecimalScale","filler","setCaretPosition","caretPos","createTextRange","move","select","setSelectionRange","clamp","num","getCurrentCaretPosition","displayType","decimalSeparator","thousandsGroupStyle","allowEmptyFormatting","allowLeadingZeros","isNumericString","onValueChange","isAllowed","NumberFormat","superclass","validateProps","formattedValue","formatValueProp","numAsString","removeFormatting","selectionBeforeInput","updateValueIfRequired","focusTimeout","caretPositionTimeout","focusedElm","lastNumStr","lastValueWithNewFormat","formatNumString","floatValue","lastFloatValue","updateValue","getFloatString","decimalScale","getSeparators","numRegex","getNumberRegex","hasNegation","firstDecimalIndex","ignoreDecimalSeparator","customNumerals","ref$1","thousandSeparator","allowedDecimalSeparators","getMaskAtIndex","getValueObject","setPatchedCaretPosition","currentValue","correctCaretPosition","firstHashPosition","nextPos","caretLeftBound","caretRightBound","getCaretPosition","inputNumber","formattedNumber","currentInputChar","currentFormatChar","removePrefixAndSuffix","isNegative","suffixLastIndex","removePatternFormatting","formatArray","ln","part","formatWithPattern","hashCount","formattedNumberAry","formatAsNumber","hasDecimalSeparator","ref$2","thousandsGroupRegex","getThousandsGroupRegex","applyThousandSeparator","customNumeralRegex","isNonNumericFalsy","decimalIndex","coffiecientLn","toNumericString","shoudHaveDecimalSeparator","roundedDecimalParts","toFixed","roundedStr","idx","roundToPrecision","formatInput","formatNegation","negationRegex","doubleNegationRegex","removeNegation","isCharacterAFormat","correctInputValue","lastValue","this$1","ref$3","prevValue","prevLength","newLength","findChangedIndex","leftBound","rightBound","deletedValues","deletedVal","deletedValuePortion","recordIndexOfFormatCharacters","resolvedPortion","currentPortion","numericString","ref$4","isBeforeDecimalPoint","currentCaretPosition","isChangeAllowed","fixLeadingZero","expectedCaretPosition","negativeRegex","isPatternFormat","newCaretPosition","isUnitTestRun","caretPosition","customInput","renderText","getInputRef","rest","objectWithoutProperties","otherProps","inputMode","addInputMode","inputProps","CustomInput","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isString","isNumber","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","findKey","_global","isContextDefined","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","FormData","isArrayBufferView","isBoolean","isStream","pipe","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","searchString","forEachEntry","pair","matchAll","regExp","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","toFiniteNumber","generateString","isSpecCompliantForm","toJSONObject","visit","reducedValue","AxiosError","captureStackTrace","utils","toJSON","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","metaTokens","indexes","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","isFlatArray","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serializedParams","serializeFn","hashmarkIndex","InterceptorManager","synchronous","runWhen","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","classes","URLSearchParams","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","protocols","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","DEFAULT_CONTENT_TYPE","defaults","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","parseHeaders","tokensRE","parseTokens","deleted","deleteHeader","normalized","formatHeader","targets","asStrings","computed","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","isCancel","__CANCEL__","CanceledError","expires","secure","cookie","toGMTString","buildFullPath","baseURL","requestedURL","isAbsoluteURL","relativeURL","combineURLs","originURL","msie","urlParsingNode","resolveURL","requestURL","samplesCount","firstSampleTS","timestamps","chunkLength","startedAt","bytesCount","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","total","lengthComputable","progressBytes","estimated","onCanceled","requestData","requestHeaders","cancelToken","unsubscribe","signal","auth","username","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","settle","responseText","statusText","paramsSerializer","responseURL","onabort","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancel","abort","aborted","parseProtocol","knownAdapters","http","xhrAdapter","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","formatMessage","opt","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","generateHTTPMethod","isForm","CancelToken","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","Cancel","isAxiosError","formToJSON","Form","formValues","setFormValues","clearSueldo","setClearSueldo","clearDependientes","setClearDependientes","clearIngresosCotizables","setClearIngresosCotizables","clearIngresosNoCotizables","setClearIngresosNoCotizables","showError","setShowError","postCount","setPostCount","setResults","errors","setErrors","dataArray","setDataArray","ipAddress","setIPAddress","MAX_SALARIO","fetchIPAddress","ip","requestOptions","fechaCalculo","replaceAll","formattedValueTemp","valueTemp","Calculator","useLoadGoogleCharts","chartVersion","chartPackages","chartLanguage","mapsApiKey","googleCharts","setGoogleCharts","failed","setFailed","foundScript","dataset","onLoadWithMarker","useLoadScript","google","charts","packages","setOnLoadCallback","LoadGoogleCharts","chartDefaultProps","legend_toggle","legendToggle","getChartWrapper","spreadSheetQueryParameters","gid","rootProps","chartWrapperParams","uniqueID","generateUniqueID","DEFAULT_CHART_COLORS","loadDataTableFromSpreadSheet","googleViz","spreadSheetUrl","urlParams","access_token","urlQueryString","urlToSpreadSheet","visualization","Query","isError","getMessage","getDetailedMessage","getDataTable","GRAY_COLOR","GoogleChartDataTableInner","hiddenColumns","listenToLegendToggle","googleChartWrapper","addListener","selection","getChart","dataTable","row","columnIndex","columnID","getColumnID","colID","applyFormatters","formatters","formatter","ArrowFormat","BarFormat","vizFormatter","ColorFormat","ranges","DateFormat","PatternFormat","getColumnId","getColumnLabel","draw","diffdata","rows","chartType","chartDiff","oldData","arrayToDataTable","old","newData","new","computeDiff","DataTable","getNumberOfColumns","previousColumnLabel","previousColumnID","previousColumnType","getColumnType","removeColumn","addColumn","chart","getChartType","clearChart","setChartType","setOptions","setDataTable","googleChartDashboard","grayOutHiddenColumns","colors","dontcare","onResize","removeAllListeners","GoogleChartDataTable","GoogleChartEvents","listenToEvents","chartEvents","eventName","chartWrapper","eventArgs","propsFromContext","controlCounter","GoogleChart","googleChartControls","googleChartEditor","graphID","dashboard_ref","toolbar_ref","getGraphID","instanceGraphID","graph_id","getControlID","addControls","controlIDMaybe","controlID","controlType","controlOptions","controlWrapperParams","controlProp","ControlWrapper","containerId","chartControl","controlEvents","removeListener","controlWrapper","renderChart","divStyle","div","renderControl","_this1","getContainerId","renderToolBar","toolbarItems","getChartEditor","chartConfig","ChartWrapper","Dashboard","drawToolbar","chartEditor","ChartEditor","setControlType","renderToolbar","controlPosition","Chart","_isMounted","loadingStatus","isFullyLoaded","onSuccess","loader","errorElement","GoogleDataTableColumnRoleType","annotation","annotationText","certainty","emphasis","scope","requiredArgs","toDate","argStr","isValid","dirtyDate","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","tokenValue","addSuffix","comparison","buildFormatLongFn","defaultWidth","formats","full","long","medium","short","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","_date","_baseDate","buildLocalizeFn","dirtyIndex","dirtyOptions","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","argumentCallback","ordinalNumber","dirtyNumber","rem100","era","narrow","abbreviated","wide","quarter","day","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchResult","matchedString","parsePatterns","defaultParseWidth","valueCallback","parsePattern","parseResult","formatDistance","formatLong","formatRelative","localize","weekStartsOn","firstWeekContainsDate","toInteger","addMilliseconds","dirtyAmount","timestamp","subMilliseconds","MILLISECONDS_IN_DAY","startOfUTCISOWeek","getUTCDay","diff","setUTCDate","getUTCDate","setUTCHours","getUTCISOWeekYear","year","getUTCFullYear","fourthOfJanuaryOfNextYear","setUTCFullYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfUTCISOWeekYear","fourthOfJanuary","MILLISECONDS_IN_WEEK","startOfUTCWeek","localeWeekStartsOn","defaultWeekStartsOn","getUTCWeekYear","localeFirstWeekContainsDate","defaultFirstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfUTCWeekYear","firstWeek","addLeadingZeros","targetLength","signedYear","getUTCMonth","dayPeriodEnumValue","getUTCHours","getUTCMinutes","getUTCSeconds","numberOfDigits","milliseconds","getUTCMilliseconds","dayPeriodEnum","lightFormatters","signedWeekYear","weekYear","getUTCWeek","isoWeek","getUTCISOWeek","dayOfYear","setUTCMonth","startOfYearTimestamp","difference","getUTCDayOfYear","dayOfWeek","localDayOfWeek","isoDayOfWeek","hours","_localize","timezoneOffset","_originalDate","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","originalDate","dirtyDelimiter","absOffset","minutes","dateLongFormatter","timeLongFormatter","longFormatters","dateTimeFormat","datePattern","timePattern","getTimezoneOffsetInMilliseconds","utcDate","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","throwProtectedError","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","formatStr","defaultLocale","formatterOptions","firstCharacter","longFormatter","cleanEscapedString","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","u8","u16","u32","fleb","fdeb","clim","freb","revfl","revfd","rev","hMap","co","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","subarray","inflt","dat","buf","st","noBuf","noSt","cbuf","nbuf","final","bt","lm","dm","lbt","dbt","tbts","hLit","hcLen","ldt","clt","clb","clbmsk","clm","lt","dt","lms","dms","mxa","dsym","wbits","wbits16","hTree","i0","i1","i2","maxSym","tr","mbt","lft","cst","i2_1","i2_2","i2_3","cli","cln","cls","clen","wfblk","out","wblk","syms","bs","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","flen","ftlen","dtlen","llm","lcts","clct","dst","deo","et","dflt","lvl","plvl","pre","lst","msk_1","bs1_1","bs2_1","hsh","lc_1","hv","imod","pimod","rem","ch_1","dif","maxn","maxd","mmd","lin","din","adler","dopt","level","mem","wbytes","zlh","lv","zlv","zlibSync","unzlibSync","globalObject","consoleLog","saveAs","corsEnabled","MouseEvent","evt","initMouseEvent","atob","HTMLAnchorElement","blob","webkitURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","popup","innerText","force","isSafari","safari","isChromeIOS","reader","RGBColor","color_string","channels","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","color_defs","example","processor","toRGB","toHex","md5cycle","add32","cmn","md51","md5blk","md5blks","hex_chr","rhex","singleToByteString","md5Bin","md5Check","lsw","rc4","lastKey","lastState","permissionOptions","print","modify","PDFSecurity","permissions","userPassword","ownerPassword","fileId","protection","perm","paddedUserPassword","paddedOwnerPassword","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","toPDFName","strLength","PubSub","topics","topic","once","publish","sub","ex","getTopics","GState","parameters","supported","objectNumber","Pattern","gState","ShadingPattern","coords","TilingPattern","boundingBox","xStep","yStep","stream","cloneIndex","jsPDF","precision","orientation","compressPdf","filters","userUnit","floatPrecision","defaultPathOperation","encryptionOptions","compress","encryption","userPermissions","putOnlyUsedFonts","usedFonts","API","internal","__private__","pdfVersion","getPdfVersion","setPdfVersion","pageFormats","a0","a5","a6","a7","a8","a9","a10","b0","b3","b5","b6","b7","b8","b9","b10","c0","c4","c5","c6","c7","c8","c9","c10","legal","ledger","tabloid","getPageFormats","getPageFormat","ApiMode","COMPAT","ADVANCED","apiMode","advancedAPI","saveGraphicsState","Matrix","scaleFactor","getPageHeight","setFontSize","getFontSize","compatAPI","restoreGraphicsState","combineFontStyleAndFontWeight","doSwitch","isAdvancedAPI","hpf","advancedApiModeTrap","parmPrecision","tmpPrecision","f2","f3","transformY","transformScaleY","setPrecision","creationDate","getFileId","setFileId","convertDateToPDFDate","parmDate","tzoffset","tzsign","tzhour","tzmin","timeZoneString","padd2","convertPDFDateToDate","parmPDFDate","hour","setCreationDate","tmpCreationDateString","getCreationDate","currentPage","padd2Hex","hexString","contentLength","additionalObjects","pages","hasCustomDestination","outputDestination","resetDocument","rootDictionaryObjId","newObjectDeferred","resourceDictionaryObjId","setCustomOutputDestination","setOutputDestination","resetCustomOutputDestination","getArrayBuffer","standardFonts","getStandardFonts","activeFontSize","zoomMode","R2L","setR2L","getR2L","pageMode","setZoomMode","getZoomMode","layoutMode","setPageMode","pmode","getPageMode","setLayoutMode","layout","getLayoutMode","setDisplayMode","documentProperties","subject","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","properties","setDocumentProperty","activeFontKey","pageMatrix","fontmap","fontStateStack","patterns","patternMap","gStates","gStatesMap","activeGState","page","pagesContext","hotfixes","renderTargets","renderTargetMap","renderTargetStack","sx","shy","shx","sy","tx","ty","_matrix","decompose","multiply","scaleX","shear","scaleY","rotate","skew","inversed","quot","aInv","bInv","cInv","dInv","applyToPoint","pt","Point","applyToRectangle","pt1","pt2","Rectangle","matrixMult","m1","m2","identityMatrix","unitMatrix","addPattern","patternKey","addShadingPattern","beginTilingPattern","beginNewRenderTarget","endTilingPattern","newObject","oid","newObjectDeferredBegin","doOutput","newAdditionalObject","objId","decodeColorString","colorEncoded","floatVal","colorAsRGB","encodeColorString","ch1","ch2","ch3","ch4","letterArray","pdfColorType","rgbColor","getFilters","putStream","alreadyAppliedFilters","addLength1","valueOfLength1","objectId","encryptor","processedData","keyValues","additionalKeyValues","filterAsString","processDataByFilters","reverseChain","decodeParmsArray","putPage","pageNumber","pageObjectNumber","pageContentsObjId","contentsObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageContent","putPages","pageObjectNumbers","kids","putFont","isAlreadyPutted","postScriptName","encoding","putFonts","fontKey","putXObject","xObject","putXObjects","xObjectKey","interpolateAndEncodeRGBStream","numberSamples","tValues","dT","aColor","bColor","putShadingPattern","funcObjectNumber","putTilingPattern","deferredResourceDictionaryIds","resourcesObjectId","patternObjectId","resourcesOid","objectOid","putPatterns","putGState","putGStates","gStateKey","putXobjectDict","putEncryptionDict","toHexString","putFontDict","putShadingPatternDict","putTilingPatternDict","putGStatesDict","putResourceDictionary","objectIds","putResources","MAX_SAFE_INTEGER","putAdditionalObjects","addFontToFontDictionary","fontName","addFont","isStandardFont","addFonts","arrayOfFonts","dictionary","SAFE","alert","bar","to8bitStream","sourceEncoding","encodingBlock","outputEncoding","newtext","isUnicode","bch","autoencode","codePages","noBOM","pdfEscape","beginPage","_setPage","_addPage","parmFormat","parmOrientation","dimensions","setLineWidth","strokeColor","lineCapID","lineJoinID","_deletePage","setPage","getNumberOfPages","getFont","fontNameLowerCase","disableWarning","noFallback","times","putInfo","putCatalog","tmpRootDictionaryObjId","pcn","putTrailer","putHeader","putXRef","buildDocument","offsetOfXRef","getBlob","filename","dataURI","pdfDocument","pdfObjectUrl","integrity","htmlForNewWindow","nW","htmlForPDFjsNewWindow","pdfJsUrl","PDFjsNewWindow","PDFViewerApplication","htmlForDataURLNewWindow","dataURLNewWindow","hasHotfix","hotfixName","getEncryptor","getPageInfo","pageNumberOneBased","getPageInfoByObjId","getCurrentPageInfo","addPage","insertPage","beforePage","movePage","targetPage","tmpPages","tmpPagesContext","deletePage","align","charSpace","maxWidth","horizontalScale","transformationMatrix","xtra","lineHeightFactor","ESC","TabLen","transformTextToSpecialArray","curDa","processTextByFunction","processingFunction","tmpResult","textIsOfTypeString","tmpTextIsOfTypeString","descent","splitTextToSize","textLine","mutex","rotationDirection","activeCharSpace","setCharSpace","getCharSpace","lang","renderingMode","parmRenderingMode","usedRenderingMode","lineWidths","leading","pageSize","getWidth","activeFont","wordSpacingPerLine","newY","getStringUnitWidth","doKerning","newX","prevWidth","getHorizontalCoordinate","getVerticalCoordinate","doReversing","posX","posY","activeFontEncoding","STRING","generatePosition","parmPosX","parmPosY","parmTransformationMatrix","lineIndex","textColor","clipEvenOdd","discardPath","isValidStyle","setDefaultPathOperation","operator","getStyle","fillWithOptionalPattern","fillEvenOdd","fillStroke","fillStrokeEvenOdd","fillWithPattern","putStyle","cloneTilingPattern","patternData","patternId","clipRuleFromStyle","setGState","curveTo","x3","y3","lines","closed","scalex","scaley","leg","x4","y4","triangle","roundedRect","MyArc","SQRT2","ellipse","lx","ly","setFont","getFontEntry","getFontList","encodingOptions","getLineWidth","setLineDashPattern","dashArray","dashPhase","getLineHeight","setLineHeightFactor","getLineHeightFactor","getHorizontalCoordinateString","getVerticalCoordinateString","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","fillColor","getFillColor","setFillColor","getTextColor","setTextColor","CapJoinStyles","butt","but","miter","rounded","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","addGState","equals","duplicate","fontState","setCurrentTransformationMatrix","_x","_y","_type","_w","RenderTarget","getPageWidth","setPageWidth","setPageHeight","endFormObject","newXObject","xObjectId","plugin","beginFormObject","doFormObject","getFormObject","returnPromise","unload","newEvents","eventname","handler_and_args","getCoordinateString","collections","setWidth","getHeight","setHeight","getPDFVersion","byteString","byte","generation","jsPDFAPI","pdfUnescape","f5","__acroform__","inherit","createFormXObject","formObject","xobj","AcroFormXObject","AcroFormAppearance","BBox","setBit","bitPosition","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","coordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","calculateAppearanceStream","appearanceStreamContent","DV","_V","calcRes","calculateX","maxFontSize","textSplit","multiline","word","isSmallerThanWidth","lastLine","calculateFontSpace","FontSize","lastLength","textHeight","lastY","firstWordInLine","lastWordInLine","currWord","lineCount","isWithNewLine","nextLineIsSmaller","isLastWord","currLine","acroformPluginTemplate","fields","xForms","acroFormDictionaryRoot","printedOut","createAnnotationReference","annotations","initializeAcroForm","acroformPlugin","AcroFormField","FieldNum","AcroFormDictionary","_eventID","Fields","hasAnnotation","fieldArray","standardFields","Kids","fieldObject","keyValueList","oldRect","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","appearance","appearanceStreamString","createXFormObjectCallback","arrayToPdfArray","toPdfString","AcroFormPDFObject","_objId","_scope","_stream","_BBox","_DA","_Kids","_F","_Ff","_Rect","_FT","_T","AcroFormChildClass","_fontName","_fontStyle","_fontSize","_maxFontSize","_color","AcroFormTextField","_DV","AcroFormButton","_page","_hasAppearanceStream","_Q","AcroFormChoiceField","FT","_TI","_Opt","regex","getOptions","addOption","removeOption","allEntries","combo","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","edit","_AS","_MK","CA","AcroFormPushButton","pushButton","AcroFormRadioButton","radio","_parent","_optionName","caption","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","Parent","addField","AcroFormCheckBox","CheckBox","_MaxLen","AcroFormPasswordField","On","YesNormal","YesPushDown","Off","OffPushDown","encodedColor","DotRadius","Bezier_C","DotRadiusBezier","Cross","cross","calculateCross","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","Button","PushButton","TextField","PasswordField","Appearance","toLookup","__addimage__","UNKNOWN","imageFileTypeHeaders","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","imageData","fallbackFormat","headerSchemata","compareResult","fileType","putImage","colorSpace","color_spaces","INDEXED","palette","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","arrayBufferToBinaryString","putResourcesCallback","putXObjectsDictCallback","addImage_images","getImages","getImageIndex","isImageTypeSupported","isDOMElement","getImageDataFromElement","tmpImageData","loadFile","mimeType","checkImagesForAlias","alias","determineWidthAndHeight","writeImageToPDF","rotation","dims","coord","vcoord","f4","rotationTransformationMatrix","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","NONE","FAST","MEDIUM","SLOW","sHashCode","validateStringAsBase64","possibleBase64String","extractImageFromDataUrl","dataUrl","dataUrlParts","extractedInfo","supportsArrayBuffer","binaryStringToUint8Array","binary_string","compression","processImageData","dataAsBinaryString","convertBase64ToBinaryString","stringData","throwError","base64Info","rawData","getImageProperties","notEmpty","addPageData","putPageData","anno","pageInfo","pageAnnos","found","objText","objPopup","encryptorText","contents","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","linkHeight","linkWidth","totalLineWidth","getTextWidth","numOfLines","arabicSubstitionA","ligatures","arabic_diacritics","alfletter","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","letters","tmpLigatures","effectedLetters","isArabicDiacritic","getCorrectForm","currentChar","beforeChar","parseArabic","currentLetter","prevLetter","nextLetter","newWords","processArabic","tmpText","autoPrint","refAutoPrintTag","addJS","Canvas","jsPdfInstance","pageWrapXEnabled","pageWrapX","_height","pageWrapYEnabled","pageWrapY","_childNodes","_style","contextAttributes","pdf","context2d","_canvas","NO_MARGINS","printingHeaderRow","_initialize","__cell__","headerFunction","margins","_reset","lastCell","Cell","_text","_lineNumber","_align","setHeaderFunction","getTextDimensions","amountOfLines","tempWidth","cellAddPage","cell","currentCell","tableHeaderRow","printHeaders","printHeaderRow","table","headerName","headerNames","headerLabels","headerAligns","columnMatrix","columnWidths","columnMinWidths","tableHeaderConfigs","autoSize","headerBackgroundColor","headerTextColor","table_font_size","prompt","rec","rowHeight","calculateLineHeight","setTableHeaderRow","pv","cv","rowStart","cellData","cellStart","table_x","table_y","model","new_page","tableHeaderCell","tempHeaderConf","currentTextColor","fontStyleOrder","italic","oblique","normal","fontStretchOrder","fontStretchLookup","fontWeights","fontWeightsLookup","normalizeFontFace","fontFace","family","weight","stretch","searchFromPivot","matchingSet","pivot","dir","defaultGenericFontFamilies","fixed","monospace","terminal","cursive","fantasy","serif","systemFonts","icon","menu","ruleToString","eatWhiteSpace","parseQuotedFontFamily","parseNonQuotedFontFamily","jsNamesObj","jsJsObj","defaultFont","_ctx","ContextLayer","isStrokeTransparent","isFillTransparent","globalCompositeOperation","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","prevPageLastElemOffset","ignoreClearRect","Context2D","_pdf","_pageWrapXEnabled","_pageWrapYEnabled","_posX","_posY","_autoPaging","lastBreak","pageBreaks","_ctxStack","getRGBA","_fontFaceMap","getFontFaceMap","fontFaces","convertedFontFaces","fontMap","_fontFaces","fontSizeUnit","fontFaceMap","defaultFontFamily","genericFontFamilies","ordering","resolveFontFace","jsPdfFontName","fallbackFonts","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","pathPreProcess","pathBegin","quadraticCurveTo","cpx","cpy","pt0","cp1x","cp1y","cp2x","cp2y","radius","startAngle","endAngle","counterclockwise","isIdentity","xpt","x_radPt","x_radPt0","arcTo","strokeRect","clearRect","doStackPush","tmpPageNumber","ctxStack","doStackPop","isCanvasGradient","getColor","degs","rad2deg","putText","txtWidth","TextMetrics","scalewidth","scaleheight","setTransform","hasMargins","swidth","sheight","imageProperties","factorX","factorY","clipFactorX","clipFactorY","clipPath","decomposedTransformationMatrix","xRect","pageArray","getPagesByPath","sortPages","autoPaging","pageWidthMinusMargins","topMargin","firstPageHeight","pageHeightMinusMargins","previousPageHeightSum","tmpPaths","pathPositionRedo","drawPaths","tmpRect","needsClipping","yOffset","rectOfQuadraticCurve","getQuadraticCurveBoundary","rectOfBezierCurve","getBezierCurveBoundary","isClip","tmpPath","oldLineWidth","origPath","xPath","moves","deltas","iii","began","arcs","drawArc","drawLine","drawLines","doClip","getBaseline","getTextBottom","yBaseLine","canvasGradient","colorStops","includeMove","createArc","curve","doMove","drawCurve","textDimensions","yTop","oldSize","baselineRect","pageHeightMinusBottomMargin","pageWidthMinusRightMargin","textBoundsOnPage","doSlice","croppedText","baseLineRectOnPage","prevX","prevY","anticlockwise","twoPi","halfPi","totalAngle","sgn","createSmallArc","q1","q2","k2","cos_ar","sin_ar","ey","midX1","midY1","midX2","midY2","resultX1","resultX2","resultY1","resultY2","ax","ay","bx","by","dx","dy","px","py","qx","qy","minx","miny","maxx","maxy","tobx","toby","tocx","tocy","todx","tody","prevLineDash","nextLineDash","ASCII85Encode","ASCII85Decode","ASCIIHexDecode","regexCheckIfHex","FlateEncode","origData","filterChain","sync","sanitizeUnicode","dataLength","charArray","StringFromCharCode","overrideMimeType","loadImageFile","loadHtml2Canvas","import","loadDomPurify","DOMPurify","dompurify","objType","sanitize","Worker","convert","template","setProgress","overlay","enableLinks","toContainer","toCanvas","toImg","toPdf","thenList","setPageSize","containerCSS","javascriptEnabled","prereqs","onrendered","toContext2d","imgData","quality","outputImg","outputPdf","doCallback","setMargin","cbk","toPx","getPageSize","inner","ratio","updateProgress","thenCore","thenBase","selfPromise","returnVal","thenExternal","catchExternal","using","export","format_as_string","pageHeight","worker","javascript","namesOid","outline","createNamedDestinations","totalPages","dests","names2Oid","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","markers","processJPEG","blockLength","numcomponents","getCharWidthsArray","splitLongWord","splitParagraphIntoLines","makeImage","scratchCanvas","scratchCtx","chunkSize","palLen","delayDen","delayNum","frame","section","palShort","readUInt32","_results","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","xOffset","readUInt16","disposeOp","blendOp","indexed","grayscale","hasAlphaChannel","pixelBitlength","decodePixels","pixelBytes","fullPixels","pass","abyte","paeth","pixels","scanlineLength","upper","upperLeft","isFull","fullPos","partPos","decodePalette","_ref1","copyToImageData","_decodedPalette","hasBrowserCanvas","decodeFrames","createImageData","renderFrame","animate","doFrame","frameNumber","_timeout","stopAnimation","_png","GifReader","pf0","global_palette_flag","num_global_colors","global_palette_offset","global_palette_size","no_eof","transparent_index","disposal","loop_count","block_size","pf1","pf2","interlace_flag","num_local_colors","palette_offset","palette_size","has_local_palette","data_offset","data_length","interlaced","loopCount","frameInfo","frame_num","decodeAndBlitFrameBGRA","num_pixels","index_stream","GifReaderLZWOutputIndexStream","trans","framewidth","framestride","xleft","opbeg","opend","scanstride","interlaceskip","il","decodeAndBlitFrameRGBA","code_stream","output_length","min_code_size","clear_code","eoi_code","next_code","cur_code_size","code_mask","cur_shift","subblock_size","code_table","prev_code","chase_code","chase_length","chase","JPEGEncoder","YDC_HT","UVDC_HT","YAC_HT","UVAC_HT","currentQuality","ffloor","YTable","UVTable","fdtbl_Y","fdtbl_UV","bitcode","category","outputfDCTQuant","DU","byteout","bytenew","bytepos","YDU","UDU","VDU","RGB_YUV_TABLE","ZigZag","std_dc_luminance_nrcodes","std_dc_luminance_values","std_ac_luminance_nrcodes","std_ac_luminance_values","std_dc_chrominance_nrcodes","std_dc_chrominance_values","std_ac_chrominance_nrcodes","std_ac_chrominance_values","computeHuffmanTbl","nrcodes","std_table","codevalue","pos_in_table","HT","writeBits","posval","writeByte","writeWord","processDU","CDU","fdtbl","DC","HTDC","HTAC","EOB","M16zeroes","DU_DCT","d0","d1","d2","d3","d4","d5","d6","d7","fDCTQuant","dataOff","tmp0","tmp7","tmp1","tmp6","tmp2","tmp5","tmp3","tmp4","tmp10","tmp13","tmp11","tmp12","z1","z5","z2","z4","z3","z11","z13","tmp0p2","tmp7p2","tmp1p2","tmp6p2","tmp2p2","tmp5p2","tmp3p2","tmp4p2","tmp10p2","tmp13p2","tmp11p2","tmp12p2","z1p2","z5p2","z2p2","z4p2","z3p2","z11p2","z13p2","Diff","end0pos","startpos","nrzeroes","nrmarker","setQuality","YQT","UVQT","aasf","writeDQT","DCY","DCU","DCV","quadWidth","fillbits","sfcc","nrlower","nrupper","cat","nr","nrneg","initCategoryNumber","BmpDecoder","is_with_alpha","datav","bottom_up","flag","parseHeader","parseBGR","WebPDecoder","_WebPDecoder","Fd","Jd","Rd","RGBA","Td","Vd","memory","ga","mc","VP8LMapColor32b","VP8LMapColor8b","Dd","Bd","put","Fe","hf","jf","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","WebPDecodeRGBA","GetTag","data_off","GetLE24","GetLE32","webpdecoder","imagearray","src_off","alpha_chunk","alpha_size","alpha_offset","fourcc","payload_size","payload_size_padded","src_size","feature_flags","src_off_","canvas_width","canvas_height","bgcolor","offset_x","offset_y","dispose","blend","rgbaoutput","dataurl","loop_counter","imgwidth","imgheight","compressBytes","colorsPerPixel","filter_method","filterUp","filterSub","filterAverage","filterPaeth","applyPngFilterMethod","prevLine","filter_methods","getFilterMethods","ind","getIndexOfSmallestSum","filterNone","up","upLeft","paethPredictor","pLeft","pUp","pUpLeft","sum","processPNG","trns","pal","smask","alphaData","hasColors","pixel","pbl","pDiff","processGIF89A","rawImageData","processGIF87A","fileSize","reserved","headerSize","planes","bitPP","rawSize","vr","importantColors","quad","bitn","bit1","xlen","bit4","bit8","bit15","dif_w","_1_5","bit16","_1_6","bit24","bit32","getData","processBMP","processWEBP","processRGBA","imagePixels","rgbOut","alphaOut","outIndex","alphaIndex","rgbData","setLanguage","langCode","languageSettings","isSubscribed","sq","an","hy","as","ast","az","eu","bn","my","cr","cs","en","eo","fo","fr","fy","fur","gu","ht","hu","iu","kn","ks","km","ky","ko","ms","mt","mr","mo","nv","no","nn","or","om","qu","rm","ro","ru","sz","sr","so","es","sw","tt","tig","ts","tn","hsb","ur","vo","zu","languageCode","char_code","widths","Unicode","widthsFractionOf","fof","kerning","kerningFractionOf","kerningValue","prior_char_code","default_char_width","widthOfString","widthOfGlyph","characterToGlyph","widths_array","firstLineMaxLen","maxLen","answer","workingLen","startOfLine","maxlen","lineIndent","postProcess","line_length","textIndent","separator_length","current_word_length","spaceCharWidth","pad","wrds","wrd","paragraphs","fsize","newOptions","fontUnit_maxLen","__fontmetrics__","encoded","mappingUncompress","mappingCompress","keystring","valuestring","numberprefix","vals","uncompress","stringparts","parent_key_pair","activeobject","parentchain","keyparts","valueparts","datalen","WinAnsiEncoding","encodings","Courier","ZapfDingbats","metrics","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","loadCanvg","canvg","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","doc","fromString","putTotalPages","pageExpression","replaceExpression","totalNumberOfPages","pdfEscape16","viewerPreferences","doReset","configuration","configurationTemplate","HideToolbar","explicitSet","valueSet","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","configurationKeys","rangeArray","arrayContainsElement","viewerpreferences","vPref","pdfDict","postPutResources","rdf_beginning","__metadata__","namespaceuri","utf8_xmpmeta_beginning","utf8_rdf_beginning","utf8_metadata","utf8_rdf_ending","utf8_xmpmeta_ending","total_len","metadata_object_number","addMetadata","padz","toUnicode","toUnicodeCmap","codes","unicode","unicodeMap","pdfOutput","subset","pdfOutput2","fontTable","cmap","fontDescriptor","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","DescendantFont","hmtx","unitsPerEm","utf8TextFunction","cmapConfirm","strText","codeMap","parms","_initializeVFS","vFS","addFileToVFS","filecontent","__bidiEngine__","_hasUbatB","_hasUbatS","_isInVisual","_isInRtl","_isOutVisual","_isOutRtl","_isSymmetricSwapping","_UNICODE_TYPES","_bidiUnicodeTypes","_STATE_TABLE_LTR","_STATE_TABLE_RTL","_TYPE_NAMES_MAP","EN","AN","_UNICODE_RANGES_MAP","_SWAP_TABLE","_LTR_RANGES_REG_EXPR","_lastArabic","_dir","_getCharType","rangeIdx","_isContextualDirRtl","charType","_resolveCharType","resolvedTypes","wType","nType","cType","rtlCandidate","_invertString","sourceToTargetMap","levels","_computeLevels","hiLevel","newLevel","prevState","condPos","newState","stateTable","_invertByLevel","high","low","_reorder","DIR_RTL","doBidiReorder","isSymmetricSwappingOrig","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","bidiEngine","Data","readString","Subset","registerTTF","directory","Directory","HeadTable","NameTable","CmapTable","hhea","HheaTable","maxp","MaxpTable","HmtxTable","PostTable","os2","OS2Table","loca","LocaTable","glyf","GlyfTable","exists","lineGap","xMin","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","glyph","forGlyph","advance","includeGap","gap","Table","readByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","checksum","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","adjustment","directoryLength","headOffset","log2","tableData","__slice","__hasProp","__super__","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","CmapEntry","endCode","glyphId","glyphIds","idDelta","idRangeOffset","saveOffset","segCount","segCountX2","startCode","platformID","encodingID","charmap","endCodes","glyphIDs","nextID","rangeOffsets","startCodes","startGlyph","subtable","_len1","_len3","_len4","_len5","_len6","_len7","_name","maxGlyphID","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","firstCharIndex","lastCharIndex","ascent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","numberOfGlyphs","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","_results1","numGlyphs","NameEntry","languageID","stringOffset","nameID","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","vendorUrl","designerUrl","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","lsbCount","lsb","leftSideBearings","glyphFor","numberOfContours","lengthOf","CompoundGlyph","SimpleGlyph","glyphs","old2new","compound","glyphOffsets","activeGlyphs","glyfPtr","listGlyf","newLocaTable","unicodes","generateCmap","roman","unicodeCmap","glyphsFor","additionalIDs","glyID","ids","new2old","newIDs","nextGlyphID","oldID","oldIDs","BlobBuilder","WebKitBlobBuilder","MSBlobBuilder","MozBlobBuilder","File","lastModified","lastModifiedDate","_buffer","createDocumentFragment","LOADING","DONE","onloadstart","onprogress","readAsText","readAsArrayBuffer","Results","TSS_MAX_SALARIO_PP","TSS_PORCENT_PP","COMPANY_TSS_PORCENT_PP","TSS_MAX_SALARIO_SS","TSS_PORCENT_SS","COMPANY_TSS_PORCENT_SS","TSS_TARIFA_DEPENDIENTES_ADICIONALES","TSS_LABORAL_RISK_LIMIT","L_INFERIORES","L_SUPERIORES","TASA_EXCEDENTES","integerPart","decimalPart","resultadosTSS","setResultadosTSS","resultadosISR","setResultadosISR","riesgoLaboralSelect","setRiesgoLaboralSelect","salarioNeto","setSalarioNeto","printHide","setPrintHide","shadowEffect1","setShadowEffect1","shadowEffect2","setShadowEffect2","paddingPrint","setPaddingPrint","graphData","setGraphData","legendFontSize","setLegendFontSize","setWindowWidth","showBreakdown","setShowBreakdown","detectWindowResize","pieHole","is3D","legend","alignment","riesgoLaboralOptions","ingresosCotizablesTSS","resultadosTSSLocal","planPensiones","truncateDecimals","planSalud","cantidad","monto","porcentaje","ingresosCotizablesISR","resultadosISRLocal","salarioNetoImponible","salarioNetoImponibleAnual","montosLimites","ISRTotal","ISRTotal2","letterRendering","imgHeight","generatePDF","riesgoLaboralAmount","planPensionEmpleador","planSaludEmpleador","planPensionEmpleado","planSaludEmpleado","distribucionAportesARS","detalleAportesARS","distribucionAportesAFP","DollarVector","fround","isSearchable","colSpan","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","BrowserRouter","historyRef","createBrowserHistory","history","listen","I18nextProvider","consoleLogger","concreteLogger","forward","_key3","_key4","debugOnly","moduleName","baseLogger","EventEmitter","observers","cloned","_cloned","res","rej","getLastOfPath","Empty","cleanKey","canNotTraverseDeeper","setPath","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","regexEscape","_entityMap","ownKeys$1","_objectSpread$1","deepFind","keySeparator","mix","joinedPath","ResourceStore","_EventEmitter","silent","addNamespaces","addResource","deep","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","postProcessor","processors","addPostProcessor","translator","ownKeys$2","_objectSpread$2","_createSuper$1","_isNativeReflectConstruct$1","checkedLoadedFor","Translator","resolved","nsSeparator","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","looksLikeObjectPath","interpolator","nestingRegexp","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","isValidLookup","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","lngs","fallbackLngs","languageUtils","getFallbackCodes","saveMissingTo","toResolveHierarchy","specificDefaultValue","defaultForMissing","missingKeyHandler","saveMissing","saveMissingPlurals","getSuffixes","appendNamespaceToMissingKey","parseMissingKeyHandler","defaultVariables","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","interpolate","nest","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","returnNull","returnEmptyString","resourceStore","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","cleanCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","sets","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","two","few","many","createRules","plurals","PluralResolver","compatibilityJSON","PluralRules","_unused","getRule","resolvedOptions","pluralCategories","pluralCategory1","pluralCategory2","pluralCategory","getSuffixRetroCompatible","noAbs","simplifyPluralSuffix","returnSuffix","ownKeys$3","_objectSpread$3","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","missingInterpolationHandler","safeValue","todo","matchedVar","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","doReduce","elem","ownKeys$4","_objectSpread$4","parseFormatStr","formatName","formatOptions","optStr","currency","_opt$split","_opt$split2","Formatter","DateTimeFormat","relativetime","RelativeTimeFormat","ListFormat","_format","_parseFormatStr","formatted","valOptions","formatParams","ownKeys$5","_objectSpread$5","_createSuper$2","_isNativeReflectConstruct$2","Connector","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","addResourceBundle","_getLastOfPath2","pushPath","removePending","loadedKeys","fcName","tried","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","initImmediate","tDescription","transformOptions","ownKeys$6","_objectSpread$6","_createSuper$3","_isNativeReflectConstruct$3","bindMemberFunctions","inst","I18n","external","isClone","defOpts","createClassOnDemand","ClassOrObject","lu","languageDetector","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","usedCallback","resolvedLanguage","setResolvedLanguage","lngInLngs","hasLanguageSomeTranslations","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","resultKey","_this$translator","_this$translator2","_this6","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","membersToCopy","reloadResources","use","setDefaultNamespace","loadLanguages","i18next","global_es","global_en","ReactDOM","reportWebVitals"],"sourceRoot":""}