{"version":3,"file":"static/js/main.46e45eaf.js","mappings":"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MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAO,YACxB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,YACD,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,QASf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CA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGE3O,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEmmI,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7D5nI,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEnB,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,KAGEgkF,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE20C,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DlnH,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEuyG,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,cAuKOrmB,EAAkBl+F,EAASnB,GAAA,QAC9Bid,EAAY,EACZ5b,EAAe,EACfxB,EAAK,IAAIS,MACJ+N,EAAI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EAAUtgI,GAAM8C,GAAY,GAAKD,EAAS2L,KAC1C8xH,EAAUr8H,EAAQuK,IAClBhL,GAAA,QA5CQ,IA8CNT,GACFu9H,EAAUtpC,GAEL55E,CAAA,UA8HAq/G,EAAWn7H,GAClBA,EAAUuE,KAAKwT,IAAIxT,KAAKC,IAAIxE,EAAS,GAAI,KAErCkN,GAAkBlN,IAAA,SA1qBCA,GAAA,QACnBnB,EAAM,CACR,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,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOid,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvB5b,EAAIw1F,GAAQ72F,EAAIid,GAAK9b,EAAK,IAAM,KACpCE,EAAIqE,KAAKwT,IAAIxT,KAAKC,IAAItE,EAAG,GAAI,KAC7BD,EAAO6R,EAAOgK,IAAM5b,CAAA,SAElBxB,EAAO,CACT,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,IAEOwO,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBvK,EAAI+yF,GAAQh3F,EAAKwO,GAAKlN,EAAK,IAAM,KACrC2C,EAAI4B,KAAKwT,IAAIxT,KAAKC,IAAI7B,EAAG,GAAI,KAC7B0Q,EAAQvB,EAAO5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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,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,GAEJ9tH,EAAE,aAAc,iBAChBziI,EAAK+0P,WAAa,kBACT,YAET/0P,EAAKg1P,WAAa,SAASh1P,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q2P,eAAiB,IAAI55P,OAAS,IACnCuD,EAAKs2P,oBAAsB,IAAI75P,OAAS,IACxCuD,EAAKu2P,iBAAmB,IAAI95P,OAAS,OAClCm1P,GACFG,GACAC,GACAG,GACAG,GACAJ,GA+3BA2B,GAIAC,GACAG,GACAjwF,GACA+vF,GACAC,GACAz/B,GACAtoJ,GACAioL,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAIAzD,GACAkB,GACAnB,GACAiC,GAz5BAO,GAAKvmP,EAAE,KACPwmP,GAAKxmP,EAAE,MACPymP,GAAKzmP,EAAE,KACP0mP,GAAK1mP,EAAE,KACPsmP,GAAK,EACLqB,GAAKnB,GACLpV,GAAKqV,GACLiB,GAAIhB,GACJkB,GAAIrB,GACJ3B,GAAK,EACLX,GAAK,EACLc,GAAK,EACLb,GAAK,EACLJ,GAAK,EACLK,GAAK,EACLgB,GAAK,EACL7B,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACLqC,GAAK,CAAC,EAAG,EAAG,GACZD,GAAK,CAAC,EAAG,EAAG,IACZF,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBH,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEvB,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,KAEFqB,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEF3wH,GAAK,EACLf,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,KAEFa,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,GA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ACE,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,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,I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mBid,GACzCzI,EAAuBnT,IAGvBgC,EAhaM,EAiaNlC,EAAOmD,EAASnD,EAAMnB,EAAmBid,GACzC9b,EAAO++H,EAAc/+H,EAAMnB,GAC3BqD,EAlaM,EAmaNmR,GAAA,EACArT,EAAOmD,EAASnD,EAAMnB,EAAmBid,GACzCzI,EAAuBnT,EACvBF,EAAO++H,EAAc/+H,EAAMnB,GAAA,OAxC7BqD,EA/XQ,EAgYRlC,EAAOmD,EAASnD,EAAMnB,EAAmBid,QAdzC5Z,EAAOgL,EAjXC,EADA,EAmXRlN,EAAOmD,EAASnD,EAAMnB,EAAmBid,GAAA,OAuDpC9b,CAAA,OAcJqgQ,eAAe9kE,WAAa,SAASv7L,GACpCA,IACFtB,EAAcsB,EAAQ0gQ,cACtBhrK,EAAe11F,EAAQ2gQ,eACvBzzP,EAAWlN,EAAQ4gQ,WACnB3gQ,EAAYD,EAAQ6gQ,YACpBxtP,EAAuBrT,EAAQ8gQ,oBAAA,OAI9BT,eAAe9kE,WAAWv7L,GACxBL,KAAK0gQ,cAAA,MAGVxhQ,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,IAC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","sources":["../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.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/-prefix-linear-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/types/functions/linear-gradient.ts","../node_modules/src/css/types/functions/-webkit-gradient.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/lodash/lodash.js","../node_modules/moment/moment.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-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.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/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-router/index.ts","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","assets/svgs/ArrowForward/ArrowForward.tsx","atoms/LoadingSpinner/LoadingSpinner.tsx","atoms/BaseButton/buttonConstants.ts","atoms/BaseButton/BaseButton.tsx","atoms/BaseInput/InputConstants.ts","atoms/BaseInput/BaseInput.tsx","pages/ParcelSearch/components/ErrorText.tsx","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@emotion/sheet/dist/emotion-sheet.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/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/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.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-5486c51c.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.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/memoize-one/dist/memoize-one.esm.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../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/platform/common/utils.js","../node_modules/axios/lib/platform/index.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/core/settle.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.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/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.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/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","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","utils/axiosHelper.ts","utils/getData.ts","constants.ts","utils/textManipulation.ts","pages/ParcelSearch/ParcelSearch.tsx","pages/ParcelTracking/components/ParcelStatus.tsx","assets/svgs/VanIcon/VanIcon.tsx","assets/svgs/PlaceIcon/PlaceIcon.tsx","utils/formatDateTime.ts","pages/ParcelTracking/components/AddressEstimatedTimeWithIcon.tsx","pages/ParcelTracking/components/DeliveryInfo.tsx","assets/svgs/BookerSilhouette/BookerSilhouette.tsx","../node_modules/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/node_modules/.pnpm/invariant@2.2.4/node_modules/invariant/invariant.js","../node_modules/@react-google-maps/api/src/map-context.ts","../node_modules/@react-google-maps/api/src/utils/helper.ts","../node_modules/@react-google-maps/api/src/utils/foreach.ts","../node_modules/@react-google-maps/api/src/utils/reduce.ts","../node_modules/@react-google-maps/api/src/GoogleMap.tsx","../node_modules/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@react-google-maps/api/src/utils/make-load-script-url.ts","../node_modules/@react-google-maps/api/src/utils/isbrowser.ts","../node_modules/@react-google-maps/api/src/utils/injectscript.ts","../node_modules/@react-google-maps/api/src/utils/prevent-google-fonts.ts","../node_modules/@react-google-maps/api/src/LoadScript.tsx","../node_modules/@react-google-maps/api/src/useLoadScript.tsx","../node_modules/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/node_modules/.pnpm/@babel+runtime@7.25.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@react-google-maps/api/src/LoadScriptNext.tsx","../node_modules/node_modules/.pnpm/@googlemaps+js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.mjs","../node_modules/@react-google-maps/api/src/useJsApiLoader.tsx","../node_modules/@react-google-maps/api/src/components/maps/TrafficLayer.tsx","../node_modules/@react-google-maps/api/src/components/maps/BicyclingLayer.tsx","../node_modules/@react-google-maps/api/src/components/maps/TransitLayer.tsx","../node_modules/@react-google-maps/api/src/components/drawing/DrawingManager.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Marker.tsx","../node_modules/node_modules/.pnpm/@react-google-maps+marker-clusterer@2.20.0/node_modules/@react-google-maps/marker-clusterer/dist/esm.js","../node_modules/@react-google-maps/api/src/components/addons/MarkerClusterer.tsx","../node_modules/node_modules/.pnpm/@react-google-maps+infobox@2.20.0/node_modules/@react-google-maps/infobox/dist/esm.js","../node_modules/@react-google-maps/api/src/components/addons/InfoBox.tsx","../node_modules/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js","../node_modules/node_modules/.pnpm/kdbush@4.0.2/node_modules/kdbush/index.js","../node_modules/node_modules/.pnpm/supercluster@8.0.1/node_modules/supercluster/index.js","../node_modules/node_modules/.pnpm/@googlemaps+markerclusterer@2.5.3/node_modules/@googlemaps/markerclusterer/dist/index.esm.js","../node_modules/@react-google-maps/api/src/components/addons/GoogleMarkerClusterer.tsx","../node_modules/@react-google-maps/api/src/components/drawing/InfoWindow.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Polyline.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Polygon.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Rectangle.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Circle.tsx","../node_modules/@react-google-maps/api/src/components/drawing/Data.tsx","../node_modules/@react-google-maps/api/src/components/kml/KmlLayer.tsx","../node_modules/@react-google-maps/api/src/components/dom/dom-helper.ts","../node_modules/@react-google-maps/api/src/components/dom/Overlay.tsx","../node_modules/@react-google-maps/api/src/components/dom/OverlayView.tsx","../node_modules/@react-google-maps/api/src/components/overlays/GroundOverlay.tsx","../node_modules/@react-google-maps/api/src/utils/noop.ts","../node_modules/@react-google-maps/api/src/components/heatmap/HeatmapLayer.tsx","../node_modules/@react-google-maps/api/src/components/streetview/StreetViewPanorama.tsx","../node_modules/@react-google-maps/api/src/components/streetview/StreetViewService.tsx","../node_modules/@react-google-maps/api/src/components/directions/DirectionsService.tsx","../node_modules/@react-google-maps/api/src/components/directions/DirectionsRenderer.tsx","../node_modules/@react-google-maps/api/src/components/distance-matrix/DistanceMatrixService.tsx","../node_modules/@react-google-maps/api/src/components/places/StandaloneSearchBox.tsx","../node_modules/@react-google-maps/api/src/components/places/Autocomplete.tsx","assets/svgs/MapPin/MapPin.tsx","assets/svgs/MapPinInCircle/MapPinInCircle.tsx","pages/ParcelTracking/components/ShowMap.tsx","pages/ParcelTracking/components/MainInformationButtons.tsx","pages/ParcelTracking/components/ErrorNotification.tsx","assets/svgs/CheckMark/CheckMark.tsx","assets/svgs/CourierAssigned/CourierAssigned.tsx","pages/ParcelTracking/components/ParcelTrackingStep.tsx","assets/svgs/OnDelivery/OnDelivery.tsx","assets/svgs/MinusInCircle/MinusInCircle.tsx","assets/svgs/PlusInCircle/PlusInCircle.tsx","assets/svgs/ScheduledTimeIcon/ScheduledTimeIcon.tsx","assets/svgs/CheckMarkInverted/CheckMarkInverted.tsx","organisms/StopInformation/components/StopInfoLabel.tsx","assets/svgs/InfoMarker/InfoMarker.tsx","organisms/StopInformation/components/StopInfoDateTime.tsx","organisms/StopInformation/components/StopInfoProofOfVisit.tsx","organisms/StopInformation/components/StopInfoLabelMobile.tsx","organisms/StopInformation/StopInfo.tsx","pages/ParcelTracking/components/ParcelStopsInfo.tsx","pages/ParcelTracking/components/SamedaySteps.tsx","assets/svgs/CollectionIcon/CollectionIcon.tsx","molecules/StepWithGreyBox/StepWithGreyBox.tsx","pages/ParcelTracking/components/StepCollection.tsx","pages/ParcelTracking/components/StepInTransit.tsx","pages/ParcelTracking/components/StepDelivery.tsx","pages/ParcelTracking/components/NdiSteps.tsx","pages/ParcelTrackingReport/components/MainInformationButtons.tsx","pages/ParcelTrackingReport/components/FirstTable.tsx","pages/ParcelTrackingReport/components/ReferenceTable.tsx","pages/ParcelTrackingReport/components/CollectionTableRow.tsx","pages/ParcelTrackingReport/components/CollectionTable.tsx","pages/ParcelTrackingReport/components/EventTableRow.tsx","pages/ParcelTrackingReport/components/EventTable.tsx","../node_modules/jspdf/node_modules/@babel/runtime/helpers/esm/typeof.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","pages/ParcelTrackingReport/components/FirstTableTest.tsx","pages/ParcelTrackingReport/components/ReferenceTableTest.tsx","pages/ParcelTrackingReport/components/EventTableTest.tsx","pages/ParcelTrackingReport/components/CollectionTableTest.tsx","pages/ParcelTrackingReport/TestPdf.tsx","pages/ParcelTrackingReport/ParcelTrackingReport.tsx","pages/ParcelTrackingReport/test.ts","pages/ParcelTracking/ParcelTracking.tsx","assets/svgs/ChevronRightIcon/ChevronRightIcon.tsx","molecules/MobileNav/components/MobileService.tsx","molecules/MobileNav/components/MobileAboutUs.tsx","molecules/MobileNav/components/MobileSupport.tsx","molecules/MobileNav/MobileNav.tsx","molecules/DesktopNav/components/HeaderMenuText.tsx","molecules/DesktopNav/components/DesktopServices.tsx","molecules/DesktopNav/components/DesktopAboutUs.tsx","molecules/DesktopNav/components/DesktopSupport.tsx","molecules/DesktopNav/DesktopNav.tsx","organisms/Header/Header.tsx","organisms/Footer/Footer.tsx","App.tsx","index.tsx"],"sourcesContent":["'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","/*! *****************************************************************************\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 {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, 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 {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, 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 {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 var findWidth = 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 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(findWidth);\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\" && activeFont.encoding === \"Identity-H\") {\r\n // when using unicode fonts, wordSpacePerLine does not apply\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n let backToStartX = 0;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : backToStartX;\r\n if (l < len - 1) {\r\n let spacing = scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n );\r\n let words = da[l].split(\" \");\r\n text.push([words[0] + \" \", newX, newY]);\r\n backToStartX = 0; // distance to reset back to the left\r\n for (let i = 1; i < words.length; i++) {\r\n let shiftAmount =\r\n (findWidth(words[i - 1] + \" \" + words[i]) -\r\n findWidth(words[i])) *\r\n scaleFactor +\r\n spacing;\r\n if (i == words.length - 1) text.push([words[i], shiftAmount, 0]);\r\n else text.push([words[i] + \" \", shiftAmount, 0]);\r\n backToStartX -= shiftAmount;\r\n }\r\n } else {\r\n text.push([da[l], newX, newY]);\r\n }\r\n }\r\n text.push([\"\", backToStartX, 0]);\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\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","import React from 'react'\nimport { formatDateDashTime } from 'utils/formatDateTime'\n\ninterface Props {\n vehicleDescription: string\n vehicleType: string\n bookerFullName: string\n readyAtDateTime: string\n bookingDateTime: string\n}\n\nexport const FirstTableTest = ({\n vehicleDescription,\n vehicleType,\n bookerFullName,\n bookingDateTime,\n readyAtDateTime,\n}: Props) => {\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Service descriptionService typeBooked byReady at Date booked
    {vehicleDescription}{vehicleType}{bookerFullName || 'N/A'}{formatDateDashTime(readyAtDateTime)}{formatDateDashTime(bookingDateTime)}
    \n
    \n )\n}\n","import React from 'react'\n\ninterface Props {\n references: { [key: string]: string }\n}\n\nexport const ReferenceTableTest = ({ references }: Props) => {\n return (\n
    \n {Object.keys(references).map((key, index) => (\n \n \n {index === 0 ? 'Department' : `Reference ${index}`}\n \n {references[key]}\n
    \n ))}\n \n )\n}\n","import React from 'react'\nimport { StopsData, TrackData } from 'pages/ParcelTracking/interface'\nimport { capitalizeFullString } from 'utils/textManipulation'\nimport { EventTableRow } from './EventTableRow'\n\ninterface Props {\n bookedDate: string\n courierAssignedAt: string\n stops: StopsData[]\n track: TrackData[]\n}\n\nexport const EventTableTest = ({\n bookedDate,\n stops,\n courierAssignedAt,\n track = [],\n}: Props) => {\n return (\n
    \n \n \n \n \n \n \n \n {stops.map((stop, index) => (\n <>\n \n {stop.issue && (\n \n )}\n \n {stop.proofOfVisit.name && (\n \n )}\n {stop.stopReference === '1' &&\n track?.length > 0 &&\n track.map((trackData, trackIndex) => (\n \n ))}\n \n ))}\n
    EventDate & time
    \n
    \n )\n}\n","import React from 'react'\nimport { StopsData } from 'pages/ParcelTracking/interface'\nimport {\n formatDateTimeToDate,\n formatDateTimeToTime,\n} from 'utils/formatDateTime'\nimport { InfoMarker } from 'assets/svgs/InfoMarker'\nimport { CollectionTableRow } from './CollectionTableRow'\nimport { capitalizeFullString } from 'utils/textManipulation'\n\ninterface Props {\n key: number\n isCollection: boolean\n isDelivery: boolean\n data: StopsData\n}\n\nexport const CollectionTableTest = ({\n isCollection,\n isDelivery,\n data,\n}: Props) => {\n return (\n
    \n
    \n
    \n
    \n \n {isCollection\n ? 'Collection address'\n : isDelivery\n ? 'Delivery address'\n : `Stop ${data.stopReference}`}\n \n
    \n \n \n \n \n \n \n \n
    \n
    \n {/* next table --> */}\n
    \n
    \n
    \n \n {isCollection\n ? 'Collection details'\n : isDelivery\n ? 'Delivery details'\n : `Stop ${data.stopReference} details`}\n \n
    \n \n {data.waitTime && (\n \n )}\n {data.issue && (\n \n \n \n {capitalizeFullString(data.issue)}\n \n \n }\n />\n )}\n \n \n \n \n \n \n ) : data.completedAt ? (\n 'NOT AVAILABLE'\n ) : (\n ''\n )\n }\n />\n
    \n
    \n
    \n
    \n {data.proofOfVisit?.photos?.length > 0 && (\n
    \n Photo Record\n
    \n {data.proofOfVisit?.photos.map((photo) => (\n \n ))}\n
    \n
    \n )}\n
    \n )\n}\n","import React from 'react'\nimport { PackageTrackingPayload } from 'pages/ParcelTracking/interface'\nimport './parcelTrackingReportSyles.css'\nimport { FirstTableTest } from './components/FirstTableTest'\nimport { ReferenceTableTest } from './components/ReferenceTableTest'\nimport { EventTableTest } from './components/EventTableTest'\nimport { CollectionTableTest } from './components/CollectionTableTest'\n\ninterface Props {\n data: PackageTrackingPayload\n}\nexport const TestPdf = ({ data }: Props) => {\n // const exportToPdf = async () => {\n // const test = document.getElementById('testingExport2')\n // if (!test) {\n // return\n // }\n // html2canvas(test, { useCORS: false, allowTaint: true }).then((canvas) => {\n // const imgWidth = 208\n // const pageHeight = 295\n // const imgHeight = (canvas.height * imgWidth) / canvas.width\n // let heightLeft = imgHeight\n // let position = 0\n\n // heightLeft -= pageHeight\n // const doc = new jspdf('p', 'mm')\n // doc.addImage(canvas, 'PNG', 0, position, imgWidth, imgHeight, '', 'FAST')\n // while (heightLeft >= 0) {\n // position = heightLeft - imgHeight\n // doc.addPage()\n // doc.addImage(\n // canvas,\n // 'PNG',\n // 0,\n // position,\n // imgWidth,\n // imgHeight,\n // '',\n // 'FAST',\n // )\n // heightLeft -= pageHeight\n // }\n // doc.save('Downld.pdf')\n // })\n // }\n return (\n <>\n {/* \n Save as PDF\n */}\n
    \n
    \n \n Tracking status report\n \n
    \n
    \n \n Job number: {data?.jobNumber}\n \n
    \n \n {Object.keys(data.invoiceReferences).length > 0 && (\n \n )}\n \n {data.stops.map((stop, index) => (\n \n ))}\n
    \n \n )\n}\n","import React, { useEffect, useState } from 'react'\nimport { useNavigate } from 'react-router-dom'\nimport { PackageTrackingPayload } from 'pages/ParcelTracking/interface'\nimport './parcelTrackingReportSyles.css'\nimport { SaveTrackButtons } from './components/MainInformationButtons'\nimport { FirstTable } from './components/FirstTable'\nimport { ReferenceTable } from './components/ReferenceTable'\nimport { CollectionTable } from './components/CollectionTable'\nimport { EventTable } from './components/EventTable'\nimport { exportToPdf } from './test'\nimport { TestPdf } from './TestPdf'\n\ninterface Props {\n data: PackageTrackingPayload\n onBackclick: () => void\n}\nexport const ParcelTrackingReport = ({ data, onBackclick }: Props) => {\n const navigate = useNavigate()\n const [showExportPage, setShowExportPage] = useState(false)\n\n const onClick = () => {\n setShowExportPage(true)\n }\n\n useEffect(() => {\n if (!showExportPage) {\n return\n }\n\n const exportElement = document.getElementById('testingExport2')\n if (exportElement) {\n exportToPdf(exportElement, 'tracking-report.pdf')\n }\n setShowExportPage(false)\n }, [showExportPage])\n return (\n \n
    \n \n Tracking status report\n \n
    \n
    \n \n Job number: {data?.jobNumber}\n \n {\n navigate('/')\n }}\n onSavePDF={() => {\n onClick()\n }}\n onBackclick={onBackclick}\n />\n
    \n \n {Object.keys(data.invoiceReferences).length > 0 && (\n \n )}\n \n {data.stops.map((stop, index) => (\n \n ))}\n {showExportPage && }\n \n )\n}\n","import html2canvas from 'html2canvas'\nimport jspdf from 'jspdf'\n\nexport const exportToPdf = async (html: HTMLElement, fileName: string) => {\n html2canvas(html, {\n useCORS: true,\n allowTaint: true,\n proxy: '/',\n }).then((canvas) => {\n const imgWidth = 208\n const pageHeight = 295\n const imgHeight = (canvas.height * imgWidth) / canvas.width\n let heightLeft = imgHeight\n let position = 0\n\n heightLeft -= pageHeight\n const doc = new jspdf('p', 'mm')\n doc.addImage(canvas, 'PNG', 0, position, imgWidth, imgHeight, '', 'FAST')\n while (heightLeft >= 0) {\n position = heightLeft - imgHeight\n doc.addPage()\n doc.addImage(canvas, 'PNG', 0, position, imgWidth, imgHeight, '', 'FAST')\n heightLeft -= pageHeight\n }\n doc.save(fileName)\n })\n}\n\n// export const exportToPdf = async (html: HTMLElement, fileName: string) => {\n// html2canvas(html).then((canvas) => {\n// const imgData = canvas.toDataURL('image/png')\n// const pdf = new jsPDF()\n// pdf.addImage(imgData, 'JPEG', 0, 0, 210, 280)\n// // pdf.output('dataurlnewwindow')\n// pdf.save(fileName)\n// })\n// }\n\n// export const exportToPdf = async (\n// html: string | HTMLElement,\n// fileName: string,\n// ) => {\n// const pdf = new jsPDF('p', 'px', 'a4')\n\n// pdf.html(html, {\n// margin: 10,\n\n// callback: (pdf) => {\n// pdf.save(fileName)\n// },\n// })\n// }\n// export const exportToPdf = async (\n// html: string | HTMLElement,\n// fileName: string,\n// ) => {\n// const pdf = new jsPDF('p', 'px', 'a4')\n// pdf.html(html, {\n// callback: (pdf) => {\n// pdf.save(fileName)\n// },\n// })\n// }\n","import React, { useEffect, useState } from 'react'\nimport { useNavigate, useParams } from 'react-router-dom'\nimport { ParcelStatus } from './components/ParcelStatus'\nimport { DeliveryInfo } from './components/DeliveryInfo'\nimport { PackageTrackingPayload } from './interface'\nimport { BookerSilhouette } from 'assets/svgs/BookerSilhouette'\nimport { ShowMap } from './components/ShowMap'\nimport { MainInformationButtons } from './components/MainInformationButtons'\nimport {\n fetchTrackingDetails,\n fetchTrackingDetailsByTrackingstring,\n} from 'utils/getData'\nimport './parcelTrackingSyles.css'\nimport { formatTimeDateWithDash } from 'utils/formatDateTime'\nimport { ErrorNotification } from './components/ErrorNotification'\nimport { RequestError } from 'utils/axiosHelper'\nimport { SamedaySteps } from './components/SamedaySteps'\nimport { NdiSteps } from './components/NdiSteps'\nimport { ParcelTrackingReport } from 'pages/ParcelTrackingReport/ParcelTrackingReport'\n\nexport const ParcelTracking = () => {\n const navigate = useNavigate()\n const { jobNumber, accountNumber, trackingstring } = useParams()\n\n const [dataWasFetched, setDataWasFetched] = useState(false)\n const [viewReport, setViewReport] = useState(false)\n const [data, setData] = useState<{\n data: PackageTrackingPayload\n error?: RequestError\n }>()\n\n const collectionInfo = data?.data?.stops[0]\n const deliveryInfo = data?.data?.stops[data?.data?.stops.length - 1]\n const stopAddresses = data?.data?.stops\n .filter((stop) => stop.stopStatus !== 'COMPLETED')\n .map((stop) => ({\n lat: Number(stop?.address.latitude),\n lng: Number(stop?.address.longitude),\n }))\n\n const courierCoordinates = data?.data?.courier?.location\n\n useEffect(() => {\n if (!trackingstring && (!jobNumber || !accountNumber || dataWasFetched)) {\n return\n }\n if (jobNumber && accountNumber) {\n fetchTrackingDetails({\n bookingId: jobNumber,\n accountId: accountNumber,\n setData,\n })\n } else if (trackingstring) {\n fetchTrackingDetailsByTrackingstring({\n trackingstring: trackingstring,\n setData,\n })\n } else {\n return\n }\n setDataWasFetched(true)\n }, [])\n\n return (\n <>\n \n \n \n\n
    \n
    \n \n Track my parcel - Job number {data?.data?.jobNumber}\n \n \n
    \n
    \n \n
    \n \n Booked by {data?.data?.bookerFullName || ''}\n \n \n {`Booked at ${formatTimeDateWithDash(data?.data?.bookingDateTime)}`}\n \n
    \n
    \n {\n navigate('/')\n }}\n onViewClick={() => {\n // setViewReport(false)\n setViewReport(true)\n }}\n />\n
    \n \n {data?.data?.isNdi ? (\n \n ) : (\n \n )}\n \n
    \n {data?.data && (\n {\n setViewReport(false)\n }}\n />\n )}\n
    \n \n )\n}\n","import React from 'react'\n\ninterface Prop {\n className?: string\n}\nexport const ChevronRightIcon = ({ className }: Prop) => (\n
    \n \n \n \n
    \n)\n","import React from 'react'\nimport { CS_URL } from '../../../constants'\n\ninterface Props {\n servicesOpen: boolean\n}\nexport const MobileService = ({ servicesOpen }: Props) => {\n return (\n <>\n {servicesOpen && (\n \n )}\n \n )\n}\n","import React from 'react'\nimport { CS_URL } from '../../../constants'\n\ninterface Props {\n aboutUsOpen: boolean\n}\nexport const MobileAboutUs = ({ aboutUsOpen }: Props) => {\n return (\n <>\n {aboutUsOpen && (\n \n )}\n \n )\n}\n","import React from 'react'\nimport { CS_URL, CS_URL_TRACKING } from '../../../constants'\n\ninterface Props {\n supportOpen: boolean\n}\nexport const MobileSupport = ({ supportOpen }: Props) => {\n return (\n <>\n {supportOpen && (\n \n )}\n \n )\n}\n","import React, { useEffect, useState } from 'react'\nimport { ChevronRightIcon } from 'assets/svgs/ChevronRightIcon'\nimport {\n CS_URL,\n CS_URL_COMPANY_REGISTRATION,\n CS_URL_MY_ACCOUNT,\n} from '../../constants'\nimport { MobileService } from './components/MobileService'\nimport { MobileAboutUs } from './components/MobileAboutUs'\nimport { MobileSupport } from './components/MobileSupport'\n\ninterface Props {\n clickOutside: boolean\n onClose: () => void\n}\n\nexport const MobileNav = ({ onClose, clickOutside }: Props) => {\n const [servicesOpen, setServicesOpen] = useState(false)\n const [aboutUsOpen, setAboutUsOpen] = useState(false)\n const [supportOpen, setSupportOpen] = useState(false)\n const [myAccountOpen, setMyAccountOpen] = useState(false)\n\n useEffect(() => {\n if (!clickOutside) {\n return\n }\n setServicesOpen(false)\n setAboutUsOpen(false)\n setSupportOpen(false)\n setMyAccountOpen(false)\n }, [clickOutside])\n\n return (\n <>\n
    \n \n \n )\n}\n","import React from 'react'\nimport { ChevronRightIcon } from 'assets/svgs/ChevronRightIcon'\n\ninterface Props {\n text: string\n url: string\n className?: string\n}\nexport const HeaderMenuText = ({ text, url, className }: Props) => {\n return (\n \n )\n}\n","import React from 'react'\nimport { CS_URL } from '../../../constants'\nimport { HeaderMenuText } from './HeaderMenuText'\n\ninterface Props {\n servicesOpen: boolean\n}\nexport const DesktopServices = ({ servicesOpen }: Props) => {\n return (\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 by indistry...\n \n \n \n \n \n
    \n
    \n \n )\n}\n","import React from 'react'\nimport { CS_URL } from '../../../constants'\nimport { HeaderMenuText } from './HeaderMenuText'\n\ninterface Props {\n aboutUsOpen: boolean\n}\nexport const DesktopAboutUs = ({ aboutUsOpen }: Props) => {\n return (\n \n
    \n
    \n \n About CitySprint\n \n \n \n \n \n \n
    \n
    \n \n Helping you grow\n \n \n \n \n \n \n
    \n
    \n \n Building a better future\n \n \n \n \n \n \n
    \n
    \n Work with us\n \n \n
    \n
    \n \n )\n}\n","import React from 'react'\nimport { CS_URL, CS_URL_TRACKING } from '../../../constants'\nimport { HeaderMenuText } from './HeaderMenuText'\n\ninterface Props {\n supportOpen: boolean\n}\nexport const DesktopSupport = ({ supportOpen }: Props) => {\n return (\n \n
    \n
    \n \n How can we help?\n \n\n \n \n \n
    \n\n
    \n \n Guides & resources\n \n\n \n\n \n
    \n
    \n \n Payments & guidance\n \n\n \n \n \n
    \n
    \n \n Find your Service Centre\n \n\n \n \n \n \n
    \n
    \n \n )\n}\n","import React, { useEffect, useState } from 'react'\nimport { CS_URL_MY_ACCOUNT } from '../../constants'\nimport { DesktopServices } from './components/DesktopServices'\nimport { DesktopAboutUs } from './components/DesktopAboutUs'\nimport { DesktopSupport } from './components/DesktopSupport'\n\ninterface Props {\n clickOutside: boolean\n onStateChange: (isOpen: boolean) => void\n}\n\nexport const DesktopNav = ({ onStateChange, clickOutside }: Props) => {\n const [servicesOpen, setServicesOpen] = useState(false)\n const [aboutUsOpen, setAboutUsOpen] = useState(false)\n const [supportOpen, setSupportOpen] = useState(false)\n useEffect(() => {\n const isOpen = servicesOpen || aboutUsOpen || supportOpen\n onStateChange(isOpen)\n }, [servicesOpen, aboutUsOpen, supportOpen, onStateChange])\n\n useEffect(() => {\n if (!clickOutside) {\n return\n }\n setServicesOpen(false)\n setAboutUsOpen(false)\n setSupportOpen(false)\n }, [clickOutside])\n\n return (\n \n )\n}\n","import React, { useState } from 'react'\nimport './headerSyles.css'\nimport { CS_URL, CS_URL_COMPANY_REGISTRATION } from '../../constants'\nimport { MobileNav } from 'molecules/MobileNav/MobileNav'\nimport { DesktopNav } from 'molecules/DesktopNav/DesktopNav'\n\nexport const Header = () => {\n const [clickOutside, setClickOutside] = useState(false)\n const [desktopNavOpen, setDesktopNavOpen] = useState(false)\n const setDesktopNavState = (isOpen: boolean) => {\n setDesktopNavOpen(isOpen)\n setClickOutside(false)\n }\n\n const [mobileNavOpen, setMobileNavOpen] = useState(false)\n const closeMobileNav = () => {\n setMobileNavOpen(false)\n setClickOutside(false)\n }\n\n return (\n
    \n
    \n
    \n {\n setMobileNavOpen(true)\n }}>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n\n {\n setClickOutside(true)\n }}\n className={`nav-background js-nav-background ${\n desktopNavOpen ? '' : 'is-hidden'\n }`}>
    \n
    \n \n \n \n \n {mobileNavOpen && (\n \n )}\n \n
    \n \n Become a courier\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Sign up for an account\n \n
    \n
    \n \n \n \n \n )\n}\n","import React from 'react'\nimport { CS_URL, CS_URL_COMPANY_REGISTRATION } from '../../constants'\nimport './footerSyles.css'\n\nexport const Footer = () => {\n return (\n
    \n
    \n
    \n {/* \n
    \n

    Book faster and stay informed:

    \n
    \n
    \n \n Sign in/Sign up\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

    Delivering what matters.

    \n
    \n \n
    \n \n \n )\n}\n","import React from 'react'\nimport { createBrowserRouter, RouterProvider } from 'react-router-dom'\nimport { ParcelSearch } from 'pages/ParcelSearch/ParcelSearch'\nimport { ParcelTracking } from 'pages/ParcelTracking/ParcelTracking'\nimport { Header } from 'organisms/Header/Header'\nimport { Footer } from 'organisms/Footer/Footer'\n\n// const ItemsWrapper = () => {\n// return (\n// <>\n//
    \n// \n//