{"version":3,"file":"static/js/main.32d88084.js","mappings":"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,IAAK,eACL,IAAK,aACL,IAAK,cACL,IAAK,cACL,IAAK,kBACL,IAAK,YACL,IAAK,iBACL,IAAK,cACL,IAAK,eACL,IAAK,eACL,IAAK,YACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,gBACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,gBACL,IAAK,YACL,IAAK,aACL,IAAK,UACL,IAAK,OACL,IAAK,cACL,IAAK,UACL,IAAK,YACL,IAAK,iBACL,IAAK,cACL,IAAK,oBACL,IAAK,gBACL,IAAK,eACL,IAAK,iBACL,IAAK,kBACL,IAAK,cACL,IAAK,qBACL,IAAK,SACL,IAAK,cACL,IAAK,WACL,IAAK,WACL,IAAK,eACL,IAAK,eACL,IAAK,iBACL,IAAK,eACL,IAAK,kBACL,IAAK,qBACL,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,gBACL,IAAK,cACL,IAAK,eACL,IAAK,kBACL,IAAK,oBACL,IAAK,kBACL,IAAK,iBACL,IAAK,UACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,cACL,IAAK,UACL,IAAK,SACL,IAAK,cACL,IAAK,UACL,IAAK,oBACL,IAAK,kBACL,IAAK,QACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,mBACL,IAAK,oBACL,IAAK,cACL,IAAK,cACL,IAAK,mBACL,IAAK,eACL,IAAK,aACL,IAAK,eACL,IAAK,gBACL,IAAK,aACL,IAAK,cACL,IAAK,cACL,IAAK,iBACL,IAAK,YACL,IAAK,cACL,IAAK,eACL,IAAK,aACL,IAAK,aACL,IAAK,gBACL,IAAK,eACL,IAAK,kBACL,IAAK,gBACL,IAAK,qBACL,IAAK,WACL,IAAK,OACL,IAAK,gBACL,IAAK,kBACL,IAAK,aACL,IAAK,aACL,IAAK,eACL,IAAK,iBACL,IAAK,cACL,IAAK,iBACL,IAAK,qBACL,IAAK,YACL,IAAK,oBACL,IAAK,WACL,IAAK,cACL,IAAK,iBACL,IAAK,WACL,IAAK,eACL,IAAK,gBACL,IAAK,gBACL,IAAK,mBACL,IAAK,iBACL,IAAK,eACL,IAAK,cACL,IAAK,YACL,IAAK,kBACL,IAAK,oBACL,IAAK,iBACL,IAAK,YACL,IAAK,aACL,IAAK,oBACL,IAAK,aACL,IAAK,eACL,IAAK,iBACL,IAAK,kBACL,IAAK,eACL,IAAK,gBACL,IAAK,gBACL,IAAK,qBACL,IAAK,mBACL,IAAK,qBACL,IAAK,yBACL,IAAK,cACL,IAAK,aACL,IAAK,mBACL,IAAK,sBACL,IAAK,eACL,IAAK,eACL,IAAK,gBACL,IAAK,cACL,IAAK,kBACL,IAAK,cACL,IAAK,gBACL,IAAK,kBACL,IAAK,2BACL,IAAK,eACL,IAAK,iBACL,IAAK,aACL,IAAK,iBACL,IAAK,YACL,IAAK,mBACL,IAAK,cACL,IAAK,wBACL,IAAK,kBACL,IAAK,qBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,qBACL,IAAK,aACL,IAAK,iBACL,IAAK,eACL,IAAK,mBACL,IAAK,aACL,IAAK,eACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,kBACL,IAAK,kBACL,IAAK,gBACL,IAAK,iBACL,IAAK,uBACL,IAAK,0BACL,IAAK,iBACL,IAAK,eACL,IAAK,YACL,IAAK,cACL,IAAK,aACL,IAAK,iBACL,IAAK,kBACL,IAAK,kBACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,qBACL,IAAK,cACL,IAAK,mBACL,IAAK,uBACL,IAAK,mBACL,IAAK,kBACL,IAAK,mBACL,IAAK,cACL,IAAK,iBACL,IAAK,kBACL,IAAK,eACL,IAAK,eACL,IAAK,oBACL,IAAK,sBACL,IAAK,sBACL,IAAK,mBACL,IAAK,qBACL,IAAK,qBACL,IAAK,gBACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,mBACL,IAAK,gBACL,IAAK,wBACL,IAAK,qBACL,IAAK,SACL,IAAK,kBACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,mBACL,IAAK,mBACL,IAAK,oBACL,IAAK,eACL,IAAK,oBACL,IAAK,uBACL,IAAK,cACL,IA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,IAAK,WACL,IAAK,gBACL,IAAK,aACL,IAAK,eACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,OACL,IAAK,SACL,IAAK,OACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,YACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,SACL,IAAK,WACL,IAAK,SACL,IAAK,aACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,gBACL,IAAK,WACL,IAAK,aACL,IAAK,cACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,WACL,IAAK,OACL,IAAK,QACL,IAAK,aACL,IAAK,KACL,IAAK,QACL,IAAK,SACL,IAAK,YACL,IAAK,cACL,IAAK,iBACL,IAAK,OACL,IAAK,gBACL,IAAK,WACL,IAAK,cACL,IAAK,WACL,IAAK,iBACL,IAAK,aACL,IAAK,YACL,IAAK,eACL,IAAK,eACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,eACL,IAAK,SACL,IAAK,WACL,IAAK,UACL,IAAK,UACL,IAAK,YACL,IAAK,UACL,IAAK,SACL,IAAK,SACL,IAAK,aACL,IAAK,YACL,IAAK,OACL,IAAK,YACL,IAAK,QACL,IAAK,OACL,IAAK,SACL,IAAK,YACL,IAAK,QACL,IAAK,YACL,IAAK,WACL,IAAK,UACL,IAAK,cACL,IAAK,cACL,IAAK,SACL,IAAK,eACL,IAAK,WACL,IAAK,YACL,IAAK,UACL,IAAK,WACL,IAAK,cACL,IAAK,MACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,MACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,WACL,IAAK,aACL,IAAK,cACL,IAAK,OACL,IAAK,WACL,IAAK,OACL,IAAK,gBACL,IAAK,YACL,IAAK,cACL,IAAK,QACL,IAAK,iBACL,IAAK,kBACL,IAAK,kBACL,IAAK,iBACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,eACL,IAAK,oBACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,eACL,IAAK,QACL,IAAK,cACL,IAAK,cACL,IAAK,WACL,IAAK,eACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,WACL,IAAK,gBACL,IAAK,YACL,IAAK,kBACL,IAAK,eACL,IAAK,gBACL,IAAK,mBACL,IAAK,cACL,IAAK,gBACL,IAAK,cACL,IAAK,WACL,IAAK,MACL,IAAK,YACL,IAAK,aACL,IAAK,qBACL,IAAK,mBACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,UACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,aACL,IAAK,cACL,IAAK,YACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,SACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,QACL,IAAK,SACL,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,OACL,IAAK,OACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,OACL,IAAK,YACL,IAAK,YACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,QACL,IAAK,QACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,SACL,IAAK,WACL,IAAK,UACL,IAAK,QACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,cACL,IAAK,UACL,IAAK,YACL,IAAK,WACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,cACL,IAAK,MACL,IAAK,cACL,IAAK,MACL,IAAK,aACL,IAAK,gBACL,IAAK,UACL,IAAK,eACL,IAAK,UACL,IAAK,WACL,IAAK,SACL,IAAK,YACL,IAAK,cAEHD,GAAW,CACb,EAAG,EACH,EAAG,EACH,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,E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MrB8C,EAAU,IAAI9C,MAAM,OACpB6B,EAAW,IAAI7B,MAAM,OACrBF,EAAkB,IAAIE,MAAM,IAC5BC,EAAK,IAAID,MAAM,IACf+B,EAAU,GACVo7B,EAAU,EACV36B,EAAU,EAEVhK,EAAM,IAAIwH,MAAM,IAChB8B,EAAM,IAAI9B,MAAM,IAChBuD,EAAM,IAAIvD,MAAM,IAChB64D,EAAM,IAAI74D,MAAM,KAChB01B,EAAgB,IAAI11B,MAAM,MAG1BgR,EAAS,CACX,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,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,IAGE1N,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEsjD,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7D5kD,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEhB,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,KAGE9K,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEywD,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/Dz1C,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEE21C,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,cAuKOh1D,EAAkB6O,EAASa,GAAA,QAC9BqZ,EAAY,EACZja,EAAe,EACfhP,EAAK,IAAIqO,MACJzH,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAIorD,EAAI,EAAGA,GAAKjjD,EAAQnI,GAAIorD,IAC/BhyD,EAAG4P,EAAUZ,IAAiB,GAC9BhP,EAAG4P,EAAUZ,IAAe,GAAKia,EACjCjpB,EAAG4P,EAAUZ,IAAe,GAAKpI,EACjCoI,IACAia,IAEFA,GAAa,SAERjpB,CAAA,UA2DA80D,EAAU/lD,GAAA,QACba,EAAQb,EAAG,GACXka,EAASla,EAAG,GAAK,EACdka,GAAU,GACXrZ,EAAS,GAAKqZ,IAChBuiB,GAAW,GAAK36B,GAElBoY,MACApY,EACc,IACG,KAAX26B,GACFiqB,EAAU,KACVA,EAAU,IAEVA,EAAUjqB,GAEZ36B,EAAU,EACV26B,EAAU,YAKPiqB,EAAU1mD,GAEjBqB,EAAQ7P,KAAKwO,EAAA,UAGN+5D,EAAU/5D,GACjB0mD,EAAW1mD,GAAS,EAAK,KACzB0mD,EAAkB,IAAR1mD,EAAA,UAyOHuQ,EAAUvQ,EAAKa,EAAOqZ,EAAIja,EAAMhP,GAAA,QAGnC4G,EAFAorD,EAAMhyD,EAAK,GACX8L,EAAY9L,EAAK,KAKjB+E,EAAA,SA5OagK,EAAMa,GAAA,IACnBqZ,EAAIja,EAAIhP,EAAI4G,EAAIorD,EAAIlmD,EAAI/G,EAAIoa,EAG5BtN,EAkHAV,EAnHAjB,EAAU,MAIT2B,EAAI,EAAGA,EAFH,IAEaA,EAAG,CACvBoX,EAAKla,EAAKmB,GACVlB,EAAKD,EAAKmB,EAAU,GACpBlQ,EAAK+O,EAAKmB,EAAU,GACpBtJ,EAAKmI,EAAKmB,EAAU,GACpB8hD,EAAKjjD,EAAKmB,EAAU,GACpBpE,EAAKiD,EAAKmB,EAAU,GACpBnL,EAAKgK,EAAKmB,EAAU,OAGhB5B,EAAO2a,GAFX9J,EAAKpQ,EAAKmB,EAAU,IAGhBE,EAAO6Y,EAAK9J,EACZqsB,EAAOx8B,EAAKjK,EACZ8L,EAAO7B,EAAKjK,EACZ8B,EAAO7G,EAAK8L,EACZqE,EAAOnQ,EAAK8L,EACZ8F,EAAOhL,EAAKorD,EACZkV,EAAOtgE,EAAKorD,EAGZjuB,EAAQz1B,EAAOsD,EACfyN,EAAQ/Q,EAAOsD,EACfD,EAAQ65B,EAAO3kC,EACfouD,EAAQzpB,EAAO3kC,EAEnBkI,EAAKmB,GAAW6zB,EAAQpyB,EACxB5C,EAAKmB,EAAU,GAAK6zB,EAAQpyB,EAAA,IAExBtB,EAAuB,YAAjB4kD,EAAQ51C,GAClBtQ,EAAKmB,EAAU,GAAKmP,EAAQhP,EAC5BtB,EAAKmB,EAAU,GAAKmP,EAAQhP,EAAA,IAQxBhB,EAAuB,aAL3B00B,EAAQmjC,EAAO/2D,IAEf8kD,EAAQpkD,EAAOT,IAIX7L,EAAK,SAAYw/B,EAAQ10B,EACzB2lD,EAAK,YAAcC,EAAQ5lD,EAC3BkQ,EAAa,YAPjB5N,EAAQxB,EAAOU,GASXqkD,EAAM9kD,EAAOmP,EACbrf,EAAMkQ,EAAOmP,EAEjBxQ,EAAKmB,EAAU,GAAKhQ,EAAMqE,EAC1BwK,EAAKmB,EAAU,GAAKhQ,EAAMqE,EAC1BwK,EAAKmB,EAAU,GAAKglD,EAAMF,EAC1BjmD,EAAKmB,EAAU,GAAKglD,EAAMF,EAE1B9kD,GAAW,MAIbA,EAAU,EACL2B,EAAI,EAAGA,EA1DH,IA0DaA,EAAG,CACvBoX,EAAKla,EAAKmB,GACVlB,EAAKD,EAAKmB,EAAU,GACpBlQ,EAAK+O,EAAKmB,EAAU,IACpBtJ,EAAKmI,EAAKmB,EAAU,IACpB8hD,EAAKjjD,EAAKmB,EAAU,IACpBpE,EAAKiD,EAAKmB,EAAU,IACpBnL,EAAKgK,EAAKmB,EAAU,QAGhB4kD,EAAS7rC,GAFb9J,EAAKpQ,EAAKmB,EAAU,KAGhBulD,EAASxsC,EAAK9J,EACd2pD,EAAS95D,EAAKjK,EACdua,EAAStQ,EAAKjK,EACdspE,EAASruE,EAAK8L,EACd+6D,EAAS7mE,EAAK8L,EACd6pD,EAAS/uD,EAAKorD,EACd/tB,EAASr9B,EAAKorD,EAGdxyC,EAAUs1C,EAASa,EACnBv2C,EAAU01C,EAASa,EACnByT,EAAUN,EAASuF,EACnB1F,EAAUG,EAASuF,EAEvBt/D,EAAKmB,GAAWsP,EAAU4pD,EAC1Br6D,EAAKmB,EAAU,IAAMsP,EAAU4pD,EAAA,IAE3BplC,EAA6B,YAArB2kC,EAAUvpD,GACtBrQ,EAAKmB,EAAU,IAAMkP,EAAU4kB,EAC/Bj1B,EAAKmB,EAAU,IAAMkP,EAAU4kB,EAAA,IAQ3B6mC,EAA6B,aALjCrrD,EAAUykB,EAAS4iC,IAEnB8B,EAAUrpD,EAASm2C,IAIfwV,EAAO,SAAYzrD,EAAUqrD,EAC7ByD,EAAO,YAAc3F,EAAUkC,EAC/BuD,EAAiB,YAPrBhF,EAAUvC,EAASvnD,GASf0rD,EAAQvV,EAAS2Y,EACjB3uD,EAAQg2C,EAAS2Y,EAErBr/D,EAAKmB,EAAU,IAAMuP,EAAQwrD,EAC7Bl8D,EAAKmB,EAAU,IAAMuP,EAAQwrD,EAC7Bl8D,EAAKmB,EAAU,GAAK86D,EAAQsD,EAC5Bv/D,EAAKmB,EAAU,IAAM86D,EAAQsD,EAE7Bp+D,GAAA,KAKG2B,EAAI,EAAGA,EAjHF,KAiHaA,EAErBV,EAAYpC,EAAK8C,GAAKjC,EAAMiC,GAC5B1D,EAAgB0D,GACdV,EAAY,EAAOA,EAAY,GAAO,EAAKA,EAAY,GAAO,SAG3DhD,CAAA,CA8GH,CAAmBY,EAAKa,GAEnBuP,EAAI,EAAGA,EAHN,KAGiBA,EACzB7Q,EAAG+Q,EAAOF,IAAMpa,EAAOoa,GAAA,IAErBtN,EAAOvD,EAAG,GAAK2a,EACnBA,EAAK3a,EAAG,GAEI,GAARuD,EACFijD,EAAU9lD,EAAK,KAGf8lD,EAAU9lD,EAAKkB,EADftJ,EAAM,MAAQiL,KAEdijD,EAAU3jD,EAAQvK,KAAA,QAGhBwJ,EAAU,GACPA,EAAU,GAAoB,GAAf9B,EAAG8B,IACvBA,IAAA,GAGa,GAAXA,EAAA,OACF0kD,EAAU9C,GACH/oC,EAAA,QAGLuiB,EADA36B,EAAI,EAEDA,GAAKT,GAAS,SACfvJ,EAAWgK,EACC,GAATvC,EAAGuC,IAAWA,GAAKT,KACtBS,EAAA,IAEAV,EAAWU,EAAIhK,EAAA,GACfsJ,GApCI,GAoCa,CACnBq7B,EAAMr7B,GAAY,MACb,IAAIyB,EAAW,EAAGA,GAAY45B,IAAO55B,EACxCkjD,EAAUhpD,GACZqE,GAAsB,GAExBvJ,EAAM,MAAQ0H,EAAGuC,GACjBikD,EAAU90D,GAAMmQ,GAAY,GAAKD,EAAStJ,KAC1CkuD,EAAU3jD,EAAQvK,IAClBiK,GAAA,QA5CQ,IA8CNT,GACF0kD,EAAU9C,GAEL/oC,CAAA,UA8HAolD,EAAWt/D,GAClBA,EAAUrE,KAAKC,IAAID,KAAKqD,IAAIgB,EAAS,GAAI,KAErCnI,GAAkBmI,IAAA,SA1qBCA,GAAA,QACnBa,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,IAGOqZ,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBja,EAAIgjD,GAAQpiD,EAAIqZ,GAAKla,EAAK,IAAM,KACpCC,EAAItE,KAAKC,IAAID,KAAKqD,IAAIiB,EAAG,GAAI,KAC7BlD,EAAOuT,EAAO4J,IAAMja,CAAA,SAElBhP,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,IAEO4G,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBuK,EAAI6gD,GAAQhyD,EAAK4G,GAAKmI,EAAK,IAAM,KACrCoC,EAAIzG,KAAKC,IAAID,KAAKqD,IAAIoD,EAAG,GAAI,KAC7BpM,EAAQsa,EAAOzY,IAAMuK,CAAA,SAEnBjB,EAAO,CACT,EACA,YACA,YACA,YACA,EACA,WACA,SACA,YAEE/B,EAAI,EACCG,EAAM,EAAGA,EAAM,EAAGA,IAAA,IACpB,IAAI8B,EAAM,EAAGA,EAAM,EAAGA,IACzB+O,EAAQhR,GAAK,GAAOrC,EAAOuT,EAAOlR,IAAM+B,EAAK5B,GAAO4B,EAAKE,GAAO,GAChEyB,EAAS1D,GAAK,GAAOpJ,EAAQsa,EAAOlR,IAAM+B,EAAK5B,GAAO4B,EAAKE,GAAO,GAClEjC,GAAA,CA2gBkB,CAGpBY,EAAU,GAAKrE,KAAKonC,MAAM,IAAO/iC,GAAWrE,KAAKonC,MAAM,IAAgB,EAAV/iC,IAG/DnI,EAAiBmI,EAAA,MA5HdzP,OAAS,SACZyP,EACAnI,GAEIA,GAASynE,EAAWznE,GAGxBwJ,EAAU,IAAI/B,MACdm9B,EAAU,EACV36B,EAAU,EAGVi4D,EAAU,OAhLVA,EAAU,OACVA,EAAU,IACVrT,EAAU,IACVA,EAAU,IACVA,EAAU,IACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACVqT,EAAU,GACVA,EAAU,GACVrT,EAAU,GACVA,EAAU,cAsBVqT,EAAU,OACVA,EAAU,KACVrT,EAAU,OACL,IAAI1mD,EAAI,EAAGA,EAAI,GAAIA,IACtB0mD,EAAU3pD,EAAOiD,IAEnB0mD,EAAU,OACL,IAAI7lD,EAAI,EAAGA,EAAI,GAAIA,IACtB6lD,EAAU1wD,EAAQ6K,GAAA,CA9BV,GAqKV,SAlKiBb,EAAOa,GACxBk5D,EAAU,OACVA,EAAU,IACVrT,EAAU,GACVqT,EAAUl5D,GACVk5D,EAAU/5D,GACV0mD,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GAmJV,CACU1mD,EAAMyC,MAAOzC,EAAM0C,QAAA,WAnI7Bq3D,EAAU,OACVA,EAAU,KAEVrT,EAAU,OACL,IAAI1mD,EAAI,EAAGA,EAAI,GAAIA,IACtB0mD,EAAU9jD,EAAyB5C,EAAI,QAEpC,IAAIa,EAAI,EAAGA,GAAK,GAAIA,IACvB6lD,EAAUR,EAAwBrlD,IAGpC6lD,EAAU,QACL,IAAIxsC,EAAI,EAAGA,EAAI,GAAIA,IACtBwsC,EAAUplD,EAAyB4Y,EAAI,QAEpC,IAAIja,EAAI,EAAGA,GAAK,IAAKA,IACxBymD,EAAUpmD,EAAwBL,IAGpCymD,EAAU,OACL,IAAIz1D,EAAI,EAAGA,EAAI,GAAIA,IACtBy1D,EAAUlxD,EAA2BvE,EAAI,QAEtC,IAAI4G,EAAI,EAAGA,GAAK,GAAIA,IACvB6uD,EAAUT,EAA0BpuD,IAGtC6uD,EAAU,QACL,IAAIzD,EAAI,EAAGA,EAAI,GAAIA,IACtByD,EAAUl2C,EAA2ByyC,EAAI,QAEtC,IAAIlmD,EAAI,EAAGA,GAAK,IAAKA,IACxB2pD,EAAUP,EAA0BppD,GAAA,CAmGT,GA9F7Bg9D,EAAU,OACVA,EAAU,IACVrT,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,IACVA,EAAU,OAwFNzD,EAAM,EACN7gD,EAAM,EACNjB,EAAM,EAEVs7B,EAAU,EACV36B,EAAU,OAELvR,OAAO+1E,YAAc,mBAQtBlnE,EAEAG,EAAG44D,EAAG7nD,EACNnf,EAAO2mE,EAAGlR,EAAK1xB,EAAKzkB,EATpBJ,EAAYrQ,EAAMmH,KAClBkzD,EAAQr6D,EAAMyC,MACdm3D,EAAS55D,EAAM0C,OAEfuyB,EAAoB,EAARolC,EAGdyB,EAAI,EAGCA,EAAIlC,GAAQ,KACjBx6D,EAAI,EACGA,EAAI61B,GAAW,KACpB9jC,EAAQ8jC,EAAY6mC,EAAI18D,EACxBwnD,GAAO,EACP1xB,EAAM,EAEDzkB,EAAM,EAAGA,EAAM,GAAIA,IAGtBqnD,EAAI3mE,GAFJ+jC,EAAMzkB,GAAO,GAEKwkB,GADlB2xB,EAAkB,GAAL,EAANn2C,IAGHqrD,EAAI5mC,GAAO0kC,IAEb9B,GAAK7iC,GAAa6mC,EAAI,EAAI5mC,EAAM0kC,IAG9Bx6D,EAAIwnD,GAAO3xB,IAEb6iC,GAAK14D,EAAIwnD,EAAM3xB,EAAY,GAG7B11B,EAAI8Q,EAAUynD,KACdK,EAAI9nD,EAAUynD,KACdxnD,EAAID,EAAUynD,KASdhgE,EAAI2Y,IACAukB,EAAcz1B,GACdy1B,EAAemjC,EAAI,IAAQ,GAC3BnjC,EAAe1kB,EAAI,IAAQ,IAC3B,IACF,IACFlP,EAAIqP,IACAukB,EAAez1B,EAAI,IAAQ,GAC3By1B,EAAemjC,EAAI,KAAS,GAC5BnjC,EAAe1kB,EAAI,KAAS,IAC5B,IACF,IACFzN,EAAI4N,IACAukB,EAAez1B,EAAI,KAAS,GAC5By1B,EAAemjC,EAAI,KAAS,GAC5BnjC,EAAe1kB,EAAI,KAAS,IAC5B,IACF,IAGJ2yC,EAAM1yC,EAAUzY,EAAKsY,EAAS6yC,EAAKpiD,EAAQZ,GAC3CmC,EAAMmO,EAAUnP,EAAK0B,EAAUV,EAAK8X,EAASjpB,GAC7CkQ,EAAMoP,EAAU1N,EAAKC,EAAU3B,EAAK+Y,EAASjpB,GAC7CmO,GAAK,GAEP08D,GAAK,KAMHh6D,GAAW,EAAG,KACZo6D,EAAW,GACfA,EAAS,GAAKp6D,EAAU,EACxBo6D,EAAS,IAAM,GAAMp6D,EAAU,GAAM,EACrCikD,EAAUmW,EAAA,QAGZnC,EAAU,OAEH,IAAIjkE,WAAWuL,EAAA,EAiBtBrB,EAAUA,GAAW,sBAxIjBA,EAAOrJ,OAAOC,aACTiK,EAAI,EAAGA,EAAI,IAAKA,IAEvBs3D,EAAIt3D,GAAKb,EAAKa,EAAA,CAqIK,GA/frBA,EAAS1P,EACPyR,EACAsjD,GAEFhsC,EAAU/oB,EACRqE,EACAywD,GAEFhmD,EAAS9O,EACPmQ,EACAhB,GAEFrP,EAAUE,EACRqf,EACA21C,GAAA,mBAKEnmD,EAAU,EACVa,EAAU,EACLqZ,EAAM,EAAGA,GAAO,GAAIA,IAAO,KAE7B,IAAIja,EAAKD,EAASC,EAAKY,EAASZ,IACnCkB,EAAS,MAAQlB,GAAMia,EACvB9X,EAAQ,MAAQnC,GAAM,GACtBmC,EAAQ,MAAQnC,GAAI,GAAKia,EACzB9X,EAAQ,MAAQnC,GAAI,GAAKA,EAAA,IAGtB,IAAIhP,IAAU4P,EAAU,GAAI5P,IAAU+O,EAAS/O,IAClDkQ,EAAS,MAAQlQ,GAASipB,EAC1B9X,EAAQ,MAAQnR,GAAS,GACzBmR,EAAQ,MAAQnR,GAAO,GAAKipB,EAC5B9X,EAAQ,MAAQnR,GAAO,GAAK4P,EAAU,EAAI5P,EAE5C+O,IAAY,EACZa,IAAY,GAvBZ,GAqfF,eAzdK,IAAIb,EAAI,EAAGA,EAAI,IAAKA,IACvBg1B,EAAch1B,GAAK,MAAQA,EAC3Bg1B,EAAeh1B,EAAI,IAAQ,GAAK,MAAQA,EACxCg1B,EAAeh1B,EAAI,IAAQ,GAAK,KAAOA,EAAI,MAC3Cg1B,EAAeh1B,EAAI,IAAQ,IAAM,MAAQA,EACzCg1B,EAAeh1B,EAAI,KAAS,IAAM,MAAQA,EAC1Cg1B,EAAeh1B,EAAI,KAAS,GAAK,MAAQA,EAAI,QAC7Cg1B,EAAeh1B,EAAI,KAAS,IAAM,MAAQA,EAC1Cg1B,EAAeh1B,EAAI,KAAS,IAAM,KAAOA,CAAA,CAid3C,GAGAs/D,EAAWt/D,EAAA,CC9sCf,SAAS29E,GAAW39E,EAAQa,GAAA,QACrBrJ,IAAM,OACNjB,OAASyJ,EAAA,KACTkmN,MAAQ,IAAI5qC,SAASt7K,EAAOzJ,QAAA,KAC5B4vN,gBAAkBtlN,EAAA,KAClBulN,WAAA,EAAY,KACZC,KACH1vN,OAAOC,aAAajJ,KAAK4I,OAAO,IAAMI,OAAOC,aAAajJ,KAAK4I,OAAO,SACnEiB,KAAO,GACqD,IAA7D,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,MAAMR,QAAQrJ,KAAK04N,MACpD,MAAM,IAAIzoN,MAAM,yBACb0oN,cAAA,KACAC,UAAA,CCrBP,SAASlqI,GAAYr8E,GAAA,SAsCVa,EAAEb,GAAA,IACJA,EAAG,MAAMpC,MAAM,sBAEbsc,EAAGla,EAAGa,EAAGqZ,GAAA,IACX,IAAIja,EAAI,EAAG,EAAIA,EAAGA,IAAA,GAASD,EAAEa,EAAIZ,IAAMia,EAAExkB,WAAWuK,GAAI,OAAO,UAC7D,UAEAA,EAAED,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IAChB,IAAI4G,EAAI,EAAGA,EAAI5G,EAAG4G,IAAKmI,EAAEa,EAAIhJ,GAAKqiB,EAAEja,EAAIpI,EAAA,UAEtC5G,EAAE+O,EAAGa,EAAGqZ,EAAGja,GAAA,IACb,IAAIhP,EAAI,EAAGA,EAAIgP,EAAGhP,IAAK+O,EAAEa,EAAI5P,GAAKipB,CAAA,UAEhCriB,EAAEmI,GAAA,OACF,IAAIlJ,WAAWkJ,EAAA,UAEfijD,EAAGjjD,EAAGa,GAAA,IACR,IAAIqZ,EAAI,GAAIja,EAAI,EAAGA,EAAID,EAAGC,IAAKia,EAAE1oB,KAAK,IAAIqP,GAAA,OACxCqZ,CAAA,UAcAnd,EAAGiD,EAAGa,GAAA,IAQTqZ,EAAI,mBAPCla,EAAEka,EAAGja,EAAGhP,GAAA,IACV,IAAI4G,EAAI5G,EAAEgP,GAAIgjD,EAAK,EAAGA,EAAKprD,IAC9BqiB,EAAE1oB,KAAKP,EAAExD,OAASwS,EAAI,EAAI,GAAK,IAAIY,KAC/B5P,EAAExD,OAASwS,EAAI,IAFcgjD,IAGjCjjD,EAAEka,EAAE+oC,GAAKhjD,EAAI,EAAGhP,EAAA,CAGZ,CACNipB,EAAG,EAAGla,GACDka,CAAA,KAELlkB,EAAe,eACbgK,EAAOrS,KAAA,SAIFqI,EAAEgK,EAAGa,GAAA,IACP,IAAIqZ,EAAK,GAAMrZ,EAAI,IAAQ,EAAGb,EAAIka,GAAKA,KAAO,SAC5CA,GAAKla,EAAKka,EAAI,GAAMA,EAAIla,CAAA,UAExBoQ,EAAEpQ,EAAGka,EAAGja,EAAGhP,EAAG4G,GACrBgJ,IAAI5P,EAAIgP,IAAA,GACMD,EAAEka,GAAZjpB,GAAKgP,IAAgBpI,QAClB,EAAI5G,EAAA,UA+EJ6R,EAAE9C,EAAGka,EAAGja,EAAGhP,EAAGgyD,GAAA,GACrBpiD,EAAE,MAAQoiD,GACN,KAAOA,EAAG,IAAIlmD,EAAIlF,EAAE,UACnB,GAAiB,OAAXkF,EAAIlF,EAAEorD,IAAiB,OAAO,kBAhFhCjjD,EAAGka,EAAGja,EAAGhP,EAAGgyD,EAAGlmD,GAAA,IAGtB+F,EACA3B,EAHE/B,EAAI8a,EACN3a,EAAI,GAAKU,EAGToB,EAAIxJ,EAAE,IACN4kC,EAAI5kC,EAAE,QACRgJ,EAAE,GAAKoiD,GACPpiD,EAAE,MAAQ5P,GACV4P,EAAE,MAAQb,GACVa,EAAE,EAAIZ,GACDkB,EAAI,EAAGA,EAAI8hD,IAAK9hD,EAAG,IAClB,GAAKlQ,EAAEkQ,GAAI,OAAO,IACpBE,EAAEpQ,EAAEkQ,GAAA,IAEJE,EAAE,IAAM4hD,EAAG,OAAO,MACtBxmB,EAAE,GAAK,EACF35B,EAAI,EAAG,GAAKA,IAAKA,EAAG,IACnBzB,EAAEyB,GAAK,GAAKA,EAAG,OAAO,EAC1B25B,EAAE35B,EAAI,GAAK25B,EAAE35B,GAAKzB,EAAEyB,EAAA,KAEjB3B,EAAI,EAAGA,EAAI8hD,IAAK9hD,EAAI2B,EAAI7R,EAAEkQ,GAAK,EAAIlQ,EAAEkQ,KAAOpE,EAAE0/B,EAAE35B,MAAQ3B,GAAA,GACzD,GAAKs7B,EAAE,IACT,OAAQxrC,EAAI,IAAImR,GAASf,EAAI,EAAKpQ,EAAEgB,MAAQ8K,EAAE,GAAKqT,EAAEpQ,EAAGZ,EAAG,EAAGG,EAAGtO,GAAIsO,EAAA,IAMrEuC,EALEhK,GAAK,EACPsJ,EAAI7B,EAAI,EACRsD,EAAI,EACJs1D,EAAI,EACJnjC,EAAI,EAEJ1kB,EAAI,GAAKrQ,EAAA,IACXkB,EAAI,EACJ2B,EAAI,EACCmgD,EAAI,EAAGngD,GAAK7C,IAAK6C,EAAGmgD,IAAM,EAAG,IAEhCkV,GADAnjC,IAAM,EAGF,GADJA,GAAK3zB,EAAEyB,IACI,OAAO,OACX,EAAIzB,EAAEyB,KAAMzB,EAAEyB,IAClB7R,EAAI,IAAImR,GACJf,EAAIyB,EACN7R,EAAEgB,MAAQ8K,EAAEoE,KACbiP,EAAEpQ,EAAGZ,EAAIyD,EAAGogD,EAAG3yC,EAAGrf,GACjB4R,EAAI7M,EAAE6M,EAAGC,EAAA,KAEhBA,EAAI7C,EAAI,EACHgjD,EAAI,EAAG,IAAMngD,IAAKA,EAAGmgD,IAAM,EAAG,IAEjCkV,GADAnjC,IAAM,EAGF,GADJA,GAAK3zB,EAAEyB,IACI,OAAO,OACX,EAAIzB,EAAEyB,KAAMzB,EAAEyB,GAAI,IACvB7R,EAAI,IAAImR,GACHS,EAAIzB,IAAMtJ,EAAG,KAChBsH,GAAKkR,EAEAxO,EAAI,IADThK,EAAIgL,GACe7C,EAAI,GAAKnI,KAEtB,IADJgK,GAAKT,EAAEvJ,QAELA,EACFgK,IAAM,EAIRvC,GADA+Q,EAAI,IADJxO,EAAIhK,EAAImI,GAIRD,EAAEka,GADFpiB,EAAI+K,EAAIzB,IACCC,EAAIS,EAAI7B,EACjBD,EAAEka,EAAIpiB,GAAG7F,MAAQmN,EAAI8a,EAAIpiB,CAAA,CAE3B7G,EAAEoQ,EAAIyB,EAAI7C,EACVhP,EAAEgB,MAAQ8K,EAAEoE,KACZiP,EAAEpQ,EAAGZ,GAAKyD,GAAK5C,GAAIgjD,EAAG3yC,EAAGrf,GACzB4R,EAAI7M,EAAE6M,EAAGC,EAAA,SAGNq1D,GAAK,EAAI17B,EAAE,IAAM,EAAI,EAAIl9B,CAAA,CAKS,CAChCS,EAAGka,EAAGja,EAAGhP,EAAGgyD,EAAGlmD,EAAA,UAEjBqF,IAAA,KACFnQ,MAAQtE,KAAK0T,EAAI,WAEfF,IAAA,KACFlP,MAAQtE,KAAK0T,EAAI,WAEfjC,IAAA,KACF08D,EAAI7Y,EAAG,EAAG7gD,GAAA,KACVi4D,EAAIxiE,EAAE,QACN84E,GAAKhjF,KAAKghF,GAAKhhF,KAAKu+E,GAAKv+E,KAAK2nF,GAAK,OACnCI,GAAKzyB,EAAGqsJ,GAAInuM,EAAA,UAEV5B,EAAGS,EAAGka,EAAGja,EAAGhP,GACnB4P,EAAE,MAAQb,GACVa,EAAE,MAAQqZ,GACVrZ,EAAE,WAAa5P,GACf+O,EAAEslE,GAAK,IACPtlE,EAAEimD,EAAI,EACNjmD,EAAElI,GAAK,EACPkI,EAAE8lE,GAAK,EACP9lE,EAAE0kE,GAAKxqD,EACPla,EAAEukE,GAAKtkE,EACPD,EAAEk5E,GAAKh/D,EACPla,EAAEm0E,GAAKl0E,EAAIhP,EACX+O,EAAEq0E,GAAK,GAAKpjF,EAAIgP,EAAIhP,EAAI,EAAI,EAAIgP,EAChCqB,EAAGtB,EAAA,UAEIqB,EAAGrB,EAAGa,GAAA,IACR,IAAIqZ,EAAI,EAAG,EAAIrZ,KAAOqZ,GAAK1kB,EAAEwK,EAAG,MAAQa,EAAA,OACtCqZ,CAAA,UAEAuiB,EAAGz8B,EAAGa,GAAA,IACTqZ,EAAI7Y,EAAGrB,EAAGa,GAAA,OACPP,EAAEN,IAAMka,EAAIA,CAAA,UAEZpY,EAAG9B,EAAGka,EAAGja,EAAGhP,GAAA,IACf4G,EACForD,EAAI,MACNpiD,EAAE,MAAQb,GACVa,EAAE,MAAQqZ,GACVrZ,EAAE,WAAa5P,GACf+O,EAAE6uE,GAAK59E,EACP+O,EAAE6mE,GAAK,EACP7mE,EAAEoQ,EAAI,EACNpQ,EAAE8C,EAAI,IACF7R,IAAMA,EAAI,GACT4G,EAAI,EAAGA,EAAI5G,IAAK4G,EAAGorD,GAAK/oC,EAAEja,EAAIpI,IAAO,EAAIA,EAC9CmI,EAAE6mE,GAAK5jB,EACPjjD,EAAEmoE,GAAKl3E,EACP+O,EAAE0kE,GAAKxqD,EACPla,EAAEukE,GAAKtkE,CAAA,UAEAnI,EAAGkI,GAAA,KACH,GAAKA,EAAEoQ,GAAKpQ,EAAEmoE,GAAKnoE,EAAE6uE,IACzB7uE,EAAE6mE,MAAQ,EACR7mE,EAAE6mE,IAAO7mE,EAAE0kE,GAAG1kE,EAAEukE,GAAKvkE,EAAEmoE,KAAQq+I,GAAK,IAAQ,IAC3CxmN,EAAEmoE,GACHnoE,EAAEoQ,GAAK,EACZE,EAAGtQ,KAAQA,EAAE8C,EAAI,EAAK9C,EAAEoQ,EAAI,YAErBhP,EAAEpB,EAAGka,GAAA,GACZrZ,EAAE,GAAKqZ,IACFla,EAAE8C,GAAKoX,GAAKq1L,GAAI,KACftvM,EAAI+0B,EAAGh1B,GAAKg9L,GAAG9iL,GAAA,OACnBla,EAAEoQ,GAAK8J,EACPpiB,EAAGkI,GACIC,CAAA,QAETD,EAAE8C,EAAI,EACE9C,EAAEoQ,EAAI,WAEPvN,IAAA,KACF/K,EAAInK,KAAK23E,GAAK33E,KAAKs4D,EAAI,OACvBye,GAAK,QACLH,GAAK,OACL2U,GAAK,QACL/E,GAAK,OACLE,GAAK,QACLvO,GAAK,WAEH3N,IAAA,KACF0O,GAAK,OACLnC,GAAK,QACL5hE,EAAInV,KAAKyiB,EAAIziB,KAAKw6E,GAAKx6E,KAAKkhF,GAAKlhF,KAAK42E,GAAK,WAEzCvvC,EAAGh1B,GAAA,OACFA,EAAE6mE,MAAQ7mE,EAAEoQ,EAAKo2M,GAAK,KAAS,WAEhCl2M,EAAGtQ,GAAA,OACVa,EAAEb,EAAEmoE,IAAMnoE,EAAE6uE,IACL7uE,EAAE8C,GAAM9C,EAAEmoE,IAAMnoE,EAAE6uE,IAAM7uE,EAAEoQ,EAAIo2M,EAAA,UAE9B5jN,EAAG5C,EAAGa,GACbb,EAAEoQ,EAAIvP,EACNb,EAAE8C,EAAIwN,EAAGtQ,EAAA,UAEFkmD,EAAGlmD,GACVA,EAAEoQ,GAAKq2M,KAAO5lN,EAAEb,EAAEoQ,GAAKq2M,IAAK3uN,EAAGkI,GAAA,UAExBsB,EAAGtB,GACVa,EAAE,MAAQb,GAAK,MAAQA,EAAE0kE,IACzB1kE,EAAEukE,GAAKvkE,EAAEq0E,IACHr0E,EAAEimD,GAAKjmD,EAAE0kE,GAAG1kE,EAAEukE,MAASvkE,EAAEimD,GAAK,KAAQ,EAAKjmD,EAAElI,GAAK,IACnD+I,EAAE,MAAQb,GAAK,MAAQA,EAAE0kE,IAC1B1kE,EAAEukE,GAAKvkE,EAAEm0E,IACHn0E,EAAElI,GAAK,EAAKkI,EAAEimD,EAAIjmD,EAAE0kE,GAAG1kE,EAAEukE,MAASvkE,EAAEimD,GAAK,GAC3CjmD,EAAE8lE,GACD9lE,EAAElI,EAAI,GACLkI,EAAEimD,IAAM,EAAKjmD,EAAElI,GAAK,EAAKkI,EAAE8lE,GAAK,aAEnCxlE,EAAEN,GAAA,OACFqB,EAAGrB,EAAG,YAENxK,EAAEwK,EAAGa,GAAA,IACRqZ,EAAIla,EAAEslE,GAAA,EACNtlE,EAAElI,GAAKwJ,EAAGtB,GAAA,IACVC,EAAID,EAAElI,EACR7G,EAAKipB,EAAIrZ,IAAO,EAChBhJ,GAAKmI,EAAEimD,IAAMhmD,EAAIhP,GAAK,MACxB4G,GAAMqiB,GAAKjpB,EAAK+O,EAAEimD,GAAOh1D,EAAI,GAAMgP,IAAO,GAAOia,EAAIjpB,EAAI,EACzDgP,EAAIia,EACCjpB,EAAI,EAAG,KAAOgP,GAAMhP,GAAK,EAAKgP,IAAM,SACzCA,EAAI,EAAKhP,EAAIy1N,GAAGzmN,GAChBD,EAAElI,GAAKmI,EACPD,EAAEslE,IAAMprD,GAAKja,GAAK,EACXpI,CAAA,UAEAouD,EAAGjmD,EAAGa,EAAGqZ,GAChBla,EAAEa,EAAI,GAAMqZ,GAAK,GAAM,IACvBla,EAAEa,EAAI,GAAMqZ,GAAK,GAAM,IACvBla,EAAEa,EAAI,GAAMqZ,GAAK,EAAK,IACtBla,EAAEa,EAAI,GAAgB,IAAVqZ,CAAU,UAEf1J,EAAGxQ,EAAGa,GAAA,OACLb,EAAEa,EAAI,GAAYb,EAAEa,EAAI,IAAM,WAE/BslD,EAAGnmD,EAAGa,GAAA,OACN2P,EAAGxQ,EAAGa,GAAMb,EAAEa,EAAI,IAAM,YAExB1P,EAAG6O,EAAGa,GAAA,OACN2P,EAAGxQ,EAAGa,GAAM2P,EAAGxQ,EAAGa,EAAI,IAAM,YAE5BklD,EAAG/lD,EAAGka,GAAA,IACTja,EAAI,GAAKia,EAAA,OACbrZ,EAAE,MAAQb,GACVa,EAAE,EAAIqZ,GACNla,EAAEq/D,EAAIxnE,EAAEoI,GACJ,MAAQD,EAAEq/D,EAAU,GACxBr/D,EAAEquE,GAAK,GAAKn0D,EACZla,EAAE0nE,GAAKxtD,EACA,YAEAwsC,EAAG1mD,EAAGka,GACbrZ,EAAE,MAAQb,GACVa,EAAE,MAAQqZ,GACVrZ,EAAEb,EAAE0nE,IAAMxtD,EAAEwtD,IACZznE,EAAEia,EAAEmlD,EAAG,EAAGr/D,EAAEq/D,EAAG,EAAG,GAAKnlD,EAAEwtD,GAAA,UAElB3N,IAAA,KACFsF,EAAI,QACJqI,GAAK/5E,KAAK0gF,GAAK,WAEb99D,EAAGvQ,EAAGka,EAAGja,EAAGhP,GACnB4P,EAAE,MAAQZ,GACVY,EAAE,MAAQ5P,GAAA,IACN4G,EAAIoI,EAAE,GACRgjD,EAAIhyD,EAAE,aACH4G,IAAMA,GAAKmI,EAAIijD,EAAI/oC,EAAI,GAAKA,GAAA,GAC5B+oC,IAAMA,GAAK/oC,EAAIriB,EAAImI,EAAI,GAAKA,GAC7B,GAAKnI,GAAK,GAAKorD,EAAU,GAC7BhjD,EAAE,GAAKpI,EACP5G,EAAE,GAAKgyD,EACA,YAEAqc,EAAGt/D,EAAGa,GAAA,OACLb,GAAK,GAAKa,GAAK,IAAOA,CAAA,UAEvBi3D,EAAG93D,EAAGa,GAAA,QAEF,WAAJb,IAAuB,WAAJa,KAAqB,EAAK,cACxC,SAAJb,IAAqB,SAAJa,KAAmB,EAAK,YAC/C,WAGK+lD,EAAE/lD,EAAGqZ,GACZla,EAAKka,GAAK,SAASA,EAAGja,EAAGhP,EAAG4G,EAAGorD,EAAGlmD,EAAG/G,GAAA,IAC/Boa,EAAA,IACCA,EAAI,EAAGA,EAAI6yC,IAAK7yC,EAAG,KAClBtN,EAAI9C,EAAKa,GAAG9D,EAAE/G,EAAIoa,EAAI,GAAInf,EAAG4G,EAAIuY,GACrCrT,EAAE/G,EAAIoa,GAAK0nD,EAAG59C,EAAEja,EAAImQ,GAAItN,EAAA,YAIrBoyB,IAAA,KACF+hD,GAAKtpF,KAAKonF,GAAKpnF,KAAKunF,GAAK,WAEvBzkE,EAAGzQ,EAAGa,GAAA,QACO,YAATb,EAAIa,MAAqB,IAAMb,EAAIa,KAAQ,WAE/CwP,EAAGrQ,GAAA,OACN,GAAKA,GAAK,IAAMA,EAAUA,EAC1B,EAAIA,EAAU,EACd,IAAMA,EAAU,oBAEbq6D,EAAGr6D,EAAGa,GAAA,OACNwP,EAAGrQ,GAAMA,EAAIa,EAAI,IAAQ,aAEzB+4D,EAAG55D,EAAGa,EAAGqZ,GAAA,OACTve,KAAK+qB,IAAI7lB,EAAIqZ,GAAKve,KAAK+qB,IAAI1mB,EAAIka,EAAA,UAE/B+a,EAAGj1B,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,GAAA,IAC5BhjD,EAAIpI,EAAEorD,EAAI,GACL/oC,EAAI,EAAGA,EAAIjpB,IAAKipB,EAAGriB,EAAEorD,EAAI/oC,GAAKja,EAAI63D,EAAG93D,EAAEa,EAAIqZ,GAAIja,EAAA,UAE7C67D,EAAG97D,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IAClB4G,EAAA,IACCA,EAAI,EAAGA,EAAIqiB,IAAKriB,EAAG,KAClBorD,EAAIjjD,EAAEa,EAAIhJ,GACZkF,EAAKkmD,GAAK,EAAK,IAGfjtD,EAAQ,UADRA,GADAA,EAAQ,SAAJitD,KACMlmD,GAAK,IAAMA,IAEvBkD,EAAEhP,EAAI4G,IAAW,WAAJorD,GAAkBjtD,IAAO,YAGjCkmE,EAAGl8D,EAAGa,GACbA,EAAEq0E,GAAgB,IAAVl1E,EACRa,EAAEk0E,GAAM/0E,GAAK,EAAK,IAClBa,EAAEo2E,GAAMj3E,GAAK,GAAM,aAEZu/D,EAAGv/D,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,GAAA,IACrBorD,EAAA,IACCA,EAAI,EAAGA,EAAIhjD,IAAKgjD,EAAG,KAClBlmD,EAAI8D,EAAEqZ,EAAI+oC,GACZjtD,EAAI+G,IAAM,EAEVqT,EAAIrT,EAEJ+F,EAAQ,KADRA,GAFAA,EAAI/F,IAAM,MAEEiD,EAAEk1E,IAAM,IAAO,KAAQl/E,GAAK,IAAO,MAAS,IAIxDoa,EAAQ,KADRA,GADAA,IAAYpQ,EAAE+0E,IAAM,IAAO,KAAQ/+E,GAAK,IAAO,MAAS,KAC5CgK,EAAEi3E,IAAM,IAAO,KAAQn0E,GAAK,IAAO,MAAS,IAE1D7R,EAAE4G,EAAIorD,IAAU,WAAJlmD,IAAmB+F,GAAK,IAAMsN,CAAA,WAGrCivD,EAAGx+D,EAAGqZ,EAAGja,EAAGhP,EAAG4G,GACtBmI,EAAKka,GAAK,SAASla,EAAGa,EAAGqZ,EAAGja,EAAGgjD,EAAGlmD,EAAG/G,EAAGoa,EAAGtN,GAAA,IACpC7C,EAAIjK,EAAGiK,EAAImQ,IAAKnQ,EAAA,IACdjK,EAAI,EAAGA,EAAI8M,IAAK9M,EAAGitD,EAAElmD,KAAOlF,EAAEqiB,EAAEjpB,EAAE+O,EAAEa,OAAA,EAE7Cb,EAAKa,GAAK,SAASA,EAAGqZ,EAAG+oC,EAAGlmD,EAAG/G,EAAGoa,EAAGtN,GAAA,IAC/BV,EAAI,GAAKvB,EAAE/I,EACbqJ,EAAIN,EAAE2kE,GACNpmE,EAAIyB,EAAEo7D,EAAE,GACR18D,EAAIsB,EAAEgC,EAAA,GACJ,EAAIT,EACN,IAAKvB,GAAK,GAAKA,EAAE/I,GAAK,EAAGyH,GAAK,GAAK6C,GAAK,EAAG8X,EAAI+oC,IAAK/oC,EAAG,KAEnD7Y,EADEo7B,EAAI,MAEHp7B,EAAI,EAAGA,EAAIF,IAAKE,EACnBA,EAAIR,IAAM47B,EAAIxrC,EAAE8L,EAAE/G,OAASoa,EAAEtN,KAAOjL,EAAEuH,EAAEq9B,EAAIl9B,IAAOk9B,IAAMr6B,CAAA,MAE1DpC,EAAK,eAAiBC,GAAGlD,EAAG/G,EAAGoJ,EAAGG,EAAG6Q,EAAGtN,EAAGoX,EAAG+oC,EAAG9hD,EAAA,WAGjD86D,EAAGj8D,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IACjBipB,EAAIrZ,EAAIqZ,EAAGrZ,EAAIqZ,GAAK,KACnBriB,EAAImI,EAAEa,KACVZ,EAAEhP,KAAQ4G,GAAK,GAAM,IACrBoI,EAAEhP,KAAQ4G,GAAK,EAAK,IACpBoI,EAAEhP,KAAkB,IAAV4G,CAAU,WAGf6Y,EAAG1Q,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IACjBipB,EAAIrZ,EAAIqZ,EAAGrZ,EAAIqZ,GAAK,KACnBriB,EAAImI,EAAEa,KACVZ,EAAEhP,KAAQ4G,GAAK,GAAM,IACrBoI,EAAEhP,KAAQ4G,GAAK,EAAK,IACpBoI,EAAEhP,KAAkB,IAAV4G,EACVoI,EAAEhP,KAAQ4G,GAAK,GAAM,cAGhB+rL,EAAG5jL,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IACjBipB,EAAIrZ,EAAIqZ,EAAGrZ,EAAIqZ,GAAK,KAErBriB,GADEorD,EAAIjjD,EAAEa,OACG,GAAM,IAASoiD,GAAK,GAAM,GACrCA,EAAgB,IAAVA,EAAmBA,GAAK,GAAM,GACtChjD,EAAEhP,KAAO4G,EACToI,EAAEhP,KAAOgyD,CAAA,WAGJ2rC,EAAG5uF,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IACjBipB,EAAIrZ,EAAIqZ,EAAGrZ,EAAIqZ,GAAK,KAErBriB,GADEorD,EAAIjjD,EAAEa,OACG,GAAM,IAASoiD,GAAK,GAAM,EACrCA,EAAMA,GAAK,EAAK,IAASA,GAAK,EAAK,GACrChjD,EAAEhP,KAAO4G,EACToI,EAAEhP,KAAOgyD,CAAA,WAGJqoE,GAAGtrH,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IACjBipB,EAAIrZ,EAAIqZ,EAAGrZ,EAAIqZ,GAAK,KACnBriB,EAAImI,EAAEa,KACVZ,EAAEhP,KAAkB,IAAV4G,EACVoI,EAAEhP,KAAQ4G,GAAK,EAAK,IACpBoI,EAAEhP,KAAQ4G,GAAK,GAAM,cAGhBm1L,GAAGhtL,EAAGa,EAAGqZ,EAAGjpB,EAAG4G,EAAGorD,GAAA,GACrB,GAAKA,EACP,IAAK/oC,EAAIrZ,EAAIqZ,EAAGrZ,EAAIqZ,GAEhB+rC,EACEh1D,IAFHgyD,EAAIjjD,EAAEa,MAGC,IAAM,GACNoiD,EAAE,IAAM,EAAK,MACbA,EAAE,IAAM,EAAK,SACdA,EAAE,IAAM,MACT,GAEHprD,GAAK,QACPoI,EAAEhP,EAAG4G,EAAGmI,EAAGa,EAAGqZ,EAAA,UAEZ+9I,GAAGp3J,EAAGqZ,GACbla,EAAKka,GAAG,GAAKla,EAAKa,EAAI,KACtBb,EAAKka,GAAG,GAAKla,EAAKa,EAAI,KACtBb,EAAKka,GAAG,GAAKla,EAAKa,EAAI,KACtBb,EAAKka,GAAG,GAAKla,EAAKa,EAAI,KACtBb,EAAKka,GAAG,GAAKla,EAAKa,EAAI,KACtBb,EAAKka,GAAG,GAAKla,EAAKa,EAAI,KACtBb,EAAKka,GAAG,GAAKla,EAAKa,EAAI,KACtBb,EAAKka,GAAG,GAAKla,EAAKa,EAAI,KACtBb,EAAKka,GAAG,GAAKla,EAAKa,EAAI,KACtBb,EAAKka,GAAG,GAAKla,EAAKa,EAAI,KACtBb,EAAKka,GAAG,IAAMla,EAAKa,EAAI,MACvBb,EAAKka,GAAG,IAAMla,EAAKa,EAAI,MACvBb,EAAKka,GAAG,IAAMla,EAAKa,EAAI,MACvBb,EAAKka,GAAG,IAAMla,EAAKa,EAAI,MACvBb,EAAKka,GAAG,IAAMla,EAAKa,EAAI,KACvBb,EAAKka,GAAG,IAAMla,EAAKa,EAAI,cAEhBw9L,GAAGr+L,GAAA,OACHA,GAAK2mN,IAAM3mN,GAAK4mN,IAAM5mN,GAAK6mN,IAAM7mN,GAAK8mN,EAAA,UAEtCj6B,KAAA,KACFxkH,GAAK,QACLrgD,KAAOr6B,KAAK2iB,EAAI3iB,KAAK26E,GAAK,WAExBg2H,KAAA,KACFl9L,EAAI,QACJD,EAAI,QACJkiE,GAAK,QACL7yD,EAAI,QACJ+iE,GAAK5lF,KAAKo5N,GAAKp5N,KAAKq5N,GAAKr5N,KAAKgrF,GAAKhrF,KAAKs7E,GAAKt7E,KAAKigF,GAAKjgF,KAAK6/E,GAAK7/E,KAAK21E,GAAK31E,KAAK4xE,EAAI5xE,KAAKisE,EAAIjsE,KAAKwqE,EAAIxqE,KAAKo4D,EAAI,WAE7G8yF,KAAA,KACFn+D,GAAK/sF,KAAK+U,OAAS/U,KAAK8U,MAAQ9U,KAAKu4D,EAAI,OACzC/kD,EAAI,CAAC,EAAD,KACJA,EAAE8lN,KAAO,IAAIp6B,GAAA,KACb1rL,EAAE6nE,GAAK,IAAIs1H,GAAA,KACX3nH,GAAK,cAEHqyG,KAAA,KACFvmL,MAAQ,CAAC,QACTC,OAAS,CAAC,QACV43E,GAAK,CAAC,QACNC,GAAK,CAAC,QACNp1D,OAAS,CAAC,YAERgwG,KAAA,KACFn8C,GAAKrrF,KAAKknF,GAAKlnF,KAAKyrF,GAAKzrF,KAAKk7E,GAAKl7E,KAAKm7E,GAAKn7E,KAAKw1E,GAAKx1E,KAAK6mF,GAAK7mF,KAAKuhD,GAAKvhD,KAAKwD,EAAIxD,KAAKmU,EAAInU,KAAK43E,GAAK53E,KAAKu5N,GAAKv5N,KAAK67E,GAAK,WAEzH8gI,GAAGtqM,GAAA,OACVioM,MAAM,gCACCjoM,EAAEk1B,CAAA,UAEFsrI,GAAGxgK,EAAGa,GAAA,IACTqZ,EAAIla,EAAEk1B,EACRjkC,EAAI4P,EAAEmiF,GAAG7hF,EAAE8lN,KACXpvN,EAAI5G,EAAEo3E,GACNplB,EAAIhyD,EAAEq3E,GAAKtoE,EAAE0jE,GAAKzyE,EAAEqf,EACpBvT,EAAImzF,GAAErvF,EAAEmiF,GAAG98B,GACXlwD,EAAIgK,EAAEoB,EACNgP,EAAIpQ,EAAE+lD,EACNjjD,EAAI9C,EAAEmB,EACNiB,EAAIpC,EAAEm4D,EACNh3D,EAAInB,EAAEqjE,GACNjkE,EAAIY,EAAE45D,EACNr6D,EAAIsB,EAAE+uE,GACNvuE,EAAIR,EAAEivE,GACNrzC,EAAI57B,EAAEgyE,GACN/wE,EAAIjB,EAAEiyE,GACNh7E,EAAIkI,EAAE0jE,GACNtiE,EAAIpB,EAAE0jE,GAAK1jE,EAAEk1B,EACbryB,EAAI7C,EAAEyQ,EACN0nD,EAAKt1D,EAAI,GAAM,SACZ/K,EACDiF,EAAE/G,EAAGoa,EAAG,KAAM,KAAMtN,EAAGV,EAAGjB,EAAG/B,EAAG0D,EAAGV,EAAGjB,EAAG/B,EAAGvH,EAAGorD,EAAG,KAAM,KAAMpgD,IAC7D9F,EAAE8D,EAAEovE,GAAIpvE,EAAEsvE,GAAIn6E,EAAGoa,EAAG7Q,EAAG8B,EAAGo7B,EAAG36B,EAAGgB,EAAGV,EAAGjB,EAAG/B,EAAGvH,EAAGorD,EAAIhyD,EAAEqf,EAAGzY,EAAGorD,EAAGpgD,KAC7DqX,GACCpiB,EAAI,EAAIsJ,EAAGtJ,GAAK,EACpByH,EAAIuD,EACFzB,EAAIe,EACJq6B,EAAIt7B,EACJW,EAAI1C,EACJgD,GAAKpC,EAAEmzE,GACP/zE,GAAKY,EAAEmzE,GACPlwB,GAAK,EAAIhyD,EAAEqf,EAEZvT,EAAE/G,GADDoa,GAAK,EAAIpQ,EAAEsjE,IACHtjE,EAAEsjE,GAAIttE,EAAGoa,EAAG7Q,EAAG8B,EAAGo7B,EAAG36B,EAAGgB,EAAGV,EAAGjB,EAAG/B,EAAGvH,EAAGorD,EAAIhyD,EAAEqf,EAAGzY,EAAGorD,EAAGpgD,GAAA,OACnEuN,GAAKpQ,EAAEsjE,GACPtjE,EAAE7O,EAAIiQ,EAAIpB,EAAEijD,GACPhjD,EAAEY,EAAEovE,GAAIpvE,EAAEsvE,GAAIn6E,EAAGoa,EAAGvN,GACrB5C,EAAEY,EAAE+uE,GAAI/uE,EAAEivE,GAAIhtE,EAAGV,EAAG+1D,GACpBl4D,EAAEY,EAAEgyE,GAAIhyE,EAAEiyE,GAAI3xE,EAAG/B,EAAG+4D,GACpBj+C,KACI,EAAJ9Y,GACArE,EACE/G,EACAoa,EACA,KACA,KACAtN,EACAV,EACAjB,EACA/B,EACA0D,EACAV,EACAjB,EACA/B,EACAvH,EACAorD,EAAIhyD,EAAEqf,EACN,KACA,KACAzN,GAECqX,CAAA,UAEAgwK,GAAGlqL,EAAGka,EAAGja,GAAA,IACZhP,EAAI+O,EAAEwQ,EACR3Y,EAAI,CAACmI,EAAEu/D,GAAA,GACL,MAAQtuE,EAAG,KACTgyD,EAAIjjD,EAAEyQ,EACR1T,EAAImd,EAAE8oE,GAAG98B,EACTlwD,EAAI+G,GAAKoqN,IAAMpqN,GAAK8pN,GACtB3sM,EAAIA,EAAE8oE,GAAG7hF,EAAE8lN,KAAA,IACP72M,EAAI,CAAC,GACPtN,EAAI9C,EAAE0jE,GACRtzD,EAAE,GAAKpQ,EAAEk1B,EACTl1B,EAAEmuE,KACC,GAAKrrE,IAAMsN,EAAE,MAAQtN,EAAIjL,EAAE,IAAMmI,EAAEyC,OACpCzC,EAAE7O,EAAI6O,EAAE0jE,GAAK1jE,EAAEk1B,GAAKl1B,EAAEijD,IAAM7yC,EAAE,GAAKpQ,EAAEijD,EAAIjjD,EAAE7O,EAAI2R,IAAA,IAC7CV,EAAI8X,EAAEmuD,GACRvlE,EAAIoX,EAAEouD,GAAKxlE,EAAIoX,EAAE5J,EACnBtQ,EAAIonN,GAAGn2N,EAAG4G,EAAE,GAAImI,EAAEyC,MAAOwgD,EAAG7yC,EAAGhO,EAAGU,GAAK9M,EAAI,EAAI,GAAIkkB,EAAE5J,GACrDzP,EAAEZ,GAAKmQ,GACPpQ,GAAKq+L,GAAGthM,IAAMsqN,GAAGjlN,EAAGU,EAAG9M,EAAGitD,EAAG7yC,EAAG8J,EAAE5J,EAAA,QAE7B,WAEAisI,GAAGv8I,GAAA,IACNa,EAAIb,EAAE4jE,GACR1pD,EAAIrZ,EAAEmiF,GAAG98B,EACTjmD,EAAI,GAAKia,EACTjpB,EAAIipB,GAAKotM,IAAMptM,GAAKotJ,IAAMptJ,GAAKitM,IAAMjtM,GAAKqtM,IAAM,IAAMrtM,GAAKmkL,GAAGnkL,GAAA,GAChErZ,EAAE2mN,OAAS,KACX3mN,EAAEotE,GAAK,KACPptE,EAAEqtE,GAAK,KACPrtE,EAAEo5E,GAAK,MACF01H,GAAG9uM,EAAEqlE,GAAIlmE,EAAG/O,EAAI,GAAK,IAAK,OAAO,KACtCA,GAAKotM,GAAGnkL,IAAMsyD,KACVxsE,EAAEmjE,GAAI8kI,MAAM,wBACX,IACChoM,GAAA,GACIY,EAAEotE,GAAKq8H,GAAKtqM,EAAEmuE,GAAK,IACvBj0D,EAAKla,EAAEyQ,EAAI,GAAM,EACjB5P,EAAE2mN,OAAS3vN,EAAEmI,EAAEyQ,EAAI,EAAIyJ,GACnB,MAAQrZ,EAAE2mN,OAAQ,OAAO,EAC7B3mN,EAAEovE,GAAKpvE,EAAE2mN,OACT3mN,EAAEsvE,GAAK,EACPtvE,EAAE+uE,GAAK/uE,EAAEovE,GACTpvE,EAAEivE,GAAKjvE,EAAEsvE,GAAKnwE,EAAEyQ,EAChB5P,EAAEgyE,GAAKhyE,EAAE+uE,GACT/uE,EAAEiyE,GAAKjyE,EAAEivE,GAAK51D,EACdrZ,EAAEotE,GAAKuyF,GACPh0F,IAAA,OAEGy7H,MAAM,gBACbh3M,IAAO4P,EAAEqtE,GAAKg8G,GAAKjqL,GAAKssM,KAAA,IAEtBtsM,IAAM2xF,GAAI,KACP5xF,EAAI,EAAG,IAAMA,IAAKA,EACpBsvF,GAAGtvF,GAAM,OAASA,EAAI,KAAO0E,IAAOyvF,GAClCV,GAAGzzF,IAAM,OAASA,EAAI,KAAO0E,GAC7B8rF,GAAGxwF,IAAM,OAASA,EAAI,KACtB4zF,GAAG5zF,GAAM,QAAUA,EAAI,KAAO0E,IAAOyvF,GAAA,IACrCn0F,EAAI6zF,GAAI7zF,EAAIuvF,KAAMvvF,EACpBa,EAAK,OAASb,EAAI,IAAM0E,IAAOyvF,GAC7BpC,GAAG/xF,EAAI6zF,IAAMkpG,GAAGl8L,EAAG,KACnBgvF,GAAG7vF,EAAI6zF,IAAMkpG,GAAIl8L,EAAI,GAAM,EAAG,IACnC+wF,GAAK,SAEA,WAEAk9B,GAAG9uH,GAAA,IACNka,EAAIla,EAAE4jE,GACR3jE,EAAID,EAAEyQ,EACNxf,EAAI+O,EAAEk1B,EAAA,OACRr0B,IAAW,EAAPb,EAAE0jE,KACF,GAAKzjE,GAAK,GAAKhP,EAAU,GAC7BgP,EAAIia,EAAE+zD,GAAGjuE,EAAGka,GAAA,MACJA,EAAEg0D,IAAMh0D,EAAEg0D,GAAGluE,EAAGka,EAAGja,GAC3Bia,EAAEk4D,IAAMnyE,EACD,YAEAwwJ,GAAGzwJ,GACVA,EAAE4jE,GAAG4jJ,OAAS,cAEP7oB,GAAG3+L,EAAGa,EAAGqZ,EAAGja,GAAA,OACf,IAAMmB,EAAEpB,EAAG,GAAW,GAC1Ba,EAAE,GAAKO,EAAEpB,EAAG,IAAM,EAClBka,EAAE,GAAK9Y,EAAEpB,EAAG,IAAM,EAClBC,EAAE,GAAKmB,EAAEpB,EAAG,GACL,GAAKoB,EAAEpB,EAAG,GAAK,GAAKA,EAAE8C,EAAA,UAEtBovH,GAAGlyH,EAAGa,GAAA,GACT,EAAIb,EAAG,OAAOA,EAAI,MAClBka,EAAKla,EAAI,GAAM,SACV,GAAS,EAAJA,IAAWka,GAAK9Y,EAAEP,EAAGqZ,GAAK,WAEjC0kL,GAAG5+L,EAAGa,GAAA,OACT,IAAMA,EAAUA,EAAI,IAGjB,IADLqZ,IADEA,EAAIutM,GAAG5mN,EAAI,KACH,GAAKb,GAAK,GAAS,GAAJka,KACXA,EAAI,MADlBA,CAAA,UAGK+0G,GAAGjvH,EAAGa,EAAGqZ,GAAA,IACZja,EAAI+0B,EAAG9a,GAEPjpB,EAAI+O,EADRa,GAAS,IAAJZ,GACQoB,EAAI,WACbpQ,IACD2R,EAAGsX,EAAGA,EAAE9J,EAAI,GACZnQ,EAAI+0B,EAAG9a,GACPrZ,GAAKb,EAAEa,GAAG5O,MACV4O,GAAKZ,GAAM,GAAKhP,GAAK,GACxB2R,EAAGsX,EAAGA,EAAE9J,EAAIpQ,EAAEa,GAAGQ,GACVrB,EAAEa,GAAG5O,KAAA,UAEL+sM,GAAGh/L,EAAGka,EAAGja,GAAA,OAChBA,EAAEoB,GAAKrB,EAAEqB,EACTpB,EAAEhO,OAAU+N,EAAE/N,OAASioB,IAAO,EAC9BrZ,EAAE,GAAKZ,EAAEoB,GACFrB,EAAEqB,CAAA,UAEF0gI,GAAG/hI,EAAGka,EAAGja,GAAA,IACZhP,EAAI+O,EAAE8xE,GAAA,OAEVjxE,GADAqZ,EAAI,GAAKjpB,EAAI,EAAI+O,EAAE6xE,GAAG7xE,EAAEq1E,IAAMp1E,GAAKhP,IAAMipB,GAAKjpB,KACxC+O,EAAEkvE,IACDlvE,EAAE4nE,GAAG1tD,EAAA,UAELilL,GAAGn/L,EAAGka,EAAGjpB,EAAG4G,GAAA,IACforD,EAAIjjD,EAAEgvC,GACRjyC,EAAIiD,EAAEhK,EAAIkkB,EACVlkB,EAAIgK,EAAEmmD,EACRjsC,EAAIlkB,EAAIkkB,EAAA,IACJ9J,EAAInf,EACN6R,EAAIjL,EAAA,IACNA,EAAImI,EAAE+mE,GACD91E,EAAI+O,EAAEwnE,GAAI,EAAIvkB,KAAO,KACpB7gD,EAAIpC,EAAEqwE,GAAGptB,GACX9hD,EAAInL,EACJoJ,EAAI8a,EACJ3a,EAAI6Q,EACJ/O,EAAIyB,EAGJ25B,GAFA35B,EAAIjL,EACJuY,EAAInf,EACAmR,EAAEojE,IAAA,OACR3kE,EAAEM,EAAI/B,GACNyB,EAAEzB,GAAKgD,EAAEstG,IACDttG,EAAEmuE,IAAA,KACH,EACHm3I,GAAGnoN,EAAG8B,GAAIjC,EAAI+B,GAAKs7B,EAAG35B,EAAGsN,GAAA,WAEtB,MAEDtO,EAAIX,EACJrJ,EAAIsH,EACJgC,EAAI0B,EACJD,EAAIuN,EACJ+nD,GALE72D,EAAIc,GAKAojE,GAAA,GACH1jE,IACF6lN,GAAGpoN,EAAG8B,EAAG,KAAM,KAAM,EAAGD,EAAGyB,GAC5BoyB,EAAG11B,EAAG8B,EAAI,EAAG,EAAG,EAAG82D,EAAI,EAAG/2D,EAAGyB,EAAI,GAChCxB,GAAK82D,EACLt1D,GAAKs1D,IACJr2D,GAAA,IAEF,IAAIkzB,EAAI,GAAK1zB,EAAExJ,EACbwY,EAAI0kB,EAAI,EACRpyB,EAAI08D,EAAGnH,EAAG72D,EAAExJ,GACZouD,EAAI5kD,EAAE26D,EACN36D,EAAIA,EAAEuB,GAAKf,GAAKR,EAAExJ,GAAK8K,EACzBd,EAAIhK,GAEJ,KACIwI,EAAI4lD,EACN1wD,EAAI8L,EACJ2kD,EAAI,MACD2hK,GAAGroN,EAAG8B,EAAGD,EAAGyB,EAAIs1D,EAAG,EAAG/2D,EAAGyB,GAAIojD,EAAIkS,GAAK,KAEvC3nD,GAAKy1C,GAAK31C,GAAK0kB,EACjBxkB,EAAI2nD,IAAM3nD,EAAI2nD,IAAA,EAFN0vJ,GAAIvnN,EAAE9K,MAAQ,EAAK,KAGzB+J,EAAG8B,IAAK4kD,EAAG7kD,EAAGyB,EAAIojD,EAAIkS,EAAG3nD,EAAIy1C,EAAG7kD,EAAGyB,EAAIojD,GACzCA,EAAIz1C,CAAA,CAENnP,GAAK82D,EACLt1D,GAAKs1D,IACHr2D,EACEwO,IAAMhP,GAAKsB,EAAA,CAEjBxD,GAAKgD,EAAEstG,IAAMzvG,EAAE6C,EAAGsN,EAAIqsB,EAAG35B,EAAGsN,GAAKhR,EAAI+B,EAAI,GAAKs7B,EAAGA,GAAA,WAE9C,MACHA,EAAIl9B,EACJzH,EAAIuJ,EAKJ82D,GAJA54D,EAAI6C,EAAEojE,KAGN3iE,EAAItD,IADJ6B,GADAC,EAAI,GAAKe,EAAEtK,GACH,IAGRgK,EAAIw9D,EAAG//D,EAAG6C,EAAEtK,GACZk9B,EAAI5yB,EAAE65D,EACD75D,EAAIA,EAAES,GAAK1B,GAAKiB,EAAEtK,GAAKgK,EAAGX,EAAI/B,GAAK,KACtCkR,EAAI0kB,EACJpyB,EAAIR,EACJ8jD,EAAI,IAAIhxB,EACR5zB,EAAIxJ,EAAI+K,EACHvC,EAAIxI,EAAIyH,EAAGzH,EAAIwJ,GAClB46D,EAAG5rD,EAAE1N,KAAMsjD,GAAI4hK,GAAG5hK,EAAGzpB,EAAG3kC,EAAGuJ,EAAGyB,EAAGsN,GAAKtY,GAAKuJ,EAAK+O,GAAK/O,EACvDvJ,EAAIwI,IACD47D,EAAG5rD,EAAE1N,KAAMsjD,GAAI4hK,GAAG5hK,EAAGzpB,EAAG3kC,EAAGqgE,EAAGr1D,EAAGsN,GAAKtY,GAAKqgE,EAAK/nD,GAAK+nD,KACtDh3D,EACEC,IAAMgB,GAAKN,EAAA,YAGd,KACCvC,GAAKuD,GAAKzB,GAAK+O,GAAK,EAAIhO,EAAEtK,EAAG,KAG/BA,EAAIgL,EACJvD,EAFAk9B,EAAIrsB,GAAKhR,EAAI+B,GAAKs7B,GADlB55B,GAAKzD,EAAI+B,GAAKm+D,EAAGl9D,EAAEojE,GAAIpjE,EAAEtK,IAIzBuJ,EAAIyB,EACJ1B,EAAIgP,EAEJtO,EAAI,GACCe,GAFLs1D,EAAIt1D,GAES,EAAG,GAAKA,IAAKA,EAAGf,EAAEe,GAAKxB,EAAED,EAAIyB,GAAA,IACrCA,EAAIs1D,EAAI,EAAG,GAAKt1D,IAAKA,EAAG/K,EAAEyH,EAAIsD,GAAKf,EAAEe,GAC1CklN,GAAG3lN,EAAGjB,EAAG/B,EAAG0D,EAAG25B,EAAG35B,EAAGsN,EAAA,MAChB23M,GAAG3lN,EAAGjB,EAAG/B,EAAGG,EAAG8B,EAAGyB,EAAGsN,GAEhCA,EAAIvY,EACJiL,EAAI7R,CAAA,CAEN6R,GAAK7R,GAAKgP,EAAEpI,EAAG5G,EAAGmf,EAAGtN,EAAG/F,EAAA,UAEjBqiM,GAAGp/L,EAAGka,GAAA,IACTja,EAAID,EAAEi1B,EACRhkC,EAAI+O,EAAEqlE,GAAKrlE,EAAEhK,EAAIgK,EAAEmmD,EACnBtuD,EAAIqiB,EAAIla,EAAEmmD,EAAA,GACZtlD,EAAEqZ,GAAKla,EAAEoC,EAAE6gD,GACXpiD,EAAE,IAAMhJ,GACJ,EAAIA,EAAG,KACLorD,EAAIjjD,EAAEoC,EACRrF,EAAIiD,EAAE+mE,GACN/wE,EAAIgK,EAAEwnE,GACNp3D,EAAI6yC,EAAExgD,MAAA,GACR08L,GAAGn/L,EAAGnI,EAAGoI,EAAGhP,GAIZ4G,EAHA7B,EAAI,CAACA,GAIL6K,GAHAZ,EAAID,EAAEmmD,IACNl1D,EAAIipB,IAGJrZ,EAAEoiD,EAAEnhD,EAAImhD,EAAE8hB,IACV9zE,EAAIgyD,EAAEA,IAAMhyD,EAAIgyD,EAAEA,GACdhjD,EAAIgjD,EAAE9xD,EAAG,KACP2R,EAAImgD,EAAE9xD,EAAI8O,EACZA,EAAIgjD,EAAE9xD,EACR0G,EAAE,IAAMiL,EAAIsN,CAAA,IAEdnQ,GAAKhP,EACAgP,EAAI,GACHpI,EAAE,IAAM,EAAIorD,EAAEnhD,EACfmhD,EAAEygB,GAAKzjE,EAAIgjD,EAAE9xD,EACb8xD,EAAExyC,EAAIwyC,EAAE8hB,GAAK9hB,EAAEnhD,EACfmhD,EAAE/tB,EAAIjkC,EAAIgP,EACVA,EAAI,GACLA,EAAG,IACLjK,EAAIA,EAAE,GAEF,IADJiK,EAAID,EAAEkjE,IACKhd,EAAG,CAEV,IAAI9jD,EAAInC,EAAEkB,EAAE8lN,KAKV9lN,GAJAlQ,EAAIgP,EAAEimD,EACNruD,EAAIorD,EAAExyC,EACNwyC,EAAIA,EAAE/tB,EACNpyB,EAAIV,EAAEimE,GACFjmE,EAAEkO,GACNlR,EAAI6jD,EAAA,IACJ7gD,EAAIA,EAAEkmE,GAAKtoE,EAAEgmE,GAAK5jE,EAAEkO,EACtB,EAAIlR,KAEJ,KACIG,EAAIxC,EACNsE,EAAIrL,EACJymC,EAAI5kC,EACJiK,EAAIgB,EACJhL,EAAIsK,EAAA,OACEnR,GAAA,KACD+2N,GACHC,GAAG1oN,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,GAAA,WAEZwvN,GACHY,GAAG3oN,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,GAAA,WAEZ6uN,GACHuB,GAAG3oN,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,GACfuvN,GAAGvlN,EAAGhK,EAAG,EAAG2kC,EAAG,EAAG,cAEf6jH,GACH6nE,GAAG5oN,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,GAAA,WAEZwvK,GACH0lB,GAAGztL,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,EAAG,cAEf8uN,GACH55B,GAAGztL,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,EAAG,GAClBuvN,GAAGvlN,EAAGhK,EAAG,EAAG2kC,EAAG,EAAG,cAEf0qL,GACHn6B,GAAGztL,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,EAAG,cAEf+uN,GACH75B,GAAGztL,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,EAAG,GAClBuvN,GAAGvlN,EAAGhK,EAAG,EAAG2kC,EAAG,EAAG,cAEf8qL,GACHa,GAAG7oN,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,GAAA,WAEZgvN,GACHsB,GAAG7oN,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,GACfuwN,GAAGvmN,EAAGhK,EAAG2kC,EAAG,EAAG,cAEZ6rL,GACHC,GAAGhpN,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,GAAA,cAGf+I,EAAE,GAEN7K,GAAKoa,EACLhO,GAAKjB,CAAA,CAEPnB,EAAEgmE,IAAM/iB,CAAA,MACHglJ,MAAM,6BACbpnM,EAAEb,EAAEgmE,IAAM/lE,EAAEyC,OAAA,EAGhB1C,EAAEmmD,EAAIjsC,EACNrZ,EAAEb,EAAEmmD,GAAKnmD,EAAE/O,EAAA,UAEJsuM,GAAGv/L,GAAA,IACNa,EAAA,GACA,EAAIb,EAAE6kE,GAAI,OAAO,MAChBhkE,EAAI,EAAGA,EAAIb,EAAEkvE,KAAMruE,EAAG,KACrBqZ,EAAIla,EAAE4nE,GAAG/mE,GAAGi7D,EACd77D,EAAID,EAAE4nE,GAAG/mE,GAAGw5D,EAAA,GAEZ,EAAIngD,EAAE,GAAGja,EAAE,GAAK,GAAGoB,GACnB,EAAI6Y,EAAE,GAAGja,EAAE,GAAK,GAAGoB,GACnB,EAAI6Y,EAAE,GAAGja,EAAE,GAAK,GAAGoB,EAEnB,OAAO,SAEJ,WAEAs+L,GAAG3/L,EAAGka,EAAGja,EAAGhP,EAAG4G,EAAGorD,GAAA,GACrB,GAAKjjD,EAAE0Q,EAAG,KACR3T,EAAIiD,EAAE21E,GACR3/E,EAAIgK,EAAE41E,GAAA,IACH/0E,EAAE,MAAQ4uF,GAAGzvF,EAAE0Q,IAAKwJ,EAAIja,IAAKia,EAChCu1E,GAAGzvF,EAAE0Q,GAAG3T,EAAG/G,EAAG/E,EAAG4G,EAAG5G,EAAG4G,EAAGorD,GAAKlmD,EAAI9L,EAAK+E,EAAI6B,EAAKA,GAAKorD,EACxDjjD,EAAE21E,GAAK54E,EACPiD,EAAE41E,GAAK5/E,CAAA,WAGFmqM,GAAGngM,EAAGka,GAAA,IACTja,EAAID,EAAEoC,EAAEwhE,GACV3yE,EAAI,GAAKgP,EAAEyQ,GAAK,GAAKzQ,EAAEyQ,EAAI1Q,EAAEoC,EAAEjR,EAAI6O,EAAEmmD,EACjB,GAApBl1D,EAAI+O,EAAEmmD,EAAIl1D,EAAIA,EAAI+O,EAAEmmD,EACtBtlD,EAAEqZ,GAAKla,EAAEoC,EAAE6gD,GACP/oC,EAAIjpB,EAAG,KACL4G,EAAImI,EAAEoC,EAAEK,MACVwgD,EAAIhjD,EAAEijE,GACNnmE,EAAIkD,EAAEosE,GAAKx0E,EAAI5G,EACf+E,EAAIgK,EAAEi1B,EACN7kB,EAAIpQ,EAAEqlE,GAAKrlE,EAAEhK,EAAI/E,EACjB6R,EAAI9C,EAAEqwE,GACRxvE,EAAE,GAAKb,EAAEgvC,IACTnuC,EAAE,GAAKiC,EAAE,GAAGytE,IACZi4I,GAAG1lN,EAAE,GAAI7R,EAAGipB,EAAGlkB,EAAGoa,EAAG6yC,EAAGlmD,GACxB4iM,GAAG1/L,EAAGhP,EAAGipB,EAAG+oC,EAAGlmD,EAAGlF,EAAA,CAEpBmI,EAAEmmD,EAAInmD,EAAEgmE,GAAK9rD,CAAA,UAENsoC,GAAGxiD,EAAGka,EAAGja,EAAGhP,EAAG4G,EAAGorD,EAAGlmD,GAAA,IACxB/G,EAAIgK,EAAE4jL,EAAI3yL,EACZmf,EAAIpQ,EAAE4jL,EAAI3yL,EACV6R,EAAI9C,EAAEy8B,EACNr6B,EAAIpC,EAAEjD,EACNoE,EAAIlB,EAAID,EAAE4jL,EACVxkL,EAAI+B,EACNtJ,EAAIoI,EAAIhP,EAAI4G,EAAA,IACR0H,EAAIU,EAAIhP,EAAIgyD,EACd5hD,EAAI,IAAMe,EAAEyiE,GACZpoC,EAAIz8B,EAAE0uE,GAAK14E,EAAI,SACf8L,EAAI,EAAIM,EAAEyiE,GAAKziE,EAAEqlE,GAAK,KACtB3vE,EAAIsK,EAAE05F,GACN16F,EAAID,EAAI5B,EAAIwiI,GAAG3/H,EAAGgO,EAAGpa,GAAK,KAC5B6K,EAAEb,EAAEmmD,EAAIlD,GACRpiD,EAAEtB,GAAK1H,GAAA,IACHgL,GAAA,EACJ7C,EAAG,OAAS,MACH6C,GAAK1B,EAAI5B,GAAK,KACf44D,EAAI,KACJniE,GAAKymC,EAAG,KAERn7B,EAAIH,EAAIlB,EACVY,GAFI47B,EAAIz8B,GAEJ0uE,IACJjyC,EAAE+5C,GAAK/5C,EAAEA,EACTA,EAAEg6C,GAAKn1E,EAAA,EACHm7B,EAAE1/B,EAAE8nE,IAAMne,EAAGjqB,EAAE1/B,EAAE0qE,GAAIhrC,EAAE1/B,EAAEiwE,IAC7BvwC,EAAIzmC,EAAIg6F,EAAA,IAEV5/E,EAAItY,IAAMsJ,EAAI2gI,GAAG3/H,EAAGgO,EAAGpa,IACvB6K,EAAE,MAAQO,GACVA,EAAEutE,KAAQz0D,EAAE/Y,GAAKC,EAAE8qE,GAAMrpE,GAAA,IACpBA,EACH,GAAKqjD,EAAGpjD,GAAI1B,EAAEuvE,GAAK,CACbxY,EAAIr1D,EACNxB,EAAI4Y,EAAA,IACJ5Z,EAAIa,EACJ3L,EAAI4L,EAAEs0E,GAAG1gD,EAAGmjC,GAAMm3I,GAAK,GACzBzuM,EAAEO,EAAEuvE,IAAA,IACEn7E,EAAE6L,GACHuB,EAAGu1D,EAAGA,EAAE/nD,EAAI5a,EAAE6L,GAAKC,EAAEhB,GAAK9K,EAAEvD,MAASkmE,EAAI,IACzCv1D,EAAGu1D,EAAGA,EAAE/nD,EAAI5a,EAAE6L,EAAI,KAAMR,EAAE,KAAOrL,EAAEvD,OAASkmE,EAAI3iE,EAAEvD,OAAA,GAClDkmE,IAAMt1D,GAAA,EAAI,MACVs1D,EAAI82D,GAAG7tH,EAAE06D,EAAE,GAAI16D,EAAEi5D,EAAE,GAAIv3D,GAAA,GAC5BA,EAAEA,EAAG,SACLD,GAAK,IAAMs1D,EAAG,KACXt1D,EACH,GAAIzB,EAAEk0E,GAAIp7D,EAAE/Y,IAAMC,EAAE8qE,GAAM/T,GAAK,KAAQ,MAClC,IACHjS,EAAGpjD,GACHD,EAAIosH,GAAG7tH,EAAE06D,EAAE,GAAI16D,EAAEi5D,EAAE,GAAIv3D,GACvBojD,EAAGpjD,GACHxB,EAAI2tH,GAAG7tH,EAAE06D,EAAE,GAAI16D,EAAEi5D,EAAE,GAAIv3D,GACvBxC,EAAI2uH,GAAG7tH,EAAE06D,EAAE,GAAI16D,EAAEi5D,EAAE,GAAIv3D,GACnBA,EAAEA,EAAG,MACToX,EAAE/Y,IAAOb,GAAK,GAAOuC,GAAK,GAAOs1D,GAAK,EAAK72D,KAAO,KAEtDuB,GAAA,IACE1B,IACAiP,GAEKnf,IACHmf,EAAI,IACJpa,EACF,MAAQ+G,GAAK/G,GAAKitD,KAAOjtD,EAAI,KAAO+G,EAAEiD,EAAGhK,GACzC,MAAQ8L,GAER,KAAO1C,EAAI+B,GACRg3D,EAAIj+C,EAAE9a,KACJ0C,EAAEu9D,GAAI,UAAYlH,EAAK,cAAgBr2D,EAAEusE,IAAMlW,CAAA,MACjD,GAAI,IAAMA,EAAG,IAClBA,EAAI+5D,GAAG/5D,EAAI,IAAKr1D,GAChBxB,EAAI2tH,GAAG7tH,EAAE06D,EAAE,GAAI16D,EAAEi5D,EAAE,GAAIv3D,GACvBojD,EAAGpjD,GAEHxB,EAAIs9L,GAAG3tM,EADPqQ,EAAI4wH,GAAG5wH,EAAGwB,IAENA,EAAEA,EAAG,SACL3B,EAAIlB,EAAIqB,GAAKzJ,EAAIsJ,EAAIg3D,EAAG,MAAMn4D,EAC7B,IAAKM,EAAI,EAAGA,EAAI63D,IAAK73D,EAAG4Z,EAAE/Y,EAAIb,GAAK4Z,EAAE/Y,EAAIb,EAAIgB,GAAA,IAClDH,GAAKg3D,EACA/nD,GAAK+nD,EAAG/nD,GAAKnf,GACfmf,GAAKnf,IAAM+E,EAAG,MAAQ+G,GAAK/G,GAAKitD,KAAOjtD,EAAI,KAAO+G,EAAEiD,EAAGhK,GAAA,GAC1D6K,EAAEM,GAAKtJ,GACPuY,EAAItY,IAAMsJ,EAAI2gI,GAAG3/H,EAAGgO,EAAGpa,IACnB,MAAQ8L,EACV,KAAO1C,EAAI+B,GACRg3D,EAAIj+C,EAAE9a,KACJ0C,EAAEu9D,GAAI,UAAYlH,EAAK,cAAgBr2D,EAAEusE,IAAMlW,CAAA,KACjD,MAAIA,EAAI92D,GASR,MAAMrB,EAAA,IARX6C,EAAIs1D,EAAI,IACHt3D,EAAE,MAAQiB,GAAI1C,EAAI+B,GACpBg3D,EAAIj+C,EAAE9a,KAAQ0C,EAAEu9D,GAAI,UAAYlH,EAAK,cAAgBr2D,EAAEusE,IAAMlW,EAChEA,EAAIh3D,EAEJN,IAAIgC,KADJvB,EAAIQ,GACQ4lE,KACZxtD,EAAEi+C,GAAK72D,EAAE+9D,EAAEx8D,GACXA,GAAA,CAAI,CAENA,GAAKhC,EAAEiC,EAAEA,GAAKwN,EAAGxN,GAAA,IAEf9C,EAAE0uE,IAAM5rE,EAAEA,GAAK3B,EAAItJ,EACrBgJ,EAAEb,EAAEy8B,EAAE35B,GACH9C,EAAEnI,EAAI,EACNmI,EAAEy8B,EAAIz8B,EAAEw2E,GACRx2E,EAAE4jL,EAAI5jL,EAAEy2E,GACT,EAAIz2E,EAAEjD,EAAE8nE,IAAMne,EAAG1mD,EAAEjD,EAAEiwE,GAAIhtE,EAAEjD,EAAE0qE,QAC5B,IAAI3kE,EAAEA,EAAG,MAAM9C,EACf,MAAQjD,GAAKA,EAAEiD,EAAGhK,EAAIitD,EAAIA,EAAIjtD,GAAKgK,EAAEnI,EAAI,EAAKmI,EAAE4jL,EAAIziL,EAAIlB,CAAA,QACtD,SAETD,EAAEnI,EAAI,EACC,WAEAuoM,GAAGpgM,GACVa,EAAE,MAAQb,GACVA,EAAE6xE,GAAK,KACP7xE,EAAE+xE,GAAK,KACP/xE,EAAE4nE,GAAK,SACH1tD,EAAIla,EAAEynE,GAAA,MACFvtD,IAAMA,EAAEmlD,EAAI,MACpBr/D,EAAEgtE,GAAK,KACPnsE,EAAE,MAAQb,EAAA,UAEHqgM,KAAA,IACHx/L,EAAI,IAAIsqM,GAAA,OACR,MAAQtqM,EAAU,MACtBA,EAAEhJ,EAAI,EACNgJ,EAAEssE,GAAK+hB,GACP+oE,GAAG,YAAa,kBAChBA,GAAG,YAAa,oBAChBA,GAAG,eAAgB,qBACnBA,GAAG,eAAgB,uBACnByvD,GAAK5rJ,EACLgsJ,GAAKvoJ,EACL0oJ,GAAKhsJ,EACLisJ,GAAKx3M,EACL03M,GAAKxkC,EACL2kC,GAAK35H,EACLu5H,GAAK78F,GACLtrH,EAAKyoN,gBAAkBC,GACvB1oN,EAAK2oN,eAAiBC,GACf/nN,EAAA,UAEAy/L,GAAGtgM,EAAGka,EAAGja,EAAGlD,EAAG/G,GAAA,IAClBoa,EAAI,EACNjP,EAAI,CAACnB,GACLT,EAAI,CAAC2a,GACL7Y,EAAItE,EAAE0/B,EACNA,EAAI1/B,EAAEA,EACN+E,EAAI,KACJhK,EAAI,EACNkI,EAAG,OAAS,IACNC,EACF,KAAOmQ,GAAKhP,EAAEC,EAAG,IAAM,KACjBwB,EAAI1B,EACNg3D,EAAI54D,EACJ+Q,EAAIvT,EACJuE,EAAI,EACJhB,EAAIgQ,EAAEmsB,EACNjnC,EAAI8a,EAAE+/D,GAAG//D,EAAE0+B,IACXiX,EAAI7kD,EAAEd,EAAG,MACPgQ,EAAEyiE,GAAM,GAAK9sB,EAAI71C,EAAI,MACpB,QACHE,EAAEyiE,IAAM,GAAK9sB,EACbzwD,EAAE+6E,GAAKtqB,EACPzwD,EAAEgwE,GAAK3iE,EAAE,GACTrN,EAAEk6G,GAAKv3C,EAAE,GACT3iE,EAAEymE,EAAI,CAAC,QACL3rD,EAAE0+B,GACJnuC,EAAE,GAAKyP,EAAE0+B,IACDiX,GAAA,KACD,OACA,EACHzwD,EAAEsC,EAAIsJ,EAAEd,EAAG,GAAK,EAChBgB,EAAIg/L,GAAGhhI,EAAG9pE,EAAEgwE,GAAIhwE,EAAEsC,GAAIwnE,EAAG9pE,EAAEk6G,GAAIl6G,EAAEsC,GAAI,EAAGwY,EAAG9a,EAAEymE,GAC7CzmE,EAAEymE,EAAIzmE,EAAEymE,EAAE,cAEP,MAMDzrD,EALE21C,EAAI/kD,EAAEd,EAAG,GAAK,EAChBnP,EAAI,GAAKg1D,EAAI,EAAI,EAAIA,EAAI,EAAI,EAAIA,EAAI,EAAI,KAC3CtjD,EAAE,GAAKy8D,EAAG9pE,EAAEgwE,GAAIr0E,GAChBqE,EAAEsC,EAAI3G,EAGDqf,EAFDlP,EAAIg/L,GAAGn6I,EAAG,EAAG,EAAG71C,EAAG9a,EAAEymE,GAEZ,KACPvV,EACFqT,EAAI5T,EACJ51C,EAAI/a,EACJoxD,EAAI,IAAM,GAAKr2C,EAAEzY,GACjBo9B,EAAIr9B,EAAE+uD,GAAA,GACJ,MAAQ1xB,EAAG1kB,EAAI,MACd,KACCC,EAAIF,EAAE0rD,EAAE,GACV5rD,EAAIE,EAAE1N,EAAA,IACRqyB,EAAE,GAAK3kB,EAAE0rD,EAAE,GAAG,GACTvV,EAAI,EAAGA,EAAI,EAAIqT,IAAKrT,EAAGxxB,EAAEwxB,GAAKoR,EAAGrnD,EAAEJ,EAAIq2C,GAAIxxB,EAAEwxB,EAAI,SAC/CA,EAAI,EAAIE,IAAKF,EAAGxxB,EAAEwxB,GAAK,EAC9Bn2C,EAAE0rD,EAAE,GAAK,KACT1rD,EAAE0rD,EAAE,GAAK/mC,EACT1kB,EAAI,GAGRlP,EAAIkP,EAAA,WAED,gBAGH3P,EAAE,GAENuP,EAAI9O,CAAA,KAGVH,EAAIA,EAAE,GACN5B,EAAIA,EAAE,GACF6Q,GAAKhP,EAAEC,EAAG,MAAuB+O,EAAI,IAAnBtY,EAAIsJ,EAAEC,EAAG,KAAoB,IAAMvJ,GAAS,CAChEiF,EAAElF,EAAI,QACAmI,CAAA,KAEJq6D,EAAA,GACCA,EAAIjqD,EACPvP,EAAG,KAMC+4D,EACA3kC,EAIA6mC,EAVEI,EAAIn/D,EACNwiE,EAAIp+D,EACJk+D,EAAI9/D,EACJ08D,EAAInkE,EACJ4Y,EAAIzQ,EAGJ2jL,EAAI1nH,EAAEz/B,EACNmyD,EAAI1yB,EAAEn/D,EACNuuH,GAAI,CAAC,MAEL0hE,GAAI,EACJ/0B,GAAK,EACLomC,GAAKwqB,GAAG5sJ,GACV/hD,EAAG,OAAS,IACNxJ,GAAKtP,EAAEwiL,EAAG,GAAI,KACZiJ,GAAKzrL,EAAEwiL,EAAG,GAAK,EACjB0a,GAAKh/H,EAAGC,EAAGstH,IACXh0C,GAAKv5E,EAAGD,EAAGwtH,IACX7D,GAAKsV,GAAKzlD,GAAA,IACPynD,GAAGhC,GAAIzlD,GAAI,EAAG38E,EAAGovD,IAAI,MAAMpxG,EAAA,IAChCoxG,GAAIA,GAAE,GACN18B,EAAE9c,GAAK+6G,GACFjzH,EAAK,EAAGA,EAAKovH,KAAMpvH,EAAI,KACtBu7D,GAAM7J,GAAE1xD,IAAO,EAAK,MACxB0xD,GAAE1xD,GAAMu7D,GACRA,IAAM63D,KAAMA,GAAI73D,GAAK,OAGrByuD,EAAE9gL,EAAG,MAAMoX,EAAA,IACV+a,EAAK,EAAG,EAAIA,IAAMA,EAAI,KACrBq1K,GAAIwe,GAAG7zL,IACVA,GAAM,EAAIgnC,IAAMquI,IAAK,GAAKruI,GAC3Bg8F,GAAKqyC,KAAMryC,GAAKqyC,GAAA,KAEd9pC,GAAKv9G,EAAG+pI,GAAIqR,GAAIj8L,GAChB8nL,GAAK8C,GACPzwC,GAAKt5F,EAAGinI,GAAI9qL,GAAA,GACV,MAAQm9I,GAAI,IAAIztB,GAAK,UACpBjuH,EAAE,OAASqpL,IAAMp7D,GAAKytB,GAAA,IACvBkU,GAAK54J,EAAEogK,IAAA,GACP,MAAQnpC,IAAM,MAAQ2hC,IAAM,MAAQ+P,GAAI,CAC1CtkG,EAAErkE,EAAI,QACAqiB,CAAA,KAEJykL,GAAKn+B,GAAA,IACJ5mG,EAAKkC,EAAI,EAAGlC,EAAKozH,KAAKpzH,EAAI,KACzBs4D,GAAKpD,GAAGl1D,GACVglI,GAAK1sE,GAAGp2D,EACRmzD,GAAKiD,GAAG73D,EACR0nE,GAAK,EACLo9D,GAAK,EACLC,GAAK,MACFnqK,EAAK,EAAG,EAAIA,IAAMA,EAAI,CACzBq1K,GAAIwe,GAAG7zL,GACP2pK,GAAG3pK,GAAM0pK,GACT1vE,GAAGh6F,GAAM6mC,GACR7mC,GAAM,EAAIgnC,IAAMquI,IAAK,GAAKruI,GAC3Bh8D,EAAG,KACGs/L,GACFI,GAAK2K,GACLnK,GAAKjkI,EACLmkI,GAAK5vC,GACL8vC,GAAK5B,GACL6B,GAAK1kI,EACL2kI,GAAK,EACLC,GAAKP,GAAG1jK,EACRkkK,GAAKv/L,EAAEs/L,GAAI,MACbzvM,EAAEovM,GAAI,EAAG,EAAGV,IACRgB,GAAI,KACFC,GAAKx/L,EAAEs/L,GAAI,GAAK,EAClBG,GAAKz/L,EAAEs/L,GAAI,GACXI,GAAK1/L,EAAEs/L,GAAI,GAAKG,GAAK,EAAI,GAC3BR,GAAGS,IAAM,KACJF,KAAyBP,GAAjBS,GAAK1/L,EAAEs/L,GAAI,IAAe,OACnCK,GAAK,MACJ,KACDC,GAAKnpM,EAAE,IACTopM,GAAK7/L,EAAEs/L,GAAI,GAAK,KACd,GAAKO,GAAI,CACXd,GAAGtoM,EAAI,MACHqpM,GAAK,QACHjhM,CAAA,KAEHs/L,GAAK,EAAGA,GAAK0B,KAAM1B,GAAIyB,GAAG+nB,GAAGxpB,KAAOn+L,EAAEs/L,GAAI,OAC3CU,QAAA,EACFC,QAAA,EACAC,GAAKnB,GACLpD,GAAKiE,GACLwB,GAAK7C,GACL+C,GAAKrC,GACLwC,GAAK,EACLO,GAAK9B,GAAG7kK,EACR6mK,GAAK,EACLC,GAAKtgJ,EAAG,IAAK7gD,GACfnR,EAAG,KACI6R,EAAEygM,GAAI,EAAG,EAAGxG,GAAI,KADX,IAEN37L,EAAEgiM,GAAI,GAAI,KACRK,GAAK,EAAI,EAAIriM,EAAEgiM,GAAI,OACrBhC,GAAK,EAAIhgM,EAAEgiM,GAAIK,KACRjB,GAAI,MAAMvxM,CAAA,MACdmwM,GAAKoB,GAAA,IACPnB,GAAK,EAAGA,GAAKmB,IAAMpB,MAAQ,CAC9Bl7I,EAAGk9I,IAAA,IACCQ,GAAKL,GAAG,GAAc,IAATvuK,EAAGouK,MACpBxgM,EAAGwgM,GAAIA,GAAGhzL,EAAIwzL,GAAGviM,GAAA,IACbs8E,GAAKimH,GAAG3xM,MAAA,GACR,GAAK0rF,GAAK+kH,GAAGrB,MAAQ1jH,GAAK,GAAKA,KAAO2lH,GAAK3lH,QAC1C,KACCtB,GAAK,IAAMsB,GACbF,GAAKE,GAAK,GACVR,GAAK6rI,GAAGvrI,IACRhB,GAAKr7E,EAAEgiM,GAAI6lB,GAAGxrI,KAAON,GAAA,GACnBkkH,GAAK5kH,GAAK+lH,GAAI,MAAMvxM,EAEtB,IAAK,IAAI+qF,GAAKK,GAAKinH,GAAK,EAAG,EAAI7mH,MAC7BimH,GAAGrB,MAAQrlH,EAAA,EAGnB6mH,GAAK,QACC5xM,CAAA,CAER4xM,KAAOvB,GAAGzpM,EAAI,GACdkpM,GAAK8B,EAAA,EAEN9B,GAAKA,KAAOL,GAAG59L,KAAO29L,GAAK39L,EAAEy9L,GAAIC,GAAI,EAAGH,GAAIV,KAC7CoB,IAAM,GAAKN,GAAMS,GAAKT,IAAQN,GAAGtoM,EAAI,EAAKqpM,GAAK,MAE7C,GAAKA,GAAI,MAAMhnL,EAAA,GACnBilL,IAAM,GAAK+pB,GAAGj0L,KAAQkqK,GAAK,GAAKR,GAAG7iI,GAAGz6D,GACtC0gI,IAAM48D,GAAG7iI,GAAGz6D,EACZy6D,GAAKolI,GACD,GAAKjsK,EAAI,KAETmoD,GADEM,GAAK+yE,GAAG,OAEPrzE,GAAK,EAAGA,GAAKktH,KAAKltH,GAAIqzE,GAAGrzE,IAAMM,KAAOA,GAAK+yE,GAAGrzE,KACnDgiH,IAAM1hH,EAAA,KAGVw0C,GAAG58C,GAAK6pH,GACRjtE,GAAGvjD,GAAK,EACRwwH,KACIjtE,GAAGhmD,IACD0yH,GAAG,GAAG3vE,GAAG,GAAK,GAAGh9H,OAAS,GACzB2sM,GAAG,GAAG3vE,GAAG,GAAK,GAAGh9H,OAAS,GAC3B2sM,GAAG,GAAG3vE,GAAG,GAAK,GAAGh9H,SACnB,EACF,GAAK8vI,IACH,IAAM68D,GAAG,GAAG3vE,GAAG,GAAK,GAAGh9H,QACrBigI,GAAGvjD,GAAK,EAAKujD,GAAGhmD,IAAM0yH,GAAG,GAAG3vE,GAAG,GAAK,GAAGh9H,OAAS,IACtDigI,GAAGvhD,IAAMuhD,GAAGvjD,IAAM,EAAIywH,GAClBltE,GAAGvhD,GAAI,KACLwL,GACFyB,GAAKs0C,GAAA,IACF/1C,GAAK,EAAGA,GAAKmzH,KAAMnzH,GAAI,KACtBK,GAAKL,GACPO,GAAKkB,GAAGlI,GAAG8G,IACXF,GAAKsB,GAAG9hB,EAAE,GAAG8hB,GAAGvjB,EAAE,GAAKmiB,IAAA,KAClBF,GAAGrqF,OACJyqF,GAAGr7E,EAAIi7E,GAAGj7E,EAAI,IAAOq7E,GAAGzqF,MAAQqqF,GAAGrqF,QACnCyqF,GAAGr7E,EAAI,EACRq7E,GAAGzqF,MAAQ,EACXuqF,KAAOwiH,GAAG1iH,GAAI,EAAGI,IACjBF,KAAOwiH,GAAGphH,GAAG9hB,EAAE,GAAG8hB,GAAGvjB,EAAE,GAAKmiB,IAAK,GAAIE,IACrCF,KAAOwiH,GAAGphH,GAAG9hB,EAAE,GAAG8hB,GAAGvjB,EAAE,GAAKmiB,IAAK,EAAGE,IACrCsiH,GAAGphH,GAAG9hB,EAAE,GAAG8hB,GAAGvjB,EAAE,GAAKmiB,IAAK,GAAIE,IAAA,GAIxCkS,EAAE/c,GAAKy5C,GACP18B,EAAE1f,GAAK89G,GACPp+F,EAAEhnB,GAAKknD,GACPlgC,EAAE7c,GAAKyuF,GACPnmG,EAAI,QACEx5D,CAAA,CAERw5D,EAAI,OAERjqD,EAAIiqD,GACI,CACNt9D,EAAElF,EAAI,QACAmI,CAAA,IAEJ,EAAIlI,GAAA,GACA2kC,EAAEooC,GAAK,GAAK/sE,GAAKiuD,EAAGtpB,EAAEgrC,GAAI3vE,GAAK,CACnCiF,EAAElF,EAAI,EACNuY,EAAI,QACEpQ,CAAA,OAEHy8B,EAAEooC,GAAK,MACVuX,GAAKr/E,EACPwgF,GAAKp8E,EACLo7E,GAAKh9E,EACL29E,GAAKd,GAAGr/E,EACR8gF,GAAKX,GAAGpL,GAAA,GACVsK,GAAGpmF,EAAIunF,GACPnB,GAAGnrF,EAAIsrF,GACPW,GAAG7H,GAAK/V,EAAGie,GAAIM,IACfX,GAAG4e,GAAK,GAAKje,IAAM,GAAK,GAAKA,IAAM,EAC/B59E,EAAG,CACLlD,EAAEowE,GAAKyiB,GAAA,MACD5vF,CAAA,IAGJ,OADJ8B,EAAIjK,EAAEsJ,EAAI5B,IACK,CACbxC,EAAElF,EAAI,EACNuY,EAAI,QACEpQ,CAAA,CAERoQ,GAAKA,EAAIoyC,GAAGzlD,EAAG+E,EAAG,EAAGX,EAAG5B,EAAGA,EAAG,SAAW8B,EAAEyB,EAAA,MACrC9C,CAAA,QAERoQ,GACK,MAAQpa,EAAKA,EAAE,GAAK8L,GAAMjB,EAAE,MAAQiB,GAAIjB,EAAEZ,IAAMlD,EAAE6mL,EAAI,EAAI3jL,GAAKmgM,GAAG3jK,IACnE2jK,GAAG3jK,GACArsB,CAAA,UAEAmwL,GAAGvgM,EAAGka,GAAA,IACTja,EAAID,EAAEhK,EAAIgK,EAAE/O,EACdA,EAAIgP,EAAIia,EAAI,GAAKA,EAAA,OACnBrZ,EAAEb,EAAEhK,GAAKkkB,GACTla,EAAEi1B,EAAIp9B,EAAE5G,GACJ,MAAQ+O,EAAEi1B,GAAWj1B,EAAE+mE,GAAK,KAAQ/mE,EAAEwnE,GAAK,EAAKxnE,EAAEnI,EAAI,EAAI,IAC9DmI,EAAE+mE,GAAK/mE,EAAEi1B,EACTj1B,EAAEwnE,GAAKxnE,EAAEqlE,GAAKplE,EAAIia,EACX,YAEAsmL,GAAGxgM,EAAGka,GAAA,IACTja,EAAID,EAAEmmD,EACRl1D,EAAIipB,EAAIja,EACRpI,EAAImI,EAAEi1B,EACNguB,EAAIjjD,EAAEqlE,GAAKrlE,EAAEhK,EAAIiK,EAAA,IACdY,EAAEqZ,GAAKla,EAAEoC,EAAE6gD,GAAI,EAAIhyD,GAAK,KACvB8L,EAAI,GAAK9L,EAAI,GAAKA,EACpB+E,EAAIgK,EAAEoC,EAAEwhE,GACRxzD,EAAIpQ,EAAEoC,EAAEK,MACRK,EAAIsN,EAAIrT,EACRqF,EAAIpM,EAAEktE,GACN/hE,EAAInL,EAAEq2E,GAAKj8D,EAAInQ,EACfb,EAAIY,EAAE+mE,GACNxnE,EAAIS,EAAEwnE,GACR23H,GAAGn/L,EAAGjD,EAAGlF,EAAGorD,GACZk7F,GAAG/+I,EAAGG,EAAG6C,EAAGjB,EAAG2B,GACf68L,GAAG3pM,EAAGiK,EAAGA,EAAIlD,EAAGqF,EAAGjB,EAAGiP,GACtBnf,GAAK8L,EACLlF,GAAKkF,EAAIiD,EAAEhK,EACXiK,GAAKlD,CAAA,CAEP8D,EAAEZ,GAAKia,GACPla,EAAEmmD,EAAInmD,EAAEgmE,GAAK9rD,CAAA,UAyBNumL,KAAA,KACF1zH,GAAKp/E,KAAK+oF,GAAK/oF,KAAKsI,GAAKtI,KAAKihF,GAAK,WAEjC8xH,KAAA,KACFyoB,GAAKx7N,KAAKwrF,GAAKxrF,KAAKy7N,GAAKz7N,KAAKgtF,GAAKhtF,KAAKsD,EAAItD,KAAKqI,EAAI,WAEnD2qM,KAAA,KACF7yH,GAAKngF,KAAK8/E,GAAK9/E,KAAK+/E,GAAK,OACzB2B,GAAKx3E,EAAE,QACPu2E,GAAKv2E,EAAE,YAEL+oM,KAAA,KACFrxH,GAAA,eAz5CHvvE,EAAI,mBAPCA,EAAEa,EAAGqZ,EAAGja,GAAA,IACV,IAAIhP,EAAIgP,EAAEia,GAAIriB,EAAI,EAAGA,EAAI5G,IAC5B4P,EAAErP,KAAKyO,EAAExS,OAASysB,EAAI,EAAI,GAAK,KAC3Bja,EAAExS,OAASysB,EAAI,IAFYriB,IAG/BmI,EAAEa,EAAEhJ,GAAIqiB,EAAI,EAAGja,EAAA,CAGX,CACND,EAAG,EAAG,CAAC,EAAG,KACLA,CAAA,CAu5CA,EAAK,UAEH6gM,KAAA,KACF93H,GAAKlxE,EAAE,QACPi8E,GAAK/2E,EAAG,CAAC,EAAG,GAAI6jM,IAAA,KAChB1sH,GAAKn3E,EAAG,CAAC,EAAG,IAAK6jM,GAAA,UAEfE,KAAA,KACF7tH,GAAKtlF,KAAKu/E,GAAKv/E,KAAKmhF,GAAKnhF,KAAKqqF,GAAK,OACnCb,GAAK,IAAIt/E,EAAE,QACX09E,GAAK,IAAI19E,EAAE,YAETkpM,KAAA,KACF3rH,GAAKznF,KAAKo4E,GAAKp4E,KAAK+mF,GAAK/mF,KAAK2jF,GAAK,WAEjC0vH,KAAA,KACF/6H,GAAKt4E,KAAKg2E,GAAK,WAEbs9H,KAAA,KACF7tH,GAAK,CAAC,EAAG,QACTvF,GAAK,CAAC,EAAG,QACTqF,GAAK,CAAC,EAAG,QACT1P,GAAK71E,KAAKmjF,GAAK,WAEbowH,KAAA,KACF3sH,GAAK18E,EAAE,UACPowE,GAAK,OACLwG,GAAK52E,EAAE,SACP23E,GAAK7hF,KAAKypF,GAAKzpF,KAAK61E,GAAK71E,KAAK4kF,GAAK5kF,KAAK6kF,GAAK7kF,KAAK8qF,GAAK,WAErD2oH,KAAA,KACF7vH,GAAK5jF,KAAKosE,EAAIpsE,KAAK4gF,GAAK,OACxBtJ,GAAK3lE,MAAM,IAAIyhM,IAAA,KACf7kI,EAAI,OACJgJ,GAAK5lE,MAAM,IAAI4hM,IAAA,KACfj+H,GAAK,OACL7gE,EAAI,IAAIogM,EAAA,UAENnB,KAAA,KACFjgM,EAAIvJ,EAAE,SACNsJ,EAAItJ,EAAE,QACNwrE,GAAKxrE,EAAE,YAELypM,KAAA,KACFpjM,GAAKvQ,KAAKkK,EAAI,OACd4D,GAAK,QACLghC,EAAI,IAAI55B,EAAA,KACRq3E,GAAK,IAAIumH,GAAA,KACT9tH,GAAK,IAAI+tH,GAAA,KACT/rH,GAAK,IAAImsH,GAAA,KACTr6H,GAAK,IAAIk6H,GAAA,KACTluH,GAAK9kF,KAAK2mF,GAAK3mF,KAAKy3E,GAAK,OACzBtN,EAAI,IAAIspI,GAAA,KACRhyH,GAAKzhF,KAAKq5E,GAAKr5E,KAAKqgF,GAAKrgF,KAAK4/E,GAAK5/E,KAAK2/E,GAAK3/E,KAAKm0F,GAAKn0F,KAAKw3E,GAAK,OACjEuN,GAAKzvB,EAAG,EAAGpgD,GAAA,KACX2gE,GAAK,OAELmG,GAAK1mB,EAAG,EAAGg+I,IAAA,KACX16H,GAAK,IAAIs6H,GAAA,KACTroH,GAAK7qF,KAAKkjF,GAAK,OACfoB,GAAK,QACLqrB,GAAK,OACLtrB,GAAK,CAAC,EAAG,EAAG,EAAG,QACfq3I,GAAK/pN,MAAM,IAAI+hM,IAAA,KACfzoH,GAAK,OACLzM,GAAK7sE,MAAM,IAAI0hM,IAAA,KACf50H,GAAK,OACLnH,GAAK3lE,MAAM,IAAIyhM,IAAA,KACf7kI,EAAI,OACJ6U,GAAK,QACLE,GAAK,OACL5M,GAAK,QACLC,GAAK,OACLG,GAAK,QACLL,GAAK,OACLuB,GAAK,QACLjf,EAAI/4D,KAAKi5D,EAAIj5D,KAAKi4E,GAAK,OACvByM,GAAK,QACLtY,EAAIpsE,KAAK81E,GAAK91E,KAAKohF,GAAKphF,KAAK2kF,GAAK,OAClCpN,GAAK5lE,MAAM,IAAI4hM,IAAA,KACflsK,EAAIrnC,KAAKs1E,GAAK,OACd6R,GAAK/3E,EAAG,CAAC,EAAG,GAAIgkM,IAAA,KAChBuoB,GAAK,UACL7jJ,GAAK,QACL0M,GAAKxkF,KAAKujF,GAAKvjF,KAAK2S,EAAI,OACxBytE,GAAK,QACLiH,GAAK,OACL9L,GAAK,QACLC,GAAK,OACLkI,GAAK,QACL3L,GAAK/3E,KAAKkmF,GAAK,WAEbkpH,GAAG/8L,EAAGa,GAAA,OACN,EAAIb,EAAI,EAAIA,EAAIa,EAAIA,EAAIb,CAAA,UAExBwiM,KAAA,KACFttK,EAAIvnC,KAAK8iB,EAAI9iB,KAAK+1E,GAAK/1E,KAAK+U,OAAS/U,KAAK8U,MAAQ,OAClDrB,EAAI,QACJD,EAAI,QACJkiE,GAAK,QACL8P,GAAKxlF,KAAK21E,GAAK31E,KAAKisE,EAAIjsE,KAAKwqE,EAAIxqE,KAAKo4D,EAAI,OAC1C6d,GAAK,YACLt0E,IAAM,oBACNmgF,GAAK,sBACLxgC,GAAK,yBACLs0B,GAAK51E,KAAKwgF,GAAK,OACfhnE,KAAO,QACP0hE,GAAKl7E,KAAKm7E,GAAKn7E,KAAKw1E,GAAKx1E,KAAKs1D,EAAIt1D,KAAKwD,EAAIxD,KAAKo3E,GAAKp3E,KAAKmU,EAAInU,KAAK43E,GAAK53E,KAAK67E,GAAK77E,KAAKkV,EAAI,OAC3F2N,EAAI,QACJ+uD,EAAI,WAEFmjI,KAAA,IACH1iM,EAAI,IAAIshM,GAAA,aACJthM,IACJA,EAAEnI,EAAI,EAAKmI,EAAEvE,GAAK,KAAQuE,EAAE9B,GAAK,EAAK8B,EAAEovE,GAAK,EAAIsgB,KAAOA,GAAK6zG,KAC1DvjM,CAAA,UAEA6iM,GAAE7iM,EAAGa,EAAGqZ,GAAA,UACVla,EAAEnI,IAAOmI,EAAEnI,EAAIgJ,EAAKb,EAAEvE,GAAKye,EAAKla,EAAE9B,GAAK,GACrC,WAEAklM,GAAGpjM,EAAGa,EAAGqZ,GAAA,OACT,GAAKA,GAAK,KAAOla,EAAEa,EAAI,IAAM,GAAKb,EAAEa,EAAI,IAAM,IAAMb,EAAEa,EAAI,YAE1DyiM,GAAGtjM,EAAGka,GAAA,GACT,MAAQla,EAAG,OAAO,KACtBA,EAAEnI,EAAI,EACNmI,EAAEvE,GAAK,KACH,MAAQye,EAAG,OAAO2oL,GAAE7iM,EAAG,EAAG,4CAC1BC,EAAIia,EAAE/S,KACNtP,EAAIqiB,EAAErX,EACNogD,EAAI/oC,EAAEqpD,GAAA,GACN,EAAItgB,EAAG,OAAO4/I,GAAE7iM,EAAG,EAAG,yBACtBjD,EAAIkD,EAAEpI,EAAI,GAAMoI,EAAEpI,EAAI,IAAM,EAAMoI,EAAEpI,EAAI,IAAM,GAC9C7B,EAAIgK,EAAEk6E,GAAA,GACVlkF,EAAE44E,KAAW,EAAJ7xE,GACT/G,EAAEC,GAAM8G,GAAK,EAAK,EAClB/G,EAAE0gF,GAAM35E,GAAK,EAAK,EAClB/G,EAAE+2E,GAAKhwE,GAAK,EACR,EAAI/G,EAAEC,GAAI,OAAO4sM,GAAE7iM,EAAG,EAAG,sCACxBhK,EAAE0gF,GAAI,OAAOmsH,GAAE7iM,EAAG,EAAG,0BAC1BnI,GAAK,EACLorD,GAAK,MACD7yC,EAAIpQ,EAAE2yE,GAAA,GACN38E,EAAE44E,GAAI,IACJ,EAAI3rB,EAAG,OAAO4/I,GAAE7iM,EAAG,EAAG,mCACrBojM,GAAGnjM,EAAGpI,EAAGorD,GAAI,OAAO4/I,GAAE7iM,EAAG,EAAG,iBACjCoQ,EAAEpa,EAAmC,OAA7BiK,EAAEpI,EAAI,IAAM,EAAKoI,EAAEpI,EAAI,IAC/BuY,EAAEuqE,GAAK16E,EAAEpI,EAAI,IAAM,EACnBuY,EAAEnf,EAAmC,OAA7BgP,EAAEpI,EAAI,IAAM,EAAKoI,EAAEpI,EAAI,IAC/BuY,EAAEg5M,GAAKnpN,EAAEpI,EAAI,IAAM,EACnBA,GAAK,EACLorD,GAAK,EACLjjD,EAAEmlE,GAAM/0D,EAAEpa,EAAI,IAAO,EACrBgK,EAAE8hF,GAAM1xE,EAAEnf,EAAI,IAAO,EACrBipB,EAAEzX,MAAQ2N,EAAEpa,EACZkkB,EAAExX,OAAS0N,EAAEnf,EACbipB,EAAEqrD,GAAK,EACPrrD,EAAE/oB,EAAI,EACN+oB,EAAEpY,EAAI,EACNoY,EAAE6qD,GAAK7qD,EAAEzX,MACTyX,EAAE+oC,EAAI/oC,EAAExX,OACRwX,EAAEipD,GAAK,EACPjpD,EAAE4uD,GAAK5uD,EAAEzX,MACTyX,EAAE2uD,GAAK3uD,EAAExX,OACTwX,EAAEzJ,EAAIyJ,EAAEzX,MACRyX,EAAEgb,EAAIhb,EAAExX,OAERzR,GADA8L,EAAIiD,EAAEumE,IACFwC,GAAI,EAAG,IAAKhsE,EAAEgsE,GAAGt7E,QAErBoT,EAAE,OADF9D,EAAIiD,EAAEymE,KAEN1pE,EAAE2wE,GAAK,EACP3wE,EAAE0wE,GAAK,EACP1wE,EAAE+wE,GAAK,EACP78E,EAAE8L,EAAEsyE,GAAI,EAAG,EAAGtyE,EAAEsyE,GAAG5hF,QACnBwD,EAAE8L,EAAEqxE,GAAI,EAAG,EAAGrxE,EAAEqxE,GAAA,IAEdp4E,EAAE+2E,GAAK9pB,EAAG,OAAO4/I,GAAE7iM,EAAG,EAAG,wBAE7BT,EADAxC,EAAIiD,EAAEy8B,EACAx8B,EAAGpI,EAAG7B,EAAE+2E,IACdl1E,GAAK7B,EAAE+2E,GACP9pB,GAAKjtD,EAAE+2E,GACP/2E,EAAE44E,KAAQx+D,EAAE+oE,GAAK74E,EAAEvD,GAAMqT,EAAE+4M,GAAK7oN,EAAEvD,IAClCqT,EAAIpQ,EAAEymE,GAAA,IAEJ3jE,EADEV,EAAIpC,EAAEumE,GAAA,GAEV1lE,EAAE,MAAQ9D,GACV8D,EAAE,MAAQuP,GACVA,EAAEs9D,GAAKptE,EAAEvD,GACLqT,EAAEs9D,GAAI,IACRt9D,EAAEq9D,GAAKntE,EAAEvD,GACLuD,EAAEvD,GAAI,KACRqT,EAAE09D,GAAKxtE,EAAEvD,GACJ+F,EAAI,EAAG,EAAIA,IAAKA,EAAGsN,EAAEi/D,GAAGvsE,GAAKxC,EAAEvD,GAAK0/B,EAAG1/B,EAAG,GAAK,MAC/C+F,EAAI,EAAG,EAAIA,IAAKA,EAAGsN,EAAEg+D,GAAGtrE,GAAKxC,EAAEvD,GAAK0/B,EAAG1/B,EAAG,GAAK,KAElDqT,EAAEq9D,GAAI,IAAK3qE,EAAI,EAAG,EAAIA,IAAKA,EAAGV,EAAE2mE,GAAGjmE,GAAKxC,EAAEvD,GAAKsE,EAAGtE,EAAG,GAAK,SACzDqT,EAAEq9D,GAAK,KACV1wE,EAAE+oE,GAAI,OAAO+8H,GAAE7iM,EAAG,EAAG,mCACzBoQ,EAAIpQ,EAAE20E,IACJqD,GAAK13E,EAAEvD,GACTqT,EAAE0+D,GAAKztE,EAAGtE,EAAG,GACbqT,EAAE88D,GAAK7rE,EAAGtE,EAAG,GACbqT,EAAE6iE,GAAK3yE,EAAEvD,GACLqT,EAAE6iE,IAAM3yE,EAAEvD,GAAI,KACXqF,EAAI,EAAG,EAAIA,IAAKA,EAAG9B,EAAEvD,KAAOqT,EAAE+mE,GAAG/0E,GAAKq6B,EAAG1/B,EAAG,QAC5CqF,EAAI,EAAG,EAAIA,IAAKA,EAAG9B,EAAEvD,KAAOqT,EAAEmlE,GAAGnzE,GAAKq6B,EAAG1/B,EAAG,OAEnDiD,EAAEg1B,EAAI,GAAK5kB,EAAE0+D,GAAK,EAAI1+D,EAAE4nE,GAAK,EAAI,EAC7Bj7E,EAAE+oE,GAAI,OAAO+8H,GAAE7iM,EAAG,EAAG,kCAErBmB,EAAI8hD,EAAA,GACRA,EAFAngD,EAAIjL,EAGJA,EAAIiL,EAAI3B,EACRiP,EAAIjP,EACJnB,EAAEovE,IAAM,GAAK/tE,EAAGrB,EAAEy8B,EAAG,IAAM,EAEvBt7B,EAAI,GADRiB,EAAIpC,EAAEovE,IACSnvE,EAAI,MACd,KACH6C,GAAK,EAAIV,EACTgO,GAAK,EAAIhO,EACJjB,EAAI,EAAGA,EAAIiB,IAAKjB,EAAG,KAClB/B,EAAIa,EAAEgjD,EAAI,GAAMhjD,EAAEgjD,EAAI,IAAM,EAAMhjD,EAAEgjD,EAAI,IAAM,GAClD7jD,EAAIgR,IAAMhR,EAAIgR,GACd7Q,EAAGS,EAAE0yE,IAAIvxE,GAAIlB,EAAG6C,EAAG1D,GACnB0D,GAAK1D,EACLgR,GAAKhR,EACL6jD,GAAK,EAEP1jD,EAAGS,EAAE0yE,IAAItwE,GAAInC,EAAG6C,EAAGsN,GACnBnQ,EAAI6C,EAAIjL,EAAI,EAAI,KAEd,GAAKoI,EAAG,OAAO4iM,GAAE7iM,EAAGC,EAAG,+BAE3BA,EAAIoB,EADJyB,EAAI9C,EAAEy8B,EACI,GACVwmB,EAAI3iD,EAAEwC,GAAK25B,EAAG35B,EAAG,GAAK,EACtBjL,EAAIyI,EAAEwC,GAAK25B,EAAG35B,EAAG,GAAK,EACtBsN,EAAI9P,EAAEwC,GAAK25B,EAAG35B,EAAG,GAAK,EACtBV,EAAI9B,EAAEwC,GAAK25B,EAAG35B,EAAG,GAAK,EACtBA,EAAIxC,EAAEwC,GAAK25B,EAAG35B,EAAG,GAAK,EACtB3B,EAAInB,EAAEymE,GACDrnE,EAAI,EAAG,EAAIA,IAAKA,EAAG,IAClB+B,EAAEusE,GAAI,KACJ5rE,EAAIX,EAAEkuE,GAAGjwE,GACb+B,EAAE2sE,KAAOhsE,GAAK7B,EAAA,KACT,IAAI,EAAIb,EAAG,CAChBY,EAAE2pE,GAAGvqE,GAAKY,EAAE2pE,GAAG,YAEV7nE,EAAI7B,CAAA,KACPnI,EAAIkI,EAAE2pE,GAAGvqE,GACbtH,EAAEs7E,GAAG,GAAK4b,GAAG+tG,GAAGj7L,EAAImhD,EAAG,MACvBnrD,EAAEs7E,GAAG,GAAK0c,GAAGitG,GAAGj7L,EAAI,EAAG,MACvBhK,EAAE+1E,GAAG,GAAK,EAAImhB,GAAG+tG,GAAGj7L,EAAIjK,EAAG,MAC3BC,EAAE+1E,GAAG,GAAM,OAASiiB,GAAGitG,GAAGj7L,EAAIsO,EAAG,OAAU,KACvCtY,EAAE+1E,GAAG,KAAO/1E,EAAE+1E,GAAG,GAAK,GAC1B/1E,EAAEo7E,GAAG,GAAK8b,GAAG+tG,GAAGj7L,EAAIM,EAAG,MACvBtK,EAAEo7E,GAAG,GAAK4c,GAAGitG,GAAGj7L,EAAIgB,EAAG,MACvBhL,EAAEg5E,GAAKhvE,EAAIgB,CAAA,KAER9M,EAAE44E,GAAI,OAAOi0H,GAAE7iM,EAAG,EAAG,wBAC1BM,EAAEvD,GACF/G,EAAIgK,EAAEumE,GACDtmE,EAAI,EAAG,EAAIA,IAAKA,EAAG,KACjBgjD,EAAI,EAAG,EAAIA,IAAKA,EAAA,IACdprD,EAAI,EAAG,EAAIA,IAAKA,EAAA,IACduY,EAAI,EAAG,GAAKA,IAAKA,EACnBhO,EAAI5M,EAAEuH,EAAGkzF,GAAGhwF,GAAGgjD,GAAGprD,GAAGuY,IAAM/O,EAAGtE,EAAG,GAAKgzF,GAAG9vF,GAAGgjD,GAAGprD,GAAGuY,GAChDpa,EAAE89E,GAAG7zE,GAAGgjD,GAAGssB,GAAG13E,GAAGuY,GAAKhO,EAAA,IAC1B6gD,EAAI,EAAG,GAAKA,IAAKA,EAAGjtD,EAAEk+E,GAAGj0E,GAAGgjD,GAAKjtD,EAAE89E,GAAG7zE,GAAGkvF,GAAGlsC,GAAA,QAEnDjjD,EAAE6wE,GAAKvwE,EAAEvD,GACTiD,EAAE6wE,KAAO7wE,EAAEw4E,GAAKn3E,EAAGtE,EAAG,IACdiD,EAAE9B,GAAK,WAERqlM,GAAGvjM,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,GAAA,IACxBlmD,EAAI8D,EAAE5P,GAAGs+E,GAAGr1D,GAAA,IACXA,EAAI,EAAG,GAAKjpB,IAAKA,EAAG,KAClBuE,EAAEwK,EAAGjD,EAAEmd,EAAI,IAAK,OAAOjpB,EAAA,MACpBuE,EAAEwK,EAAGjD,EAAEmd,EAAI,QACXnd,EAAI8D,IAAI5P,GAAGs+E,GAAG,GAAMr1D,EAAI,EAAI,IAAMjpB,EAAI,OAAO,OACjD+E,EAAI6K,EAAE5P,EAAI,GAAGs+E,GAAA,GACb/5E,EAAEwK,EAAGjD,EAAEmd,EAAI,IAAK,KACd9J,EAAIpQ,EAGJ8C,EAAI,KACJtN,EAAE4a,GAHJjP,EAAIpE,IACJqF,EAAI8X,GAES,OACT1kB,EAAE4a,EAAGjP,EAAEiB,EAAI,IAAK,KAClBrF,EAAI,EAGJqF,EAAI,GAFJU,EAAItN,EAAE4a,EAAGjP,EAAEiB,EAAI,MACfjB,EAAI3L,EAAE4a,EAAGjP,EAAEiB,EAAI,EAAIU,KAEnBA,EAAI,EACC3B,EAAIiuF,GAAGhtF,GAAIjB,EAAEpE,KAAMA,EAAG+F,GAAKA,EAAItN,EAAE4a,EAAGjP,EAAEpE,IAC3C+F,GAAK,GAAK,GAAKV,EAAA,MAEf5M,EAAE4a,EAAGjP,EAAEiB,EAAI,KACLU,EAAI,EAAI,EAAItN,EAAE4a,EAAG,KAAQtN,GAAKtN,EAAE4a,EAAG,MACpCtN,EAAI,EAAItN,EAAE4a,EAAG,UACCtN,EAAlBtN,EAAE4a,EAAGjP,EAAEiB,EAAI,IAAW,EAAI5M,EAAE4a,EAAGjP,EAAEiB,EAAI,IAAY,EACtDrF,EAAI/G,EAAE,QACA8M,EAAI,EAAK/F,EAAI/G,EAAE,GACvBA,EAAIitD,EAAIurC,GAAGv9F,GAAA,GACXmf,EAAIpQ,GACElI,GAAKwJ,EAAG8O,GAAA,IAEZhO,EADEjB,EAAIiP,EAAEtY,EAERsH,GADAgD,EAAIgO,EAAEk1D,IAAM,IACFl1D,EAAE61C,GAAK9kD,IAAO,KACxBiP,EAAEtY,EACJsY,EAAEk1D,IAAMlmE,EACRgR,EAAEk1D,IAAM,EACRl1D,EAAE61C,IAAO7jD,EAAI,EAAKhD,IAAM+B,EACxBtJ,EAAE7B,KAAO8M,EAAI1D,GAAKA,GAAKa,GAAG,EAAIhP,GAAK,UAE9B,YAEAwyM,GAAGzjM,GAAA,IACNa,EAAIb,EAAEmsE,GAAGnsE,EAAEosE,GAAK,GACpBvrE,EAAE8iE,GAAK,EACP9iE,EAAEolE,GAAK,EACPh1E,EAAE+O,EAAEgyE,GAAI,EAAG,EAAGhyE,EAAEgyE,GAAGvkF,QACnBuS,EAAEyjE,GAAK,WAoQAmgI,GAAG5jM,EAAGka,GAAA,GACT,MAAQla,EAAG,OAAO,KAClB,MAAQka,EAAG,OAAO2oL,GAAE7iM,EAAG,EAAG,4CACzBA,EAAE9B,KAAOolM,GAAGtjM,EAAGka,GAAI,OAAO,KAC/BrZ,EAAEb,EAAE9B,IACA,MAAQgc,EAAEu1D,IAAMv1D,EAAEu1D,GAAGv1D,GAAI,CAC3BA,EAAEsvD,KAAOxpE,EAAEg1B,EAAI,OACXj4B,EAAIk3F,GAAGj0F,EAAEg1B,GAAA,MACRh1B,EAAEg1B,GACDh1B,EAAEstE,GAAK,EAAKttE,EAAEutE,GAAK,IACnBvtE,EAAEstE,GAAMpzD,EAAEpY,EAAI/E,GAAM,EACrBiD,EAAEutE,GAAMrzD,EAAE/oB,EAAI4L,GAAM,EACrB,EAAIiD,EAAEstE,KAAOttE,EAAEstE,GAAK,GACpB,EAAIttE,EAAEutE,KAAOvtE,EAAEutE,GAAK,IACxBvtE,EAAEgnE,GAAM9sD,EAAE+oC,EAAI,GAAKlmD,GAAM,EACzBiD,EAAEguE,GAAM9zD,EAAE6qD,GAAK,GAAKhoE,GAAM,EAC1BiD,EAAEguE,GAAKhuE,EAAEmlE,KAAOnlE,EAAEguE,GAAKhuE,EAAEmlE,IACzBnlE,EAAEgnE,GAAKhnE,EAAE8hF,KAAO9hF,EAAEgnE,GAAKhnE,EAAE8hF,IACrB,EAAI9hF,EAAEg1B,EAAG,KACPh/B,EAAIgK,EAAE20E,GAAA,IACL53E,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBqT,EAAA,GACApQ,EAAEymE,GAAGiH,GAAI,KACP5qE,EAAI9C,EAAEymE,GAAG2H,GAAGrxE,GAChBiD,EAAEymE,GAAGqH,KAAOhrE,GAAK9M,EAAE84E,GAAA,MACdhsE,EAAI9M,EAAE84E,GAAA,IACR1+D,EAAI,EAAG,GAAKA,IAAKA,EAAG,KACnBhO,EAAIpC,EAAE80E,GAAG/3E,GAAGqT,GACdjP,EAAI2B,EAAA,GACN9M,EAAEi9E,KAAQ9xE,GAAKnL,EAAEmhF,GAAG,GAAK/mE,IAAMjP,GAAKnL,EAAEu/E,GAAG,KAErC,GADJp0E,EAAI,EAAIA,EAAI,EAAI,GAAKA,EAAI,GAAKA,GACnB,KACL/B,EAAI+B,EAAA,EACJnL,EAAEk3E,KACF9tE,EAAI,EAAIpJ,EAAEk3E,GAAK9tE,GAAK,EAAIA,GAAK,GAC3B,EAAIpJ,EAAEk3E,KAAO9tE,EAAI,EAAIpJ,EAAEk3E,IAAA,EACzB9tE,IAAMA,EAAI,GACdgD,EAAEsyE,GAAKt1E,EACPgD,EAAEkvE,GAAK,EAAInwE,EAAI/B,EACfgD,EAAEgzE,GAAK,IAAMj0E,EAAI,EAAI,IAAMA,EAAI,EAAI,OAC9BiB,EAAEkvE,GAAK,EACdlvE,EAAE2jE,GAAK31D,CAAA,GAIbrT,EAAI,OACC8lM,GAAE7iM,EAAG,EAAG,sBAAwBjD,EAAIiD,EAAEnI,EAAA,GACxCkF,EAAI,GAAKA,EAAI,IACZA,EAAG,CACLiD,EAAEs0E,GAAK,IACHt0E,EAAEolE,KAAOplE,EAAEyyE,GAAK6hB,IACpBt0F,EAAG,CACDjD,EAAIiD,EAAEyyE,GAEJz8E,EAAI,GADFoJ,EAAIY,EAAEmlE,IAAA,IAER5lE,EAAI,GAAKH,EACTiC,EAAIjC,EAAI,EACRq9B,EAAI,EAAIz8B,EAAEg1B,EAAI51B,GAAK,EAAIY,EAAEolE,GAAK,EAAI,GAAK,EACvCtjE,GAAK,GAAK9B,EAAEolE,GAAK,EAAI,GAAKhmE,EAAA,IAG5BgD,EAAIpM,EAAI,KAFRoa,EAAM,GAAK,GAAKrT,EAAIk3F,GAAGj0F,EAAEg1B,IAAO,EAAKz1B,IACrCuD,EAAI,MAAQ9C,EAAEylE,IAAM,EAAIzlE,EAAEylE,GAAGh4E,OAASuS,EAAE2yE,GAAG38E,EAAIgK,EAAE2yE,GAAG1hF,EAAI,KAE/CmR,EAAGrF,EAAI,MACX,IACCqF,EAAIpC,EAAE+uE,GAAI,IACZ/uE,EAAE+uE,GAAK,EACP/uE,EAAEqyE,GAAKx6E,EAAEuK,GACTpC,EAAEsyE,GAAK,EACH,MAAQtyE,EAAEqyE,GAAI,CAChBt1E,EAAI8lM,GAAE7iM,EAAG,EAAG,gDACNA,CAAA,CAERA,EAAE+uE,GAAK3sE,CAAA,CAETA,EAAIpC,EAAEqyE,GACNlxE,EAAInB,EAAEsyE,GACNtyE,EAAEiyE,GAAK7vE,EACPpC,EAAEs9F,GAAKn8F,EACPA,GAAKnL,EACLgK,EAAEqpN,GAAKpmK,EAAG1jD,EAAG8hM,IACbrhM,EAAE44E,GAAK,EACP54E,EAAEmsE,GAAKlpB,EAAG5hD,EAAI,EAAG2/L,IACjBhhM,EAAEosE,GAAK,EACPpsE,EAAEilE,GAAKxoC,EAAIwmB,EAAGxmB,EAAGskK,IAAM,KACvB/gM,EAAEk8D,EAAI,EACNl8D,EAAE83D,EAAEyW,GAAK,EACTvuE,EAAE83D,EAAEmN,GAAKjlE,EAAEilE,GACXjlE,EAAE83D,EAAEoE,EAAIl8D,EAAEk8D,EAAA,EACNl8D,EAAEolE,KAAOplE,EAAE83D,EAAEoE,GAAK98D,GACtByB,GAAA,GACAb,EAAE+wE,GAAK3uE,EACPpC,EAAEixE,GAAK9vE,EACPA,GAAK,IACLnB,EAAEklE,GAAKjiB,EAAGnhD,EAAGo/L,IACblhM,EAAEijE,GAAK,EACPjjE,EAAE83D,EAAEoN,GAAKllE,EAAEklE,GACXllE,EAAE83D,EAAEmL,GAAKjjE,EAAEijE,GAAA,GACNjjE,EAAEolE,KAAOplE,EAAE83D,EAAEmL,IAAM7jE,GACxBY,EAAE4mD,EAAI,GAAKxnD,EACXY,EAAE0mD,EAAI,EAAItnD,EAEVA,GADAG,EAAI00F,GAAGj0F,EAAEg1B,IACDh1B,EAAE4mD,EACVrnD,EAAKA,EAAI,EAAKS,EAAE0mD,EAChB1mD,EAAEqkE,GAAKjiE,EACPpC,EAAEskE,GAAKnjE,EAAI/B,EACXY,EAAEykE,GAAKzkE,EAAEqkE,GACTrkE,EAAEokE,GAAKpkE,EAAEskE,GAAK,GAAKvnE,EAAIiD,EAAE4mD,EAAIrnD,EAC7BS,EAAE2lE,GAAK3lE,EAAEykE,GACTzkE,EAAE4lE,GAAK5lE,EAAEokE,GAAK,EAAIrnE,EAAIiD,EAAE0mD,EAAInnD,EAC5BS,EAAEs0E,GAAK,EACPnzE,GAAKiP,EACLpQ,EAAEkpE,GAAKpmE,EAAIV,EAAI,KACfpC,EAAEmpE,GAAKrmE,EAAI3B,EAAI,KACfN,EAAEM,EAAI2B,GAAK9C,EAAEsyE,GAAKtyE,EAAE+uE,IACpB00H,GAAGzjM,GACH/O,EAAE+O,EAAEiyE,GAAIjyE,EAAEs9F,GAAI,EAAGtnG,GACjB+G,EAAI,MAGJA,EAAG,IACLmd,EAAEwpD,GAAK,EACPxpD,EAAE9Y,EAAIpB,EAAEqkE,GACRnqD,EAAE6rC,EAAI/lD,EAAEskE,GACRpqD,EAAE/Y,EAAInB,EAAEykE,GACRvqD,EAAEi+C,EAAIn4D,EAAEokE,GACRlqD,EAAEmpD,GAAKrjE,EAAE2lE,GACTzrD,EAAEihE,GAAKn7E,EAAE4lE,GACT1rD,EAAEopD,GAAKtjE,EAAE4mD,EACT1sC,EAAEi5D,GAAKnzE,EAAE0mD,EACTxsC,EAAE1J,EAAI,KACN0J,EAAEqlD,EAAI,GACDgqJ,GAAI,KACFxsN,GAAK,IAAK,KAAOA,IAAKA,EAAGysN,GAAG,IAAMzsN,GAAK,EAAIA,GAAKA,EAAIA,EAAA,IACpDA,GAAK,KAAM,MAAQA,IAAKA,EAC3B0sN,GAAG,KAAO1sN,IAAM,IAAMA,GAAK,IAAM,IAAMA,EAAI,IAAMA,EAAA,IAC9CA,GAAK,IAAK,KAAOA,IAAKA,EACzB2sN,GAAG,IAAM3sN,IAAM,GAAKA,GAAK,GAAK,GAAKA,EAAI,GAAKA,EAAA,IACzCA,GAAK,IAAK,KAAOA,IAAKA,EACzB4sN,GAAG,IAAM5sN,GAAK,EAAIA,EAAI,EAAI,IAAMA,EAAI,IAAMA,EAC5CwsN,GAAK,EAEPK,GAAKhsI,GACL95B,GAAKk4B,GACL6tI,GAAKzsI,GACL0sI,GAAKpsI,GACLqsI,GAAK5tI,GACL6tI,GAAKvtI,GACLuuG,GAAKpsG,GACLixB,GAAK/uB,GACLmpI,GAAK/oI,GACLgpI,GAAK/pI,GACLgqI,GAAKtrI,GACLurI,GAAKppI,GACLqpI,GAAKv/B,GACLw/B,GAAKzf,GACL0f,GAAKtsI,GACLusI,GAAK9rI,GACL+rI,GAAKhqI,GACLiqI,GAAKlqI,GACLyO,GAAE,GAAKlR,GACPkR,GAAE,GAAKvS,GACPuS,GAAE,GAAKnQ,GACPmQ,GAAE,GAAK9Q,GACP8Q,GAAE,GAAK5O,GACP4O,GAAE,GAAK/O,GACP+O,GAAE,GAAKhzC,GACPgzC,GAAE,GAAK9L,GACP8L,GAAE,GAAKxQ,GACPwQ,GAAE,GAAKtQ,GACP6Q,GAAE,GAAK3R,GACP2R,GAAE,GAAKpT,GACPoT,GAAE,GAAKjS,GACPiS,GAAE,GAAKjT,GACPiT,GAAE,GAAKvT,GACPuT,GAAE,GAAKxR,GACPwR,GAAE,GAAK1R,GACP+Q,GAAG,GAAKxQ,GACRwQ,GAAG,GAAKvS,GACRuS,GAAG,GAAKvQ,GACRuQ,GAAG,GAAK5L,GACR4L,GAAG,GAAKrQ,GACRqQ,GAAG,GAAK7P,GACR6P,GAAG,GAAKrR,GACRzgF,EAAI,OACCA,EAAI,EAEbA,IAAMA,EAAA,SA5bEiD,EAAGka,GAAA,IACRla,EAAE+5D,EAAI,EAAG/5D,EAAE+5D,EAAI/5D,EAAEgnE,KAAMhnE,EAAE+5D,EAAG,KAI7B9W,EAHElmD,EAAIiD,EAAE0yE,GAAG1yE,EAAE+5D,EAAI/5D,EAAEovE,IACnBp5E,EAAIgK,EAAEy8B,EACNrsB,EAAIpQ,EAAA,IAEDijD,EAAI,EAAGA,EAAI7yC,EAAE+0D,KAAMliB,EAAG,KACrBngD,EAAI9M,EACJoM,EAAIgO,EACJjP,EAAIiB,EAAE6vE,GACR7yE,EAAIgD,EAAEk7F,GAAK,EAAIr6C,EACf1jD,EAAI6C,EAAE4vE,GACN3wE,EAAIe,EAAE8iE,GAAG9iE,EAAE6gE,GAAKhgB,GAAA,GAClB7gD,EAAEqkE,GAAGgH,GACApsE,EAAEmuE,GAAKh6E,EAAEsN,EAAGV,EAAEmkE,GAAGwC,GAAG,IACjB,EAAIvzE,EAAEsN,EAAGV,EAAEmkE,GAAGwC,GAAG,IACjBvzE,EAAEsN,EAAGV,EAAEmkE,GAAGwC,GAAG,IAChB1nE,EAAEmuE,GAAK,EACZptE,EAAEyuE,KAAOxvE,EAAE+1E,GAAK5hF,EAAEsN,EAAGV,EAAEo2E,KACvBn3E,EAAE4mE,IAAMzyE,EAAEsN,EAAG,KAAO,EAChBzB,EAAE4mE,GAAI,KACJxrC,EAAIp7B,EAAEotE,GACR3sE,EAAI,MACDM,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAElBtK,EADAsJ,EAAI7B,EAAE,EAAI6C,GAAA,IAETtK,EAAI,EAAG,EAAIA,IAAKA,EAAG,CACtBsJ,EAAIutF,GAAGxtF,EAAE/B,EAAItH,IAAIsJ,GAAA,IACZ,IAAIyB,EAAI8sF,GAAGn6F,EAAEsN,EAAG1B,EAAE,KAAM,EAAIyB,GAC/BA,EAAI8sF,GAAG,EAAI9sF,EAAIrN,EAAEsN,EAAG1B,EAAEyB,KACxBzB,GAAKyB,EACL1B,EAAE/B,EAAItH,GAAKsJ,CAAA,CAEbnB,EAAEw8B,EAAG36B,EAAGX,EAAG/B,EAAG,GACd0C,GAAK,EACLvC,EAAE,EAAI6C,GAAKhB,CAAA,OAGZA,EAAI5L,EAAEsN,EAAG,KAAQtN,EAAEsN,EAAG,KAAO,EAAI,EAAKtN,EAAEsN,EAAG,KAAO,EAAI,EACpDzB,EAAEotE,GAAG,GAAKrtE,EACXnQ,EAAEkQ,EAAG/B,EAAGgC,EAAG,GACXnQ,EAAEsO,EAAG,EAAG6B,EAAG,GACfC,EAAEo3E,GAAKjjF,EAAEsN,EAAG,KAAQtN,EAAEsN,EAAG,KAAQtN,EAAEsN,EAAG,KAAO,EAAI,EAAK,EAAK,KAEzDsN,EAAEqsB,EAAEqpC,GAAI,OAAO+8H,GAAE7iM,EAAG,EAAG,iDACpBA,EAAEyjE,GAAKzjE,EAAEmlE,KAAMnlE,EAAEyjE,GAAI,IAE1BrzD,EAAIrT,EACJ+F,GAFA9M,EAAIgK,GAEEmsE,GAAGn2E,EAAEo2E,GAAK,GAChBjrE,EAAInL,EAAEm2E,GAAGn2E,EAAEo2E,GAAKp2E,EAAEytE,IAClBxgB,EAAIjtD,EAAEkvE,GAAGlvE,EAAEitE,GAAKjtE,EAAEytE,IACbrkE,EAAIpJ,EAAE66E,GAAK5tB,EAAEm0B,GAAK,EACpBt0E,EAAE6gE,GAAKxiE,EAAEwiE,GAAK,EACb1gB,EAAEglB,KAAOnlE,EAAEmjE,GAAK9kE,EAAE8kE,GAAK,GACtBhjB,EAAEuvB,GAAK,EACPvvB,EAAEsvB,GAAK,EACPtvB,EAAEugB,GAAK,MACP,KACCrL,EACFnjC,EAKW,GAJXlyB,EAAI3B,EACJA,EAAIiP,EACJhR,EAAIpJ,EAAEuwE,GAAG2N,GACT30E,EAAIvJ,EAAEkvE,GAAGlvE,EAAEitE,GAAKjtE,EAAEytE,IAClBpiE,EAAIrL,EAAE2zE,GAAGpqE,EAAEiwE,IACbptE,EAAI7C,EAAEg1E,GACN93C,EAAI,EACJ36B,EAAI9L,EAAEm2E,GAAGn2E,EAAEo2E,GAAK,GAChBhrE,EAAItJ,EAAI,EACR7G,EAAEmR,EAAGq6B,EAAG,EAAG,KACPl9B,EAAE0oE,GAAA,IACA33D,EAAI,EACJ1N,EAAIxD,EAAE,OACL,CACLyD,EAAIhL,EAAE,QACFquD,EAAIpjD,EAAEmjE,GAAKnkE,EAAEmkE,GAAA,GACjB/f,EAAIwpC,GAAGvuF,EAAG/B,EAAE,GAAI8mD,EAAG7kD,EAAEwsE,GAAI,EAAGhrE,EAAG,GAC/BC,EAAEmjE,GAAKnkE,EAAEmkE,IAAM,EAAI/f,GAAK,EACpB,EAAIA,EAAG0jK,GAAG/mN,EAAG,EAAGT,EAAGq6B,OAClB,KACCn7B,EAAKuB,EAAE,GAAK,GAAM,MACjBA,EAAI,EAAG,IAAMA,EAAGA,GAAK,GAAIT,EAAEq6B,EAAI55B,GAAKvB,CAAA,CAE3CgP,EAAI,EACJ1N,EAAIxD,EAAE,OAEJkB,EAAW,GAAPwC,EAAE6gE,GACN1d,EAAW,GAAPnkD,EAAE6hE,GAAA,IACL9gE,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClB2N,EAAQ,EAAJy1C,EAAA,IACH3kD,EAAI0zB,EAAI,EAAG,EAAI1zB,IAAKA,EAIpBhB,EAAKA,GAAK,GADVkQ,GADA01C,EAAIwpC,GAAGvuF,EAAGyB,EADZsjD,EAAI11C,GAAS,EAAJlQ,GACSe,EAAE+xE,GAAI9iE,EAAGlO,EAAGq6B,IACpBnsB,IACa,EACrB0kB,EAAKA,GAAK,GAAM,EAAIkxB,EAAI,EAAI,EAAIA,EAAI,EAAI,GAAK9jD,EAAEq6B,EAAI,IACnDA,GAAK,GACVn8B,IAAM,EACN2lD,EAAKA,GAAK,EAAMz1C,GAAK,EACrB1Y,GAAMA,GAAK,EAAKk9B,KAAO,MAEzBpyB,EAAItC,EACJgQ,EAAI21C,GAAK,EACJkS,EAAI,EAAG,EAAIA,EAAGA,GAAK,EAAG,KACzBnjC,EAAI,EACJ10B,EAAIwC,EAAE6gE,IAAO,EAAIxL,EACjBlS,EAAInkD,EAAE6hE,IAAO,EAAIxL,EACZt1D,EAAI,EAAG,EAAIA,IAAKA,EAAG,KACtB2N,EAAQ,EAAJy1C,EACC3kD,EAAI,EAAG,EAAIA,IAAKA,EAClB4kD,EAAI11C,GAAS,EAAJlQ,GAGPA,EAAKA,GAAK,GADVkQ,EAAI,GADJ01C,EAAIwpC,GAAGvuF,EAAG/B,EAAE,GAAI8mD,EAAG7kD,EAAE6xE,GAAI,EAAG9wE,EAAGq6B,MAEV,EACrBzH,EAAKA,GAAK,GAAM,EAAIkxB,EAAI,EAAI,EAAIA,EAAI,EAAI,GAAK9jD,EAAEq6B,EAAI,IACnDA,GAAK,GACVn8B,IAAM,EACN2lD,EAAKA,GAAK,EAAMz1C,GAAK,EAEvBpP,GAAK4zB,GAAM,EAAImjC,EACfv1D,GAAMtC,GAAK,GAAM63D,EACjB7nD,IAAU,IAAJ21C,IAAYkS,CAAA,CAEpBr1D,EAAE6gE,GAAK/gE,EACPd,EAAE6hE,GAAKrzD,EACP/Q,EAAEizE,GAAK16E,EACPyH,EAAEgzE,GAAKnxE,EACP7B,EAAEikE,GAAS,MAAJpiE,EAAY,EAAIC,EAAEmiE,GACzBpkE,IAAMtH,EAAIsJ,EAAA,MAERpL,EAAEg/B,IACFh/B,EAAEivE,GAAGjvE,EAAEkmE,EAAIlmE,EAAEytE,IAAMztE,EAAE8+E,GAAG7xB,EAAEusB,IAAIvsB,EAAEglB,IACjCjyE,EAAEivE,GAAGjvE,EAAEkmE,EAAIlmE,EAAEytE,IAAIsC,KAAO3mE,GACvBgR,EAAE01D,GAAI,OAAO+8H,GAAE7iM,EAAG,EAAG,yCAE3ByjM,GAAGzjM,GAEHhK,EAAIkkB,EACJ9J,EAAI,EACJ6yC,GAHAlmD,EAAIiD,GAGE83D,EACNh1D,EAAI,EAAI/F,EAAEi4B,GAAKj4B,EAAEg9D,GAAKh9D,EAAEwwE,IAAMxwE,EAAEg9D,GAAKh9D,EAAEiqE,GACnC,GAAKjqE,EAAEqoE,GACTplE,EAAG,IACAijD,EAAE8W,EAAIh9D,EAAEg9D,EAAK9W,EAAEsuB,GAAKzuE,EAAImsM,GAAGlyM,EAAGkmD,GAAK7yC,EAAI,EAExC6yC,GADAjuB,EAAIj4B,EAAE+6D,GACAyW,GAENzrE,GADA1B,EAAI6yF,GAAGl3F,EAAEi4B,IACDj4B,EAAE6pD,EACVzlD,EAAKC,EAAI,EAAKrE,EAAE2pD,EAChB7jD,EAAI,GAAKogD,EAAIlmD,EAAE6pD,EACftlD,EAAI,EAAI2hD,EAAIlmD,EAAE2pD,EACdtnD,EAAIrC,EAAEsnE,GACN9kE,EAAIxC,EAAEunE,GAAKxhE,EAAID,EACfxB,EAAItE,EAAE0nE,GACNriE,EAAIrF,EAAEqnE,GAAKjjE,EAAIG,EACfm7B,EAAI1/B,EAAE4oE,GACN7jE,EAAI/E,EAAE6oE,GAAKzkE,EAAIG,EAEf2kD,EAAI,IADJ3lD,EAAI00B,EAAE+kC,GAENjiE,EAAIwI,GAAKvD,EAAEiqE,GAAK,KACXjqE,EAAEqoE,IAAM6pI,GAAGlyM,EAAGi4B,GACfA,EAAEu8C,GACJ,IAAY/gE,GAAP01C,EAAInpD,GAAS+6D,EAAEiC,EAAGl5D,EAAEqlD,EAAE4R,EAAEyZ,IAAKv8C,EAAIkxB,EAAEonB,GAAIt4C,EAAIkxB,EAAE8nB,KAAMh5C,EAAG,CAEzD1kB,EAAI0kB,EACJpyB,EAAI4N,EAAA,IAEF21C,GADEh1D,GAHAsf,EAAIy1C,GAGE4R,GACFyW,GACRpW,EAAI1nD,EAAEm2C,EAAA,IACFz1D,EAAIA,EAAE8zE,GAAG9zE,EAAE+qE,EAAI5rD,GACjBy1C,EAAIt1C,EAAE4zD,GACN3d,EAAIj2C,EAAE6zD,GAAK,GAAKne,EAAIgS,EAAI,GAAK7nD,EAC7BypD,EAAI5oE,EAAEujF,GACNnkE,EAAIpf,EAAEmgF,GAAA,GACJ,GAAK/gE,EACP,GAAK1P,EAAE,GAAK0P,GAAI,GAAKE,EAAEukB,EACrB,EAAI1kB,GAAKk6M,GAAGzkK,EAAGW,EAAGyR,EAAG5nD,EAAI,GACvBpf,EAAE40E,IAAM2kJ,GAAG3kK,EAAGW,EAAGyR,EAAG5nD,GACpB,EAAI3N,GAAK2nN,GAAGxkK,EAAGW,EAAGyR,EAAG5nD,EAAI,GACzBpf,EAAE40E,IAAM0kJ,GAAG1kK,EAAGW,EAAGyR,EAAG5nD,OACnB,KACC+uD,EAAI7uD,EAAEi2C,EACRoR,EAAIrnD,EAAEg0D,GACN7d,EAAIn2C,EAAE2zD,GAAK,EAAIje,EAAImZ,EAAI,EAAIhvD,EAC3B4kB,EAAIzkB,EAAEk1D,GACNl1D,EAAIA,EAAEm1D,GAAK,EAAIzf,EAAImZ,EAAI,EAAIhvD,EAC3B61C,EAAIh1D,EAAEikF,GAAA,EACJ9kE,IACDu/F,GAAG9pD,EAAGW,EAAGyR,EAAG5nD,EAAI,EAAGwpD,EAAG5T,GACvB+jK,GAAGpyJ,EAAGlR,EAAG1xB,EAAGzkB,EAAG6uD,EAAG/uD,EAAI,EAAGwpD,EAAG5T,IAC9Bh1D,EAAE40E,KAAOqkJ,GAAGrkK,EAAGW,EAAGyR,EAAG5nD,EAAGwpD,EAAG5T,GAAImkK,GAAGxyJ,EAAGlR,EAAG1xB,EAAGzkB,EAAG6uD,EAAG/uD,EAAGwpD,EAAG5T,IAAA,EACnDvjD,IACDooL,GAAGjlI,EAAGW,EAAGyR,EAAG5nD,EAAI,EAAGwpD,EAAG5T,GACvB8jK,GAAGnyJ,EAAGlR,EAAG1xB,EAAGzkB,EAAG6uD,EAAG/uD,EAAI,EAAGwpD,EAAG5T,IAC9Bh1D,EAAE40E,KAAOokJ,GAAGpkK,EAAGW,EAAGyR,EAAG5nD,EAAGwpD,EAAG5T,GAAIkkK,GAAGvyJ,EAAGlR,EAAG1xB,EAAGzkB,EAAG6uD,EAAG/uD,EAAGwpD,EAAG5T,GAAA,KAG/DppD,EAAEymE,IAAMykI,MAAM,kBACV,MAAQjyM,EAAE1G,IAAK,IACjB0lC,EAAI,GAAK10B,EACTA,EAAI,IAAMA,EAAI,GACd2lD,GACMjwD,EAAEoL,EAAIrE,EAAEsnE,GACTruE,EAAE+vD,EAAIhpD,EAAEunE,GAAKzhE,EACb7M,EAAEmL,EAAIpE,EAAE0nE,GACRzuE,EAAEmiE,EAAIp7D,EAAEqnE,GAAK9iE,EACbtL,EAAEqtE,GAAKtmE,EAAE4oE,GACT3vE,EAAE4jE,EAAI78D,EAAE6oE,GAAKtkE,IACZ0zB,GAAK5zB,EACNpL,EAAEoL,EAAIhC,EACNpJ,EAAE+vD,EAAIxmD,EACNvJ,EAAEmL,EAAIE,EACNrL,EAAEmiE,EAAI/1D,EACNpM,EAAEqtE,GAAK5mC,EACPzmC,EAAE4jE,EAAI93D,GACXhK,IAAMwI,GAAKc,GACXd,EAAItK,EAAEitD,IAAM3iD,EAAItK,EAAEitD,GAClBjtD,EAAEwa,EAAI,KACNxa,EAAEupE,EAAI,KAEJ,MAAQxiE,EAAE0oE,IACV,EAAI1oE,EAAE0oE,GAAGh4E,QACTunC,EAAI10B,IACFtK,EAAEupE,EAAI0pI,GAAGlsM,EAAG/G,EAAGg/B,EAAG10B,EAAI00B,GACvBh/B,EAAEwa,EAAIzT,EAAEmsE,GACT,MAAQlzE,EAAEwa,GAAK,GAAKxa,EAAEwa,EAAE/iB,QACxB,CACA2iB,EAAIyyL,GAAE9lM,EAAG,EAAG,sCACNiD,CAAA,CAERg1B,EAAIh/B,EAAE7E,IACFiQ,EAAIpL,EAAE7E,EAAI6jC,EACXA,EAAIh/B,EAAE7E,EACP0P,IAAQ,EAAJO,IACHpL,EAAE+vD,GAAKhpD,EAAE6pD,EAAIxlD,EACbpL,EAAEmiE,GAAKp7D,EAAE2pD,GAAKtlD,GAAK,GACnBpL,EAAE4jE,GAAK78D,EAAE2pD,GAAKtlD,GAAK,GACpB,MAAQpL,EAAEwa,IAAMxa,EAAEupE,GAAKvpE,EAAEyM,MAAQrB,IACnC4zB,EAAI10B,IACAtK,EAAE+vD,GAAK/vD,EAAE8L,EACV9L,EAAEmiE,GAAKniE,EAAE8L,GAAK,EACd9L,EAAE4jE,GAAK5jE,EAAE8L,GAAK,EACf,MAAQ9L,EAAEwa,IAAMxa,EAAEupE,GAAKvpE,EAAE8L,GACxB9L,EAAE0tE,GAAK1uC,EAAIh/B,EAAE7E,EACb6E,EAAEya,EAAIza,EAAE+uE,GAAK/uE,EAAE8L,EACf9L,EAAEk/B,EAAI50B,EAAI00B,EACV5kB,EAAIpa,EAAE1G,IAAI0G,GAAA,CAEfitD,EAAI,GAAKlmD,EAAE01E,IACT36E,IACCmI,EAAElD,EAAEsnE,GAAItnE,EAAEunE,GAAKxhE,EAAG1D,EAAGG,EAAI,GAAKxC,EAAE6pD,EAAG9jD,GACpC7C,EAAElD,EAAE0nE,GAAI1nE,EAAEqnE,GAAKjjE,EAAGE,EAAGe,EAAI,EAAIrF,EAAE2pD,EAAGvlD,GAClClB,EAAElD,EAAE4oE,GAAI5oE,EAAE6oE,GAAKzkE,EAAGs7B,EAAG36B,EAAI,EAAI/E,EAAE2pD,EAAGvlD,GAAA,KAEnCiP,EAAG,OAAOyyL,GAAE7iM,EAAG,EAAG,0BAElB,EA4LC,CAAOA,EAAGka,IAAA,MACRA,EAAE+0B,IAAM/0B,EAAE+0B,GAAG/0B,GACrBnd,GAAK,SAEFA,GACLiD,EAAE9B,GAAK,EACAnB,GAFQ,WAIR4gF,GAAG39E,EAAGa,EAAGqZ,EAAGja,EAAGhP,GACtBA,EAAI+O,EAAEa,EAAIqZ,EAAI,GAAKja,IAAMhP,GAAK,GAC9B+O,EAAEa,EAAIqZ,EAAI,GAAKja,IAAU,IAALhP,EAAY,EAAIA,EAAI,EAAI,IAAOA,CAAA,UAE5CorF,GAAGr8E,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,GACzB8lF,GAAG39E,EAAGa,EAAG,EAAGqZ,EAAGja,EAAIhP,GACnB0sF,GAAG39E,EAAGa,EAAG,EAAGqZ,EAAGja,EAAIpI,GACnB8lF,GAAG39E,EAAGa,EAAG,EAAGqZ,EAAGja,EAAIpI,GACnB8lF,GAAG39E,EAAGa,EAAG,EAAGqZ,EAAGja,EAAIhP,EAAA,UAEZwsF,GAAGz9E,GAAA,OACD,MAAQA,GAAM,IAAMA,CAAA,UAEtBm9E,GAAGn9E,EAAGa,EAAGqZ,EAAGja,GAAA,IAEjBhP,EADEgyD,EAAI,EAEJlmD,EAAIlF,EAAE,QACL5G,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClB+E,EAAIgK,EAAEa,EAAI,GAAKb,EAAEa,EAAI,GACrBuP,EAAIpQ,EAAEa,EAAI,GAAKb,EAAEa,EAAI,GACrBiC,GAAM,MAAQ9C,EAAEa,EAAI,IAAO,IAAM48E,GAAGz9E,EAAEa,EAAI,KAC1CuB,EAAIq7E,GAAGz9E,EAAEa,EAAI,KAAQ,MAAQb,EAAEa,EAAI,KAAQ,IAC/C9D,EAAEkmD,EAAI,GAAKjtD,EAAIoM,EACfrF,EAAEkmD,EAAI,GAAK7yC,EAAItN,EACf/F,EAAEkmD,EAAI,GAAK7yC,EAAItN,EACf/F,EAAEkmD,EAAI,GAAKjtD,EAAIoM,EACf6gD,GAAK,EACLpiD,GAAA,KAEG5P,EAAIgyD,EAAI,EAAG,EAAIhyD,IAAKA,EAEpB+E,GADFgK,EAAIjD,EAAEkmD,EAAI,GAAK,GACLlmD,EAAEkmD,EAAI,GACd7yC,EAAIpQ,EAAIjD,EAAEkmD,EAAI,GACdngD,GAAM,MAAQ/F,EAAEkmD,EAAI,IAAO,IAAMw6B,GAAG1gF,EAAEkmD,EAAI,KAE3C06B,GAAGzjE,EAAGja,EAAG,EAAG,EAAGjK,GADdoM,EAAIq7E,GAAG1gF,EAAEkmD,EAAI,KAAQ,MAAQlmD,EAAEkmD,EAAI,KAAQ,MAE5C06B,GAAGzjE,EAAGja,EAAG,EAAG,EAAGmQ,EAAItN,GACnB66E,GAAGzjE,EAAGja,EAAG,EAAG,EAAGmQ,EAAItN,GACnB66E,GAAGzjE,EAAGja,EAAG,EAAG,EAAGjK,EAAIoM,GACnB6gD,IACChjD,GAAK,YAEHw8E,GAAGz8E,EAAGa,EAAGqZ,EAAGja,GAAA,IACfhP,EAAI+O,EAAEa,EAAI,GAAK,EACjBhJ,EAAK,MAAQmI,EAAEa,EAAI,IAAO,GAC1BoiD,EAAIw6B,GAAGz9E,EAAEa,EAAI,IACb9D,EAAK,MAAQiD,EAAEa,EAAI,IAAO,GAE5Bw7E,GAAGniE,EAAGja,EAAG,EAAGhP,EAAIgyD,EADhBjjD,EAAIy9E,GAAGz9E,EAAEa,EAAI,IACS9D,GACtBs/E,GAAGniE,EAAGja,EAAG,EAAGhP,EAAI4G,EAAGmI,EAAGjD,GACtBs/E,GAAGniE,EAAGja,EAAG,EAAGhP,EAAI4G,EAAGmI,EAAGjD,GACtBs/E,GAAGniE,EAAGja,EAAG,EAAGhP,EAAIgyD,EAAGjjD,EAAGjD,EAAA,UAEfi/E,GAAGh8E,EAAGa,EAAGqZ,EAAGja,EAAGhP,GACtBksF,GAAGn9E,EAAGa,EAAGqZ,EAAGja,GACZhP,GAAKksF,GAAGn9E,EAAGa,EAAI,GAAIqZ,EAAGja,EAAI,YAEnBm9E,GAAGp9E,EAAGa,EAAGqZ,EAAGja,GACnB6jD,GAAG9jD,EAAGa,EAAI,EAAGqZ,EAAGja,EAAG,GACnB6jD,GAAG9jD,EAAGa,EAAI,GAAIqZ,EAAGja,EAAI,IAAK,YAEnBy9E,GAAG19E,EAAGa,EAAGqZ,EAAGja,GAAA,IAEfhP,EAAA,IADJ+O,EAAIA,EAAEa,EAAI,GAAK,EAEV5P,EAAI,EAAG,EAAIA,IAAKA,EAAA,IAAQ4P,EAAI,EAAG,EAAIA,IAAKA,EAAG88E,GAAGzjE,EAAGja,EAAGY,EAAG5P,EAAG+O,EAAA,UAExDm8E,GAAGn8E,EAAGa,EAAGqZ,EAAGja,GACnBD,EAAEa,EAAI,IAAMipN,GAAG9pN,EAAGa,EAAI,EAAGqZ,EAAGja,GAC5BD,EAAEa,EAAI,KAAOipN,GAAG9pN,EAAGa,EAAI,GAAIqZ,EAAGja,EAAI,GAClCD,EAAEa,EAAI,KAAOipN,GAAG9pN,EAAGa,EAAI,GAAIqZ,EAAGja,EAAI,KAClCD,EAAEa,EAAI,KAAOipN,GAAG9pN,EAAGa,EAAI,GAAIqZ,EAAGja,EAAI,IAAM,YAEjC29E,GAAG59E,EAAGa,EAAGqZ,EAAGja,GAAA,IAEjBhP,EADEgyD,EAAIprD,EAAE,QAEL5G,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClB8L,EAAIiD,EAAEa,EAAI,EAAI5P,GAAK+O,EAAEa,EAAI,GAAK5P,GAC9B+E,EAAIgK,EAAEa,EAAI,EAAI5P,GAAK+O,EAAEa,EAAI,EAAI5P,GAC7Bmf,EAAIpQ,EAAEa,EAAI,EAAI5P,GAAK+O,EAAEa,EAAI,EAAI5P,GAC7B6R,EAAI9C,EAAEa,EAAI,EAAI5P,GAAK+O,EAAEa,EAAI,GAAK5P,GAClCgyD,EAAE,EAAIhyD,GAAK8L,EAAI/G,EACfitD,EAAE,EAAIhyD,GAAK8L,EAAI/G,EACfitD,EAAE,EAAIhyD,GAAK6R,EAAIsN,EACf6yC,EAAE,GAAKhyD,GAAK6R,EAAIsN,CAAA,KAEbnf,EAAI,EAAG,EAAIA,IAAKA,EAEhB8L,GADFiD,EAAIijD,EAAE,EAAI,EAAIhyD,GAAK,GACTgyD,EAAE,EAAI,EAAIhyD,GAClB+E,EAAIitD,EAAE,EAAI,EAAIhyD,GAAKgyD,EAAE,EAAI,EAAIhyD,GAC7Bmf,EAAI6yC,EAAE,EAAI,EAAIhyD,GAAKgyD,EAAE,EAAI,EAAIhyD,GAC7B6R,EAAI9C,EAAIijD,EAAE,EAAI,EAAIhyD,GAClBipB,EAAEja,EAAI,GAAMlD,EAAI/G,GAAM,EACtBkkB,EAAEja,EAAI,IAAO6C,EAAIsN,GAAM,EACvB8J,EAAEja,EAAI,IAAOlD,EAAI/G,GAAM,EACvBkkB,EAAEja,EAAI,IAAO6C,EAAIsN,GAAM,EACvBnQ,GAAK,YAEHu8E,GAAGx8E,EAAGa,EAAGqZ,GAAA,IAIdja,EAHEhP,EAAI4P,EAAI,GACVhJ,EAAI8yN,GACJ1nK,EAAI,IAAMjjD,EAAE/O,EAAI,OAEbgP,EAAI,EAAGA,EAAIia,IAAKja,EAAG,KAGpBlD,EAFE/G,EAAI6B,EACNuY,EAAI6yC,EAAIjjD,EAAEa,EAAI,OAEX9D,EAAI,EAAGA,EAAImd,IAAKnd,EAAGiD,EAAEa,EAAI9D,GAAK/G,EAAEoa,EAAIpQ,EAAE/O,EAAI8L,IAC/C8D,GAAK,aAGA67E,GAAG18E,EAAGa,GACb27E,GAAGx8E,EAAGa,EAAG,YAEFy7E,GAAGt8E,EAAGa,GACb27E,GAAGx8E,EAAGa,EAAG,YAEFu7E,GAAGp8E,EAAGa,GACb27E,GAAGx8E,EAAGa,EAAG,aAEF08E,GAAGv9E,EAAGa,GAAA,IACTqZ,EAAA,IACCA,EAAI,EAAG,GAAKA,IAAKA,EAAGja,EAAED,EAAGa,EAAI,GAAKqZ,EAAGla,EAAGa,EAAI,GAAI,aAE9C07E,GAAGv8E,EAAGa,GAAA,IACTqZ,EAAA,IACCA,EAAI,GAAI,EAAIA,IAAKA,EAAGjpB,EAAE+O,EAAGa,EAAGb,EAAEa,EAAI,GAAI,IAAMA,GAAK,YAE/Cq8E,GAAGl9E,EAAGa,EAAGqZ,GAAA,IACZja,EAAA,IACCA,EAAI,EAAG,GAAKA,IAAKA,EAAGhP,EAAE4P,EAAGqZ,EAAI,GAAKja,EAAGD,EAAG,aAEtC69E,GAAG79E,EAAGa,GAAA,IAEXqZ,EADEja,EAAI,OAEHia,EAAI,EAAG,GAAKA,IAAKA,EAAGja,GAAKD,EAAEa,EAAI,EAAI,GAAKqZ,GAAKla,EAAEa,EAAIqZ,EAAI,IAC5DgjE,GAAGj9E,GAAK,EAAGD,EAAGa,EAAA,UAEPo7E,GAAGj8E,EAAGa,GAAA,IAEXqZ,EADEja,EAAI,MAEHia,EAAI,EAAG,GAAKA,IAAKA,EAAGja,GAAKD,EAAEa,EAAI,EAAI,GAAKqZ,GAC7CgjE,GAAGj9E,GAAK,EAAGD,EAAGa,EAAA,UAEPm9E,GAAGh+E,EAAGa,GAAA,IAEXqZ,EADEja,EAAI,MAEHia,EAAI,EAAG,GAAKA,IAAKA,EAAGja,GAAKD,EAAEa,EAAIqZ,EAAI,IACxCgjE,GAAGj9E,GAAK,EAAGD,EAAGa,EAAA,UAEPi9E,GAAG99E,EAAGa,GACbq8E,GAAG,IAAKl9E,EAAGa,EAAA,UAEJq+E,GAAEl/E,EAAGa,EAAGqZ,GAAA,OACPla,EAAI,EAAIa,EAAIqZ,EAAI,GAAM,WAEvB4kE,GAAG9+E,EAAGa,GAAA,IAQXqZ,EAPEjpB,EAAI4P,EAAI,GAKoB,IAJ9B5P,EAAI,IAAI6E,WAAW,CACjBopF,GAAEl/E,EAAE/O,EAAI,GAAI+O,EAAE/O,EAAI,GAAI+O,EAAE/O,EAAI,IAC5BiuF,GAAEl/E,EAAE/O,EAAI,GAAI+O,EAAE/O,EAAI,GAAI+O,EAAE/O,EAAI,IAC5BiuF,GAAEl/E,EAAE/O,EAAI,GAAI+O,EAAE/O,EAAI,GAAI+O,EAAE/O,EAAI,IAC5BiuF,GAAEl/E,EAAE/O,EAAI,GAAI+O,EAAE/O,EAAI,GAAI+O,EAAE/O,EAAI,MAG3BipB,EAAI,EAAG,EAAIA,IAAKA,EAAGja,EAAED,EAAGa,EAAI,GAAKqZ,EAAGjpB,EAAG,EAAGA,EAAExD,OAAA,UAE1C0wF,GAAGn+E,EAAGa,GAAA,IACTqZ,EAAIla,EAAEa,EAAI,GACZZ,EAAID,EAAEa,EAAI,EAAI,IACd5P,EAAI+O,EAAEa,EAAI,EAAI,IACdhJ,EAAImI,EAAEa,EAAI,EAAI,IAChBolD,EAAGjmD,EAAGa,EAAI,EAAG,SAAWq+E,GAAEl/E,EAAEa,EAAI,EAAI,IAAKqZ,EAAGja,IAC5CgmD,EAAGjmD,EAAGa,EAAI,GAAI,SAAWq+E,GAAEhlE,EAAGja,EAAGhP,IACjCg1D,EAAGjmD,EAAGa,EAAI,GAAI,SAAWq+E,GAAEj/E,EAAGhP,EAAG4G,IACjCouD,EAAGjmD,EAAGa,EAAI,GAAI,SAAWq+E,GAAEjuF,EAAG4G,EAAGA,GAAA,UAE1BkmF,GAAG/9E,EAAGa,GAAA,IAEXqZ,EADEja,EAAI,MAEHia,EAAI,EAAG,EAAIA,IAAKA,EAAGja,GAAKD,EAAEa,EAAIqZ,EAAI,IAAMla,EAAEa,EAAI,EAAI,GAAKqZ,GAAA,IAC5Dja,IAAM,EACDia,EAAI,EAAG,EAAIA,IAAKA,EAAGjpB,EAAE+O,EAAGa,EAAI,GAAKqZ,EAAGja,EAAG,YAErCogF,GAAGrgF,EAAGa,GAAA,IACTqZ,EAAIla,EAAEa,EAAI,EAAI,GAChBZ,EAAID,EAAEa,EAAI,EAAI,IACd5P,EAAI+O,EAAEa,EAAI,EAAI,IACdhJ,EAAImI,EAAEa,EAAI,EAAI,IACdoiD,EAAIjjD,EAAEa,EAAI,EAAI,IACd9D,EAAIiD,EAAEa,EAAI,EAAI,IACd7K,EAAIgK,EAAEa,EAAI,EAAI,IACduP,EAAIpQ,EAAEa,EAAI,EAAI,IAChBb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEj/E,EAAGhP,EAAG+O,EAAEa,EAAI,EAAI,KAClCb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEhlE,EAAGja,EAAGhP,GACxC+O,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAErnF,EAAGqiB,EAAGja,GACxDD,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,GAAKq+E,GAAEj8B,EAAGprD,EAAGqiB,GACvEla,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,GAAKq+E,GAAEniF,EAAGkmD,EAAGprD,GACvDmI,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,GAAKq+E,GAAElpF,EAAG+G,EAAGkmD,GACvCjjD,EAAEa,EAAI,EAAI,GAAKq+E,GAAE9uE,EAAGpa,EAAG+G,EAAA,UAEhBk/C,GAAGj8C,EAAGa,GAAA,IACTqZ,EAAIla,EAAEa,EAAI,EAAI,IAChBZ,EAAID,EAAEa,EAAI,EAAI,IACd5P,EAAI+O,EAAEa,EAAI,EAAI,IACdhJ,EAAImI,EAAEa,EAAI,EAAI,IACdoiD,EAAIjjD,EAAEa,EAAI,EAAI,IACd9D,EAAIiD,EAAEa,EAAI,EAAI,IACd7K,EAAIgK,EAAEa,EAAI,EAAI,IAChBb,EAAEa,EAAI,EAAI,GAAKq+E,GAAEl/E,EAAEa,EAAI,EAAI,IAAKqZ,EAAGja,GACnCD,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEhlE,EAAGja,EAAGhP,GACvC+O,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEj/E,EAAGhP,EAAG4G,GACvDmI,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEjuF,EAAG4G,EAAGorD,GACvEjjD,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAErnF,EAAGorD,EAAGlmD,GACxDiD,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEj8B,EAAGlmD,EAAG/G,GACxCgK,EAAEa,EAAI,EAAI,IAAMq+E,GAAEniF,EAAG/G,EAAGA,EAAA,UAEjBkqF,GAAGlgF,EAAGa,GAAA,IACTqZ,EAAIla,EAAEa,EAAI,EAAI,GAChBZ,EAAID,EAAEa,EAAI,EAAI,IACd5P,EAAI+O,EAAEa,EAAI,EAAI,IACdhJ,EAAImI,EAAEa,EAAI,EAAI,IACdoiD,EAAIjjD,EAAEa,EAAI,EAAI,IACd9D,EAAIiD,EAAEa,EAAI,EAAI,IACd7K,EAAIgK,EAAEa,EAAI,EAAI,IACduP,EAAIpQ,EAAEa,EAAI,EAAI,IAChBb,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAOhJ,EAAIorD,EAAI,GAAM,EAC9CjjD,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAOoiD,EAAIlmD,EAAI,GAAM,EAC9CiD,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAO9D,EAAI/G,EAAI,GAAM,EAC9CgK,EAAEa,EAAI,EAAI,GAAM7K,EAAIoa,EAAI,GAAM,EAC9BpQ,EAAEa,EAAI,EAAI,IAAMq+E,GAAEjuF,EAAGgP,EAAGia,GACxBla,EAAEa,EAAI,EAAI,IAAMq+E,GAAEj/E,EAAGia,EAAGriB,GACxBmI,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEhlE,EAAGriB,EAAGorD,GACxCjjD,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAErnF,EAAGorD,EAAGlmD,GACxCiD,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEj8B,EAAGlmD,EAAG/G,GACxCgK,EAAEa,EAAI,EAAI,IAAMq+E,GAAEniF,EAAG/G,EAAGoa,EAAA,UAEjB+yE,GAAGnjF,EAAGa,GAAA,IACTqZ,EAAIla,EAAEa,EAAI,EAAI,IAChBZ,EAAID,EAAEa,EAAI,EAAI,IACd5P,EAAI+O,EAAEa,EAAI,EAAI,IACdhJ,EAAImI,EAAEa,EAAI,EAAI,IACdoiD,EAAIjjD,EAAEa,EAAI,EAAI,IACd9D,EAAIiD,EAAEa,EAAI,EAAI,IACd7K,EAAIgK,EAAEa,EAAI,EAAI,IACduP,EAAIpQ,EAAEa,EAAI,EAAI,IAChBb,EAAEa,EAAI,EAAI,GAAMqZ,EAAIja,EAAI,GAAM,EAC9BD,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAOZ,EAAIhP,EAAI,GAAM,EAC9C+O,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAO5P,EAAI4G,EAAI,GAAM,EAC9CmI,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAOhJ,EAAIorD,EAAI,GAAM,EAC9CjjD,EAAEa,EAAI,EAAI,IAAMq+E,GAAEhlE,EAAGja,EAAGhP,GACxB+O,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEj/E,EAAGhP,EAAG4G,GACxCmI,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEjuF,EAAG4G,EAAGorD,GACxCjjD,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAErnF,EAAGorD,EAAGlmD,GACxCiD,EAAEa,EAAI,EAAI,IAAMq+E,GAAEj8B,EAAGlmD,EAAG/G,GACxBgK,EAAEa,EAAI,EAAI,IAAMq+E,GAAEniF,EAAG/G,EAAGoa,EAAA,UAEjBuuE,GAAG3+E,EAAGa,GAAA,IACTqZ,EAAIla,EAAEa,EAAI,EAAI,GAChBZ,EAAID,EAAEa,EAAI,EAAI,IACd5P,EAAI+O,EAAEa,EAAI,EAAI,IACdhJ,EAAImI,EAAEa,EAAI,EAAI,IAChBb,EAAEa,EAAI,EAAI,GAAMqZ,EAAIja,EAAI,GAAM,EAC9BD,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAOZ,EAAIhP,EAAI,GAAM,EAC9C+O,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAO5P,EAAI4G,EAAI,GAAM,EAC/CmI,EAAEa,EAAI,EAAI,GAAKq+E,GAAEhlE,EAAGja,EAAGhP,GACvB+O,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEj/E,EAAGhP,EAAG4G,GACvCmI,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEjuF,EAAG4G,EAAGA,GACxCmI,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMb,EAC9Da,EAAI,EAAI,IACNb,EAAEa,EAAI,EAAI,IAAMhJ,CAAA,UAEb4mF,GAAGz+E,EAAGa,GAAA,IACTqZ,EAAIla,EAAEa,EAAI,EAAI,GAChBZ,EAAID,EAAEa,EAAI,EAAI,IACd5P,EAAI+O,EAAEa,EAAI,EAAI,IACdhJ,EAAImI,EAAEa,EAAI,EAAI,IACdoiD,EAAIjjD,EAAEa,EAAI,EAAI,IACd9D,EAAIiD,EAAEa,EAAI,EAAI,IACd7K,EAAIgK,EAAEa,EAAI,EAAI,IACduP,EAAIpQ,EAAEa,EAAI,EAAI,IAChBb,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAOqZ,EAAI+oC,EAAI,GAAM,EAC9CjjD,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAOZ,EAAIia,EAAI,GAAM,EAC/Cla,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAO5P,EAAIgP,EAAI,GAAM,EAC/CD,EAAEa,EAAI,EAAI,IAAOhJ,EAAI5G,EAAI,GAAM,EAC/B+O,EAAEa,EAAI,EAAI,GAAKq+E,GAAEniF,EAAG/G,EAAGoa,GACvBpQ,EAAEa,EAAI,EAAI,GAAKq+E,GAAEj8B,EAAGlmD,EAAG/G,GACvBgK,EAAEa,EAAI,EAAI,GAAKb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEhlE,EAAG+oC,EAAGlmD,GACvCiD,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEj/E,EAAGia,EAAG+oC,GACxCjjD,EAAEa,EAAI,EAAI,IAAMb,EAAEa,EAAI,EAAI,IAAMq+E,GAAEjuF,EAAGgP,EAAGia,GACxCla,EAAEa,EAAI,EAAI,IAAMq+E,GAAErnF,EAAG5G,EAAGgP,EAAA,UAEjBq+E,GAAGt+E,EAAGa,GAAA,IACTqZ,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAGja,EAAED,EAAGa,EAAI,GAAKqZ,EAAGla,EAAGa,EAAI,GAAI,YAE7CoiF,GAAGjjF,EAAGa,GAAA,IACTqZ,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAGjpB,EAAE+O,EAAGa,EAAGb,EAAEa,EAAI,GAAI,GAAKA,GAAK,YAE7Cu+E,GAAGp/E,EAAGa,EAAGqZ,GAAA,IACZja,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAGhP,EAAE4P,EAAGqZ,EAAI,GAAKja,EAAGD,EAAG,YAErCq+E,GAAGr+E,EAAGa,GAAA,IAEXqZ,EADEja,EAAI,MAEHia,EAAI,EAAG,EAAIA,IAAKA,EAAGja,GAAKD,EAAEa,EAAIqZ,EAAI,IAAMla,EAAEa,EAAI,EAAI,GAAKqZ,GAC5DklE,GAAGn/E,GAAK,EAAGD,EAAGa,EAAA,UAEPm+E,GAAGh/E,EAAGa,GAAA,IAEXqZ,EADEja,EAAI,MAEHia,EAAI,EAAG,EAAIA,IAAKA,EAAGja,GAAKD,EAAEa,EAAIqZ,EAAI,IACvCklE,GAAGn/E,GAAK,EAAGD,EAAGa,EAAA,UAEP29E,GAAGx+E,EAAGa,GAAA,IAEXqZ,EADEja,EAAI,MAEHia,EAAI,EAAG,EAAIA,IAAKA,EAAGja,GAAKD,EAAEa,EAAI,EAAI,GAAKqZ,GAC5CklE,GAAGn/E,GAAK,EAAGD,EAAGa,EAAA,UAEP28E,GAAGx9E,EAAGa,GACbu+E,GAAG,IAAKp/E,EAAGa,EAAA,UAEJ09E,GAAGv+E,EAAGa,EAAGqZ,GAAA,IACZja,EAAID,EAAEa,EAAIqZ,GACZjpB,EAAI+O,EAAEa,EAAI,GACVhJ,EAAI,GAAK5G,EAAIgP,GAAK2qN,GAAG,KAAO5qN,EAAEa,EAAI,EAAIqZ,GAAKla,EAAEa,EAAIqZ,IACjD+oC,EAAIwxJ,GAAG,KAAQ58M,EAAI,GAAM,IAC3BmI,EAAEa,EAAIqZ,GAAKywM,GAAE,IAAM1qN,EAAIw0M,GAAG,KAAQ58M,EAAI,GAAM,KAC5CmI,EAAEa,EAAI,GAAK8pN,GAAE,IAAM15N,EAAIgyD,EAAA,UAEhBm9B,GAAGpgF,EAAGa,EAAGqZ,EAAGja,GAAA,IACfhP,EAAI+O,EAAEa,EAAI,GACZhJ,EAAImI,EAAEa,EAAIqZ,GAAA,OACL2wM,GAAE,IAAM7qN,EAAEa,EAAI,EAAIqZ,GAAKla,EAAEa,EAAIqZ,IAAMja,GAAK4qN,GAAE,IAAMhzN,EAAI5G,GAAKgP,CAAA,UAEzDqgF,GAAGtgF,EAAGa,EAAGqZ,EAAGja,GAAA,OAEjB,EAAI4qN,GAAE,IAAM7qN,EAAEa,EAAIqZ,GAAKla,EAAEa,EAAI,IAAMgqN,GAAE,IAAM7qN,EAAEa,EAAI,EAAIqZ,GAAKla,EAAEa,EAAIqZ,KAAOja,CAAA,UAGlEsgF,GAAGvgF,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IAClB4G,EAAImI,EAAEa,EAAI,EAAIqZ,GAChB+oC,EAAIjjD,EAAEa,EAAI,EAAIqZ,GACdnd,EAAIiD,EAAEa,EAAIqZ,GACVlkB,EAAIgK,EAAEa,EAAI,GACVuP,EAAIpQ,EAAEa,EAAIqZ,GACVpX,EAAI9C,EAAEa,EAAI,EAAIqZ,GACd9X,EAAIpC,EAAEa,EAAI,EAAIqZ,GAAA,OACT,EAAI2wM,GAAE,IAAM9tN,EAAI/G,GAAK60N,GAAE,IAAM5nK,EAAI7yC,GAAKnQ,EACzC,EACA4qN,GAAE,IAAM7qN,EAAEa,EAAI,EAAIqZ,GAAKriB,IAAM5G,GAC3B45N,GAAE,IAAMhzN,EAAIorD,IAAMhyD,GAClB45N,GAAE,IAAM5nK,EAAIlmD,IAAM9L,GAClB45N,GAAE,IAAMzoN,EAAIU,IAAM7R,GAClB45N,GAAE,IAAM/nN,EAAIsN,IAAMnf,GAClB45N,GAAE,IAAMz6M,EAAIpa,IAAM/E,CAAA,UAEjBgtF,GAAGj+E,EAAGa,EAAGqZ,EAAGja,GAAA,IACfhP,EAAI,EAAIgP,EAAI,MACXA,EAAI,EAAG,GAAKA,IAAKA,EAAGqgF,GAAGtgF,EAAGa,EAAIZ,EAAGia,EAAGjpB,IAAMstF,GAAGv+E,EAAGa,EAAIZ,EAAGia,EAAA,UAErDwkE,GAAG1+E,EAAGa,EAAGqZ,EAAGja,GAAA,IACfhP,EAAI,EAAIgP,EAAI,MACXA,EAAI,EAAG,GAAKA,IAAKA,EAAGqgF,GAAGtgF,EAAGa,EAAIZ,EAAIia,EAAG,EAAGjpB,IAAMstF,GAAGv+E,EAAGa,EAAIZ,EAAIia,EAAG,YAE7DumE,GAAGzgF,EAAGa,EAAGqZ,EAAGja,GAAA,IACfhP,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAiBgtF,GAAGj+E,EAAhBa,GAAK,EAAIqZ,EAAaA,EAAGja,EAAA,UAE3CugF,GAAGxgF,EAAGa,EAAGqZ,EAAGja,GAAA,IACfhP,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAaytF,GAAG1+E,EAAZa,GAAK,EAAaqZ,EAAGja,EAAA,UAEvCsoM,GAAGvoM,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,EAAGlmD,GAAA,IAC1BlF,EAAI,EAAIA,EAAI,EAAG,EAAI5G,KAAO,IACzBsvF,GAAGvgF,EAAGa,EAAGqZ,EAAGriB,EAAGorD,GACjB,GAAIm9B,GAAGpgF,EAAGa,EAAGqZ,EAAGnd,GAAIwhF,GAAGv+E,EAAGa,EAAGqZ,OACxB,KACClkB,EAAIgK,EACNoQ,EAAIvP,EACJiC,EAAIoX,EACJ9X,EAAIpM,EAAEoa,EAAI,EAAItN,GACd3B,EAAInL,EAAEoa,EAAItN,GACV1D,EAAIpJ,EAAEoa,EAAI,GACV7Q,EAAIvJ,EAAEoa,EAAItN,GACVzB,EAAIrL,EAAEoa,EAAI,EAAItN,GAEd25B,EAAK,IADL3kC,EAAI8yN,GAAG,KAAO,GAAKxrN,EAAI+B,GAAKypN,GAAG,KAAOxoN,EAAI7C,KAC5B,IAAO,EACrBuC,EAAK,GAAKhK,EAAI,IAAO,EACrBA,EAAK,EAAIA,EAAI,IAAO,EACtB9B,EAAEoa,EAAI,EAAItN,GAAK6nN,GAAE,IAAM30N,EAAEoa,EAAI,EAAItN,GAAKhL,GACtC9B,EAAEoa,EAAI,EAAItN,GAAK6nN,GAAE,IAAMvoN,EAAIN,GAC3B9L,EAAEoa,EAAItN,GAAK6nN,GAAE,IAAMxpN,EAAIs7B,GACvBzmC,EAAEoa,EAAI,GAAKu6M,GAAE,IAAMvrN,EAAIq9B,GACvBzmC,EAAEoa,EAAItN,GAAK6nN,GAAE,IAAMprN,EAAIuC,GACvB9L,EAAEoa,EAAI,EAAItN,GAAK6nN,GAAE,IAAMtpN,EAAIvJ,EAAA,CAE/B+I,GAAKZ,CAAA,WAGA8gF,GAAG/gF,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,EAAGlmD,GAAA,IAC1BlF,EAAI,EAAIA,EAAI,EAAG,EAAI5G,KAAO,IACzBsvF,GAAGvgF,EAAGa,EAAGqZ,EAAGriB,EAAGorD,GACjB,GAAIm9B,GAAGpgF,EAAGa,EAAGqZ,EAAGnd,GAAIwhF,GAAGv+E,EAAGa,EAAGqZ,OACxB,KACClkB,EAAIgK,EACNoQ,EAAIvP,EACJiC,EAAIoX,EACJ9X,EAAIpM,EAAEoa,EAAItN,GACV3B,EAAInL,EAAEoa,EAAI,GACVhR,EAAIpJ,EAAEoa,EAAItN,GAEVvD,EAAIk1M,GAAG,KAAY,GADnBpzM,EAAI,GAAKF,EAAIiB,KACY,IACzBf,EAAIozM,GAAG,KAAQpzM,EAAI,GAAM,IACzBo7B,EAAKl9B,EAAI,GAAM,EACjBvJ,EAAEoa,EAAI,EAAItN,GAAK6nN,GAAE,IAAM30N,EAAEoa,EAAI,EAAItN,GAAK25B,GACtCzmC,EAAEoa,EAAItN,GAAK6nN,GAAE,IAAMvoN,EAAIf,GACvBrL,EAAEoa,EAAI,GAAKu6M,GAAE,IAAMxpN,EAAI5B,GACvBvJ,EAAEoa,EAAItN,GAAK6nN,GAAE,IAAMvrN,EAAIq9B,EAAA,CAE3B57B,GAAKZ,CAAA,WAGA2+E,GAAG5+E,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,GACzB0wM,GAAGvoM,EAAGa,EAAGqZ,EAAG,EAAG,GAAIja,EAAGhP,EAAG4G,EAAA,UAElBipF,GAAG9gF,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,GACzB0wM,GAAGvoM,EAAGa,EAAG,EAAGqZ,EAAG,GAAIja,EAAGhP,EAAG4G,EAAA,UAElBgnF,GAAG7+E,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,GAAA,IACrBorD,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAiB89B,GAAG/gF,EAAhBa,GAAK,EAAIqZ,EAAaA,EAAG,EAAG,GAAIja,EAAGhP,EAAG4G,EAAA,UAExDmpF,GAAGhhF,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,GAAA,IACrBorD,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAa89B,GAAG/gF,EAAZa,GAAK,EAAa,EAAGqZ,EAAG,GAAIja,EAAGhP,EAAG4G,EAAA,UAEpDqpF,GAAGlhF,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,EAAGlmD,GAC/BwrM,GAAGvoM,EAAGa,EAAG5P,EAAG,EAAG,EAAG4G,EAAGorD,EAAGlmD,GACxBwrM,GAAGruL,EAAGja,EAAGhP,EAAG,EAAG,EAAG4G,EAAGorD,EAAGlmD,EAAA,UAEjBojF,GAAGngF,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,EAAGlmD,GAC/BwrM,GAAGvoM,EAAGa,EAAG,EAAG5P,EAAG,EAAG4G,EAAGorD,EAAGlmD,GACxBwrM,GAAGruL,EAAGja,EAAG,EAAGhP,EAAG,EAAG4G,EAAGorD,EAAGlmD,EAAA,UAEjB+tL,GAAG9qL,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,EAAGlmD,GAC/BgkF,GAAG/gF,EAAGa,EAAI,EAAI5P,EAAGA,EAAG,EAAG,EAAG4G,EAAGorD,EAAGlmD,GAChCgkF,GAAG7mE,EAAGja,EAAI,EAAIhP,EAAGA,EAAG,EAAG,EAAG4G,EAAGorD,EAAGlmD,EAAA,UAEzB8tM,GAAG7qM,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,EAAGlmD,GAC/BgkF,GAAG/gF,EAAGa,EAAI,EAAG,EAAG5P,EAAG,EAAG4G,EAAGorD,EAAGlmD,GAC5BgkF,GAAG7mE,EAAGja,EAAI,EAAG,EAAGhP,EAAG,EAAG4G,EAAGorD,EAAGlmD,EAAA,UAErBmwH,KAAA,KACFlqC,GAAK,IAAI61D,GAAA,KACT5oE,GAAK,QACLL,GAAK,QACLiD,GAAK,QACLT,GAAKzkF,KAAKmlF,GAAKnlF,KAAKmiF,GAAKniF,KAAKwiF,GAAK,OACnCjK,GAAK,IAAIivD,GAAA,KACTqyF,OAAS,OACTv5I,GAAK,kBACLC,GAAK,uBACL+L,GAAK,yBAEHgxH,KAAA,KACF9jM,KAAO,QACP5L,OAAS5N,KAAKwnF,GAAKxnF,KAAK41E,GAAK51E,KAAKkV,EAAI,OACtCggF,GAAK,QACLC,GAAKn1F,KAAK+6E,GAAK/6E,KAAKk4E,GAAKl4E,KAAKm5E,GAAKn5E,KAAK2S,EAAI,WAE1C4qM,KAAA,KACFx7F,GAAK/hH,KAAK63E,GAAK73E,KAAKmK,EAAInK,KAAK4iF,GAAK,OAClCtU,EAAI,QACJp5D,EAAI,WAEFV,KAAA,KACF0iE,GAAK,OACL4C,GAAK,IAAI1N,EAAA,KACTiT,GAAK,IAAIjT,EAAA,KACTsb,GAAK1nF,KAAKmkF,GAAKnkF,KAAKmuG,GAAK,OACzBjqB,GAAK,QACL3C,GAAK,OACLtH,GAAK,IAAIxoE,EAAA,KACT2yE,GAAK,IAAI3vE,CAAA,UAEP+oM,KAAA,KACFh+H,GAAKx/E,KAAKkK,EAAI,OACduK,EAAI,IAAIogM,GAAA,KACRt/H,GAAK,IAAI21E,GAAA,KACT5jH,EAAI,QACJowC,GAAK,OACL0B,GAAK,QACLS,GAAK,OACL/qC,EAAI,IAAI07B,EAAA,KACRuW,GAAK,OACL8H,GAAK,IAAIre,EAAA,KACT6N,GAAKr4E,KAAKi2L,EAAIj2L,KAAKw4D,EAAIx4D,KAAKsD,EAAItD,KAAKqI,EAAIrI,KAAK8oF,GAAK,OACnD15E,EAAI,IAAIoF,GAAA,KACR6sC,GAAK,OACLqhC,GAAKptB,EAAG,EAAGioJ,IAAA,KACXn4H,GAAK,WAEHs4H,KAAA,KACFz4H,GAAKjlF,KAAK+iB,EAAI/iB,KAAKo1F,GAAKp1F,KAAKsD,EAAItD,KAAKqI,EAAI,OAC1CoM,EAAI,IAAIogM,GAAA,KACR/xH,GAAK,OACLvN,GAAK,QACLmJ,GAAK,OACLsJ,GAAK,UACLC,GAAK,WAEH01H,GAAGtrM,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,GAAA,IAC5BjjD,EAAI,MAAQA,EAAI,EAAIA,EAAEa,EAAI,GACrBA,EAAI,EAAGA,EAAIoiD,IAAKpiD,EAAI5P,EAAE4G,EAAIgJ,GAAMb,EAAIka,EAAEja,EAAIY,GAAM,IAAOb,EAAI/O,EAAE4G,EAAIgJ,EAAA,UAE/D4pG,GAAGzqG,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,GAAA,IAGtBlmD,EAAA,GAFF,MAAQiD,EAAGsrM,GAAG,KAAM,KAAMpxL,EAAGja,EAAGhP,EAAG4G,EAAGorD,QAAA,IAGnClmD,EAAI,EAAGA,EAAIkmD,IAAKlmD,EAAG9L,EAAE4G,EAAIkF,GAAMiD,EAAEa,EAAI9D,GAAKmd,EAAEja,EAAIlD,GAAM,aAGtD2vE,GAAG1sE,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,GAAA,GACxB,MAAQjjD,EAAGsrM,GAAG,KAAM,KAAMpxL,EAAGja,EAAGhP,EAAG4G,EAAGorD,OACrC,KAIDlmD,EAHE/G,EAAIgK,EAAEa,EAAI,GACZuP,EAAIpa,EACJ8M,EAAI9M,EAAA,IAED+G,EAAI,EAAGA,EAAIkmD,IAAKlmD,EAEhBqT,EAAItN,GADN9M,EAAIgK,EAAEa,EAAI9D,IACIqT,EACZtN,EAAKoX,EAAEja,EAAIlD,KAAW,IAALqT,EAAY,EAAIA,EAAI,EAAI,IAAOA,GAAM,IACtDA,EAAIpa,EACJ/E,EAAE4G,EAAIkF,GAAK+F,CAAA,WAGXmmM,GAAGjpM,EAAGka,EAAGjpB,EAAGgyD,GAAA,IACflmD,EAAImd,EAAEzX,MACRzM,EAAIkkB,EAAE+oC,EAAA,GACRpiD,EAAE,MAAQb,GAAK,MAAQka,GACnB,EAAIjpB,GAAK,GAAKgyD,GAAKhyD,EAAIgyD,EAAIjtD,EAAG,OAAO,SACpCgK,EAAEmyE,GAAI,IACL,MAAQnyE,EAAEspN,GAAI,KAEZl5M,EAAA,GADJpQ,EAAEspN,GAAK,IAAIje,IAEVj7L,EAAI,MAAQpQ,EAAEspN,MACXl5M,EAAI8J,EAAEzX,MAAQyX,EAAE+oC,EAClBpiD,EAAE,GAAKb,EAAE+tE,GAAGtgF,QACXuS,EAAE+tE,GAAKl2E,EAAEuY,GACTpQ,EAAEg1E,GAAK,EACR,MAAQh1E,EAAE+tE,GACL39D,EAAI,GACHpQ,EAAEkpE,GAAKlpE,EAAE+tE,GAAM/tE,EAAEmpE,GAAKnpE,EAAEg1E,GAAMh1E,EAAEqxE,GAAK,KAAQjhE,EAAI,GACtDA,GAAKA,IACHA,EAAG,CACNA,EAAIpQ,EAAEspN,GAAA,IACFxmN,EAAI9C,EAAEylE,GACRrjE,EAAIpC,EAAEM,EACNa,EAAInB,EAAEkxE,GACN9xE,EAAIY,EAAEkpE,GACN3pE,EAAIS,EAAEmpE,GACN9nE,EAAIe,EAAI,EACRq6B,EAAIt7B,EAAI,EACRrJ,EAAIsY,EAAEhO,EAAA,GACRvB,EAAE,MAAQiC,GAAK,MAAQ1D,GAAK,MAAQ8a,GACpCu1E,GAAG,GAAK,KACRA,GAAG,GAAK67G,GACR77G,GAAG,GAAKgb,GACRhb,GAAG,GAAK/iB,GACRt8D,EAAE8yD,GAAK9jE,EACPgR,EAAEi8D,GAAK9sE,EACP6Q,EAAEpa,EAAIkkB,EAAEzX,MACR2N,EAAEnf,EAAIipB,EAAExX,OACR7B,EAAE,EAAIuP,EAAEpa,GAAK,EAAIoa,EAAEnf,GACf,GAAKkQ,EAAG+Y,EAAI,OACX,GACD9J,EAAE2yE,GAAuB,EAAjBjgF,EAAEV,EAAI,GACfgO,EAAEM,EAAK5N,EAAEV,EAAI,IAAM,EAAK,EACxBgO,EAAEwiE,GAAM9vE,EAAEV,EAAI,IAAM,EAAK,EACzBA,EAAKU,EAAEV,EAAI,IAAM,EAAK,EACvB,EAAIgO,EAAE2yE,IAAM,EAAI3yE,EAAE2yE,IAAM,GAAK3yE,EAAEM,GAAK,EAAIN,EAAEwiE,IAAMxwE,EAEhD8X,EAAI,OACD,GACDpiB,EAAExI,IAAMw/H,GACTh3H,EAAE23E,GAAK8sE,GACPzkJ,EAAEm3C,GAAKwhH,GACP34J,EAAE8rE,GAAKxzD,EACPtY,EAAE2K,MAAQyX,EAAEzX,MACZ3K,EAAE4K,OAASwX,EAAExX,OACb5K,EAAEytE,GAAKrrD,EAAEqrD,GACTztE,EAAEgK,EAAIoY,EAAEpY,EACRhK,EAAEitE,GAAK7qD,EAAE6qD,GACTjtE,EAAE3G,EAAI+oB,EAAE/oB,EACR2G,EAAEmrD,EAAI/oC,EAAE+oC,EACT7yC,EAAE2yE,GAEF/iF,EAAG,CACDa,EAAE,GAAKuP,EAAE2yE,IAAM7oE,EAAImmL,KACnBx/L,EAAG,OAAS,IACN,MAAQqZ,EAAG,CACbA,EAAI,QACEla,CAAA,IAERa,EAAE,MAAQuP,GACVA,EAAEqtF,GAAKvjF,EACPA,EAAElkB,EAAIoa,EAAEpa,EACRkkB,EAAEjpB,EAAImf,EAAEnf,EACRipB,EAAE9X,EAAIgO,EAAEhO,EACR8X,EAAE9X,EAAEwhE,GAAKxzD,EACT8J,EAAE9X,EAAEK,MAAQ2N,EAAEpa,EACdkkB,EAAE9X,EAAEM,OAAS0N,EAAEnf,EACfipB,EAAEriB,EAAI,EACNiK,EAAGoY,EAAEuiB,EAAG35B,EAAGzB,EAAGo7B,IACT6jK,GAAGlwL,EAAEpa,EAAGoa,EAAEnf,EAAG,EAAGipB,EAAG,MAAO,MAAMrZ,EAAA,MAChCqZ,EAAE80B,IAAM,GAAK90B,EAAEm2D,GAAG,GAAGE,IAAMgvH,GAAGrlL,EAAEnd,IAC/BqT,EAAEqgE,GAAK,EACR3tE,EAAIoX,EAAElkB,EAAIkkB,EAAEjpB,EACZipB,EAAE6sD,GAAK,KACP7sD,EAAEstD,GAAK,EACPttD,EAAE+a,EAAIp9B,EAAEiL,GACRoX,EAAEmrD,GAAK,EACR,MAAQnrD,EAAE+a,GAAM/a,EAAEriB,EAAI,EAAKqiB,EAAI,GAAOA,EAAI,IACxC9J,EAAEqgE,GAAK,EAAKv2D,EAAIqmL,GAAGrmL,EAAG9J,EAAEpa,KACzBkkB,EAAG,MAAMrZ,EACdqZ,EAAI,QACEla,CAAA,CAERoQ,EAAEqtF,GAAK,KACPvjF,EAAI,OAEHA,EAAIuiB,GAAKrsB,EAAEpa,EAAIoa,EAAEnf,EACtBmf,GAAK8J,CAAA,IAEH9J,EAAG,OAAO,QACTpQ,EAAEspN,GAAG12I,GAAM5yE,EAAE0lE,GAAK,EAAMziB,EAAIjtD,EAAI/E,CAAA,CAEvC4P,EAAE,MAAQb,EAAEspN,IACZzoN,EAAE5P,EAAIgyD,GAAKjtD,GACXgK,EAAG,IAEDka,GADApX,EAAI9C,EAAEspN,IACAtzN,EACNA,EAAI8M,EAAEV,EAAE6gD,EACJ,GAAKngD,EAAEigF,GAAI,IACb1hF,EAAIrB,EAAEqxE,GACN50C,EAAIz8B,EAAE6zE,GACN/7E,EAAIkI,EAAEylE,GACNrjE,EAAIpC,EAAEM,EAAI,EAAIrP,EAAIipB,EAClB/Y,EAAInB,EAAEkpE,GACN9pE,EAAIY,EAAEmpE,GAAKl4E,EAAIipB,EACfrZ,EAAEuB,GAAKpC,EAAEM,EAAIN,EAAEkxE,IACX,GAAKpuE,EAAE4N,EACT,IAAK7P,EAAE,MAAQ4uF,GAAG3sF,EAAE4N,IAAKN,EAAI,EAAGA,EAAI6yC,IAAK7yC,EACvCq/E,GAAG3sF,EAAE4N,GAAGrP,EAAGo7B,EAAG3kC,EAAGsK,EAAGjB,EAAG/B,EAAG8a,GACvB7Y,EAAIF,EACJs7B,EAAIr9B,EACJA,GAAK8a,EACL9X,GAAK8X,OAEV,IAAK9J,EAAI,EAAGA,EAAI6yC,IAAK7yC,EACnBnQ,EAAEkB,EAAG/B,EAAGtH,EAAGsK,EAAG8X,GAAK7Y,EAAIF,EAAKs7B,EAAIr9B,EAAKA,GAAK8a,EAAK9X,GAAK8X,EACxDla,EAAEqxE,GAAKhwE,EACPrB,EAAE6zE,GAAKp3C,CAAA,KACF,IACL57B,EAAE,MAAQiC,EAAE26F,IACZvjF,EAAIjpB,EAAIgyD,EAERpiD,EAAE,OADFuP,EAAItN,EAAE26F,KAEN58F,EAAEqZ,GAAK9J,EAAEnf,GACLmf,EAAE+1C,GAAKjsC,EAAGA,EAAI,OACb,GAAKpX,EAAE2tE,IAAM87H,KAAMzpM,EAAE2tE,GAAK,CACzB3tE,EAAIsN,EAAE6kB,EACR5zB,EAAI+O,EAAEi1D,GACN5oC,EAAIrsB,EAAEpa,EAAA,IACNoL,EAAIgP,EAAEnf,EAMN4R,GALA/K,EAAI,EACJsK,EAAIgO,EAAEwzK,EAAInnJ,EACVt7B,EAAIiP,EAAEwzK,EAAInnJ,EACVr9B,EAAIgR,EAAEqsB,EACNl9B,EAAI6Q,EAAErT,EACFqT,EAAEwzK,GACNzrH,EAAI17B,EAAIr7B,EACR4zB,EAAIyH,EAAIviB,EACRtX,EAAIrD,EAAEu8F,GACNx6F,EAAIuB,EAAImyB,EAAI+sG,GAAGxiI,EAAG4B,EAAGiB,GAAK,KAC5BvB,EAAEgC,GAAKs1D,GACPt3D,EAAEqZ,GAAK9Y,GACPP,EAAE0+L,GAAGhgM,IACLsB,EAAG,OAAS,OACFzB,EAAE0D,GAAKD,EAAImyB,GAAK,IACtB7zB,EAAIyB,IAAMtB,EAAIygI,GAAGxiI,EAAG4B,EAAGiB,IACvBvB,EAAE,MAAQS,GACV4kD,EAAG9mD,GAEC,KADJgC,EAAI6tH,GAAG3tH,EAAEw6D,EAAE,GAAIx6D,EAAE+4D,EAAE,GAAIj7D,IAEpB0D,EAAEzB,EAAIwB,GAAKzB,IACRyB,IACA1B,GACGs7B,IAAOt7B,EAAI,IAAMiB,GAAQ8X,KAAO9X,EAAI,KAAO+9L,GAAG/vL,EAAGhO,QACrD,MAAI,IAAMhB,GAiBR,CACLtJ,EAAI,QACE+I,CAAA,CAlBFO,EAAI8wH,GAAG9wH,EAAI,IAAKhC,GAAA,IAMdkB,EALF9K,EAAIy5H,GAAG3tH,EAAEw6D,EAAE,GAAIx6D,EAAE+4D,EAAE,GAAIj7D,GAAA,GAC3B8mD,EAAG9mD,KAGCyD,IADJrN,EAAIopM,GAAGniK,EADPjnC,EAAI08H,GAAG18H,EAAG4J,MAEI+4D,EAAIt1D,GAAKzB,GAGhB,CACLtJ,EAAI,QACE+I,CAAA,KAHDP,EAAI,EAAGA,EAAIc,IAAKd,EAAGwC,EAAEzB,EAAIwB,EAAIvC,GAAKwC,EAAEzB,EAAIwB,EAAIvC,EAAI9K,GAAA,IAKvDqN,GAAKzB,EACAD,GAAKC,EAAGD,GAAKs7B,GACft7B,GAAKs7B,IAAMr6B,GAAQ8X,KAAO9X,EAAI,KAAO+9L,GAAG/vL,EAAGhO,GAC9CS,EAAImyB,GAAK7zB,EAAIyB,IAAMtB,EAAIygI,GAAGxiI,EAAG4B,EAAGiB,GAAA,CAKlCvB,EAAEzB,EAAE0D,GAAKwN,EAAGlR,GAAA,CAEd+gM,GAAG/vL,EAAGhO,EAAI8X,EAAIA,EAAI9X,GAAA,MACZvB,CAAA,EAEP/I,GAAMsH,EAAE0D,GAAKD,EAAIs1D,GAAOrgE,EAAI,EAAKsY,EAAEvY,EAAIuH,EAAE0D,EAAI,EAAI,GAAOsN,EAAEwzK,EAAI/gL,EAC/DqX,EAAIpiB,CAAA,MACCoiB,EAAIsoC,GAAGpyC,EAAGA,EAAE6kB,EAAG7kB,EAAEi1D,GAAIj1D,EAAEpa,EAAGoa,EAAEnf,EAAGipB,EAAGsmL,IAAA,IACpCtmL,EAAG,CACN+oC,EAAI,QACEjjD,CAAA,EAGV/O,EAAIgyD,GAAKjtD,IAAMgK,EAAEmyE,GAAK,GACtBlvB,EAAI,MAEDA,EAAG,OAAO,QAEbjjD,EAAEmyE,KACW,OAAXlvB,EAAIjjD,EAAEspN,MAAmBrmK,EAAEw6C,GAAK,MAAQz9F,EAAEspN,GAAK,KAAO,EAAItpN,EAAE0lE,IAE9D,OAAOuiI,MAAM,6BAA8B,YAExCjoM,EAAEmpE,GAAKl4E,EAAI8L,CAAA,UAEXgqM,GAAG/mM,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,GAAA,KAClB,EAAI5G,KAAO,KAKdgyD,EAJElmD,EAAIiD,EACNhK,EAAI6K,GAAKqZ,EAAI,EAAI,GACjB9J,EAAIpQ,EACJ8C,EAAIjC,GAAKqZ,EAAI,EAAI,OAEd+oC,EAAI,EAAGA,EAAIhjD,IAAKgjD,EAAG,KAClB7gD,EAAIgO,EAAEtN,EAAI,EAAImgD,GAAA,KACX7gD,IACHA,GAAK,MACNrF,EAAE/G,EAAI,EAAIitD,EAAI,GAAMlmD,EAAE/G,EAAI,EAAIitD,EAAI,GAAK7gD,GAAM,GAC7CrF,EAAE/G,EAAI,EAAIitD,EAAI,GAAMlmD,EAAE/G,EAAI,EAAIitD,EAAI,GAAK7gD,GAAM,GAC7CrF,EAAE/G,EAAI,EAAIitD,EAAI,GAAMlmD,EAAE/G,EAAI,EAAIitD,EAAI,GAAK7gD,GAAM,IAElDvB,GAAKhJ,CAAA,WAGAo0M,GAAGjsM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,KACf,EAAIgP,KAAO,KACZpI,EAAA,IACCA,EAAI,EAAGA,EAAIqiB,IAAKriB,EAAG,KAClBorD,EAAIjjD,EAAEa,EAAI,EAAIhJ,EAAI,GAEpBkF,EAAQ,IADRqT,EAAIpQ,EAAEa,EAAI,EAAIhJ,EAAI,IAElB7B,EAAI,KAAO+G,EACXqT,GAAW,IAAJA,EAAYA,GAAK,GAAMpa,GAAM,GACtCgK,EAAEa,EAAI,EAAIhJ,EAAI,IACH,IAAJorD,EAAYA,GAAK,GAAMjtD,GAAM,GAAM,KAC9B,GAAJitD,EAAWA,GAAK,GAAMjtD,GAAM,IAAO,EAAK,GAChDgK,EAAEa,EAAI,EAAIhJ,EAAI,GAAU,IAAJuY,EAAWrT,CAAA,CAEjC8D,GAAK5P,CAAA,WAGA61M,GAAG9mM,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAG4G,EAAGorD,EAAGlmD,GAAA,IAE7B/G,EACAoa,EAFEtN,EAAI,QAGHsN,EAAI,EAAGA,EAAInf,IAAKmf,EAAG,KACjBpa,EAAI,EAAGA,EAAIiK,IAAKjK,EAAG,KAClBoM,EAAIpC,EAAEa,EAAI7K,GACd6B,EAAEorD,EAAI,EAAIjtD,GAAKoM,EACfU,GAAKV,CAAA,CAEPvB,GAAKqZ,EACL+oC,GAAKlmD,CAAA,QAEA,KAAO+F,CAAA,UAEPupM,GAAGrsM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IAClB4G,EAAA,IACCA,EAAI,EAAGA,EAAI5G,IAAK4G,EAAGqiB,EAAEja,EAAIpI,GAAKmI,EAAEa,EAAIhJ,IAAM,WAExC00M,KACP8a,GAAKtgB,GACLshB,GAAKpc,GACLmb,GAAKtgB,GACL3oD,GAAKkuD,EAAA,UAEEI,GAAGvyL,EAAGja,EAAGhP,GAChB+O,EAAKka,GAAK,SAASla,EAAGka,EAAGriB,EAAGorD,EAAGlmD,EAAG/G,EAAGoa,EAAGtN,EAAGV,EAAGjB,EAAG/B,EAAGG,EAAG8B,EAAGo7B,EAAG36B,EAAGhK,EAAGsJ,GAAA,IAC7DyB,EACFs1D,EAAK/2D,EAAI,GAAM,EACb4zB,EAAIj4B,EAAE/G,EAAI,GAAMoa,EAAEtN,EAAI,IAAM,GAC5BwN,EAAIlO,EAAEjB,EAAI,GAAM/B,EAAEG,EAAI,IAAM,GAChCsB,EAAE,MAAQb,GAAA,IACN4C,EAAK,EAAIoyB,EAAI1kB,EAAI,QAAW,MAChCrQ,EAAED,EAAEka,EAAI,GAAQ,IAAJtX,EAASA,GAAK,GAAIvB,EAAGo7B,GAAA,MACzB5kC,IACJ+K,EAAK,EAAI0N,EAAI0kB,EAAI,QAAW,EAC9B/0B,EAAEpI,EAAEorD,EAAI,GAAQ,IAAJrgD,EAASA,GAAK,GAAId,EAAGhK,IAC9B+K,EAAI,EAAGA,GAAKs1D,IAAKt1D,EAAG,KACnBqjD,EAAInpD,EAAE/G,EAAI6M,GAAMuN,EAAEtN,EAAID,IAAM,GAC5BvB,EAAIc,EAAEjB,EAAI0B,GAAMzD,EAAEG,EAAIsD,IAAM,GAC5BvC,EAAI00B,EAAIkxB,EAAI51C,EAAIhP,EAAI,OACpB9L,EAAK8K,EAAI,GAAK4lD,EAAI51C,IAAO,EAE7B1N,EAAKpN,EAAIw/B,GAAM,EACfA,GAFA10B,EAAKA,EAAI,GAAK00B,EAAI1zB,IAAO,GAEhB4kD,GAAM,EACfjmD,EAAED,EAAEka,EAAI,EAAIrX,EAAI,GAAQ,IAAJD,EAASA,GAAK,GAAIvB,EAAGo7B,GAAK,EAAI55B,EAAI,GAAK5R,GAC3DgP,EAAED,EAAEka,EAAI,EAAIrX,EAAI,GAAQ,IAAJmyB,EAASA,GAAK,GAAI3zB,EAAGo7B,GAAK,EAAI55B,EAAI,GAAK5R,GAAA,MACnD4G,IACJ+K,EAAKtC,EAAIgQ,GAAM,EAChB0kB,EAAKx/B,EAAI8L,GAAM,EAChBrB,EAAEpI,EAAEorD,EAAI,EAAIpgD,EAAI,GAAQ,IAAJD,EAASA,GAAK,GAAId,EAAGhK,GAAK,EAAI+K,EAAI,GAAK5R,GAC3DgP,EAAEpI,EAAEorD,EAAI,EAAIpgD,EAAI,GAAQ,IAAJmyB,EAASA,GAAK,GAAIlzB,EAAGhK,GAAK,EAAI+K,EAAI,GAAK5R,IAC7D+jC,EAAIkxB,EACJ51C,EAAIhP,CAAA,CAEF,EAAJF,IACIwB,EAAK,EAAIoyB,EAAI1kB,EAAI,QAAW,EAC9BrQ,EAAED,EAAEka,EAAI9Y,EAAI,GAAQ,IAAJwB,EAASA,GAAK,GAAIvB,EAAGo7B,GAAKr7B,EAAI,GAAKnQ,GACnD,MAAQ4G,IACJ+K,EAAK,EAAI0N,EAAI0kB,EAAI,QAAW,EAC9B/0B,EAAEpI,EAAEorD,EAAI7hD,EAAI,GAAQ,IAAJwB,EAASA,GAAK,GAAId,EAAGhK,GAAKsJ,EAAI,GAAKnQ,IAAA,WAGlDu7E,KACP0jB,GAAE83H,IAAMt5H,GACRwB,GAAEo3H,IAAMn3H,GACRD,GAAEowD,IAAMjwD,GACRH,GAAEo3E,IAAM3zE,GACRzD,GAAEi3H,IAAM3zH,GACRtD,GAAEq3H,IAAMh3H,GACRL,GAAEo4H,IAAMl4H,GACRF,GAAEy2H,IAAMx2H,GACRD,GAAE02H,IAAMjzH,GACRzD,GAAE22H,IAAMrzH,GACRtD,GAAE42H,IAAMv2H,EAAA,UAED85G,GAAGrqM,GAAA,OACHA,GAAKqyF,GAAM,EAAIryF,EAAI,EAAI,IAAOA,GAAK8yF,EAAA,UAEnC+5G,GAAG7sM,EAAGa,GAAA,OACNwpM,IAAK,MAAQrqM,GAAM,IAAO,MAAQa,GAAM,GAAK,gBAE7CksM,GAAG/sM,EAAGa,EAAGqZ,GAAA,OACTmwL,IACH,MAAQrqM,GAAM,IAAO,KAAOa,GAAM,IAAO,MAAQqZ,GAAM,GAAK,eAGzD8sL,GAAGhnM,EAAGa,GAAA,OACNwpM,IAAK,MAAQrqM,GAAM,IAAO,MAAQa,GAAM,GAAK,gBAE7CysM,GAAGttM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GACtBgP,EAAEhP,EAAI,GAAK47M,GAAG7sM,EAAGka,GACjBja,EAAEhP,EAAI,GAAK87M,GAAG/sM,EAAGa,EAAGqZ,GACpBja,EAAEhP,EAAI,GAAK+1M,GAAGhnM,EAAGa,EAAA,UAEV0pM,GAAGvqM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GACtBgP,EAAEhP,EAAI,GAAK+1M,GAAGhnM,EAAGa,GACjBZ,EAAEhP,EAAI,GAAK87M,GAAG/sM,EAAGa,EAAGqZ,GACpBja,EAAEhP,EAAI,GAAK47M,GAAG7sM,EAAGka,EAAA,UAEVyzL,GAAG3tM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IAClB4G,EAAIk1M,GAAG/sM,EAAGa,EAAGqZ,GACjBrZ,EAAMhJ,GAAK,EAAK,IAAQmvM,GAAGhnM,EAAGa,IAAM,EACpCZ,EAAEhP,EAAI,GAAiB,IAAX47M,GAAG7sM,EAAGka,GAAariB,GAAK,EACpCoI,EAAEhP,EAAI,GAAK4P,CAAA,UAEJyhD,GAAGtiD,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,IAClB4G,EAAgB,IAAXmvM,GAAGhnM,EAAGa,GAAY,GAC3BZ,EAAEhP,EAAI,GAAiB,IAAX47M,GAAG7sM,EAAGka,GAAa6yL,GAAG/sM,EAAGa,EAAGqZ,IAAM,EAC9Cja,EAAEhP,EAAI,GAAK4G,CAAA,UAEJi2M,GAAG9tM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GACtBgP,EAAEhP,EAAI,GAAK,IACXq8M,GAAGttM,EAAGa,EAAGqZ,EAAGja,EAAGhP,EAAI,YAEZg2M,GAAGjnM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GACtBs5M,GAAGvqM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GACfgP,EAAEhP,EAAI,GAAK,aAEJi2M,GAAGlnM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GACtBq8M,GAAGttM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GACfgP,EAAEhP,EAAI,GAAK,aAEJ8rM,GAAG/8L,EAAGa,GAAA,OACN,EAAIb,EAAI,EAAIA,EAAIa,EAAIA,EAAIb,CAAA,UAExB6uM,GAAGhuM,EAAGqZ,EAAGja,GAChBD,EAAKa,GAAK,SAASb,EAAGa,EAAG5P,EAAG4G,EAAGorD,EAAGlmD,EAAG/G,EAAGoa,EAAGtN,GAAA,IACpC,IAAIV,EAAIgO,IAAU,EAALtN,GAAU7C,EAAGmQ,GAAKhO,GAClC8X,EAAEla,EAAEa,EAAI,GAAI5P,EAAE4G,EAAI,GAAIorD,EAAElmD,EAAI,GAAI/G,EAAGoa,GACjC8J,EAAEla,EAAEa,EAAI,GAAI5P,EAAE4G,EAAI,GAAIorD,EAAElmD,EAAI,GAAI/G,EAAGoa,EAAInQ,GACtCY,GAAK,IACJhJ,IACAkF,EACDqT,GAAK,EAAInQ,EACV,EAAJ6C,GAASoX,EAAEla,EAAEa,EAAI,GAAI5P,EAAE4G,EAAI,GAAIorD,EAAElmD,EAAI,GAAI/G,EAAGoa,EAAA,WAGvCgyL,GAAGpiM,EAAGa,EAAGqZ,GAAA,OACT,GAAKA,EAAK,GAAKla,EAAK,GAAKa,EAAI,EAAI,EAAK,GAAKA,EAAI,EAAI,EAAKqZ,CAAA,UAExDooL,GAAGtiM,EAAGa,EAAGqZ,EAAGja,EAAGhP,GAAA,OACd+O,IAAM,SACP,EACH8jD,GAAGjjD,EAAGqZ,EAAGja,EAAGhP,EAAG,cAEZ,EACH+4N,GAAGnpN,EAAGqZ,EAAGja,EAAGhP,GAAA,WAET,EACH64N,GAAGjpN,EAAGqZ,EAAGja,EAAGhP,GAAA,UAGTg+M,GAAGjvM,EAAGa,GAAA,IACTqZ,EACFriB,EACAorD,EAAIpiD,EAAEk5D,EACNh9D,EAAI8D,EAAE0tE,GACNv4E,EAAIgK,EAAE+wE,GACN3gE,EAAIpQ,EAAEixE,GAAK,GACXnuE,EAAI9C,EAAE+wE,GACN3uE,EAAIpC,EAAEixE,GAAK,IACX9vE,EAAInB,EAAE+wE,GACN3xE,EAAIY,EAAEixE,GAAK,QACR/2D,EAAI,EAAG,GAAKA,IAAKA,EAAGlkB,EAAEoa,EAAI,GAAK8J,EAAI,GAAK,QACxCA,EAAI,EAAG,EAAIA,IAAKA,EAClBpX,EAAEV,EAAI,GAAK8X,EAAI,GAAK,IAAO/Y,EAAE/B,EAAI,GAAK8a,EAAI,GAAK,UAC9C+oC,EACCjtD,EAAEoa,EAAI,EAAI,IAAMtN,EAAEV,EAAI,EAAI,IAAMjB,EAAE/B,EAAI,EAAI,IAAM,KAChDnO,EAAE+E,EAAGoa,EAAI,GAAK,EAAG,IAAK,IACvBnf,EAAE6R,EAAGV,EAAI,GAAK,EAAG,IAAK,GACtBnR,EAAEkQ,EAAG/B,EAAI,GAAK,EAAG,IAAK,IACrBvH,EAAI,EAAGA,EAAImI,EAAEmlE,KAAMttE,EAAG,KACrB0H,EAAIsB,EAAEqkE,GAAGrkE,EAAEoiE,GAAKprE,GAAA,GAChB,EAAIA,EAAG,KACJqiB,GAAK,EAAG,GAAKA,IAAKA,EAAGja,EAAEjK,EAAGoa,EAAI,GAAK8J,EAAI,EAAGlkB,EAAGoa,EAAI,GAAK8J,EAAI,GAAI,OAC9DA,GAAK,EAAG,EAAIA,IAAKA,EACpBja,EAAE6C,EAAGV,EAAI,GAAK8X,EAAI,EAAGpX,EAAGV,EAAI,GAAK8X,EAAI,EAAG,GACtCja,EAAEkB,EAAG/B,EAAI,GAAK8a,EAAI,EAAG/Y,EAAG/B,EAAI,GAAK8a,EAAI,EAAG,OAE1C7Y,EAAIrB,EAAEqpN,GACR5sL,EAAIz8B,EAAE44E,GAAK/gF,EACXiK,EAAIvC,EAAEg1E,GACNz8E,EAAIyH,EAAEizE,GAAA,KACJvvB,IACDhjD,EAAEjK,EAAGoa,EAAI,GAAI/O,EAAEo7B,GAAGr7B,EAAG,EAAG,IACzBnB,EAAE6C,EAAGV,EAAI,GAAIf,EAAEo7B,GAAGt7B,EAAG,EAAG,GACxBlB,EAAEkB,EAAG/B,EAAI,GAAIiC,EAAEo7B,GAAG4mC,GAAI,EAAG,IACvB9jE,EAAE0oE,GAAI,KACJ7mE,EAAIpL,EACJ6M,EAAIuN,EAAI,GAAK,SACb6yC,IACDprD,GAAKmI,EAAEmlE,GAAK,EACTl0E,EAAEmQ,EAAGyB,EAAGxB,EAAEo7B,GAAGr7B,EAAE,IAAK,GACpBnB,EAAEmB,EAAGyB,EAAGxB,EAAEo7B,EAAI,GAAGr7B,EAAG,EAAG,IACxB8Y,EAAI,EAAG,EAAIA,EAAGA,IACjB9Y,EAAEyB,EAAI,IAAMqX,GAAK9Y,EAAEyB,EAAI,IAAMqX,GAAK9Y,EAAEyB,EAAI,IAAMqX,GAAK9Y,EAAEyB,EAAI,EAAIqX,GAAA,IAC1DA,EAAI,EAAG,GAAKA,IAAKA,EAAGpiB,IAAM,EAC5BsJ,EAAIpL,EAAK6M,EAAIuN,EAAI0hF,GAAG53E,GAAK+0E,GAAE1vF,EAAEkvE,GAAGv0D,IAAI9Y,EAAGyB,GAAIy/L,GAAGxqM,EAAGgK,EAAG,IAAMoY,EAAG9Y,EAAGyB,EAAA,MAC9D,GAAMzB,EAAIghM,GAAGvqM,EAAGorD,EAAG1jD,EAAEkvE,GAAG,IAAM+gB,GAAEpuF,GAAGpL,EAAGoa,GAAI,GAAKtY,EACpD,IAAKoiB,EAAI,EAAG,GAAKA,IAAKA,EAAGpiB,IAAM,EAAGwqM,GAAGxqM,EAAGgK,EAAG,IAAMoY,EAAGlkB,EAAGoa,EAAI0hF,GAAG53E,IAAA,IAChEA,EAAI3a,EAAEgzE,GACNnxE,EAAIghM,GAAGvqM,EAAGorD,EAAG1jD,EAAEk5E,IACfoW,GAAGztF,GAAG0B,EAAGV,GACTysF,GAAGztF,GAAGD,EAAG/B,GAETtH,EAAIgK,EACJV,EAAI0B,EACJD,EAAIT,EACA,KAJJ7C,EAAI2a,EAAK,KAIO,IAAJ3a,EAAUsqN,GAAG/xN,EAAG,IAAKsJ,EAAGyB,GAAKknN,GAAGjyN,EAAG,IAAKsJ,EAAGyB,IAEvDtD,EAAI4B,EACJrJ,EAAIsH,EACA,KAHJ8a,IAAM,KAGU,IAAJA,EAAU2vM,GAAG/nN,EAAG,IAAKvC,EAAGzH,GAAKiyN,GAAGjoN,EAAG,IAAKvC,EAAGzH,IACvDmrD,EAAIjjD,EAAE8hF,GAAK,IACR7hF,EAAEoB,EAAEo7B,GAAGr7B,EAAG,EAAGpL,EAAGoa,EAAI,IAAK,IAC1BnQ,EAAEoB,EAAEo7B,GAAGt7B,EAAG,EAAG2B,EAAGV,EAAI,IAAK,GACzBnC,EAAEoB,EAAEo7B,GAAG4mC,GAAI,EAAGliE,EAAG/B,EAAI,IAAK,IAC5B8a,EAAI,EAAInd,EAAIiD,EAAE0mD,EACdrlD,EAAIrB,EAAEqkE,GACN5nC,EAAIz8B,EAAEskE,GAAK,GAAKzsE,EAAI,GAAKkF,EAAIiD,EAAE4mD,EAC/B9kD,EAAI9B,EAAEykE,GACNllE,EAAIS,EAAEokE,GAAK,EAAIvsE,EAAIqiB,EACnBpiB,EAAIkI,EAAE2lE,GACNvkE,EAAIpB,EAAE4lE,GAAK,EAAI/tE,EAAIqiB,EACdA,EAAI,EAAG,GAAKA,IAAKA,EAAGja,EAAEoB,EAAGo7B,EAAIviB,EAAIla,EAAE4mD,EAAG5wD,EAAGoa,EAAI,GAAK8J,EAAG,QACrDA,EAAI,EAAG,EAAIA,IAAKA,EACnBja,EAAE6B,EAAGvC,EAAI2a,EAAIla,EAAE0mD,EAAG5jD,EAAGV,EAAI,GAAK8X,EAAG,GAC/Bja,EAAEnI,EAAGsJ,EAAI8Y,EAAIla,EAAE0mD,EAAGvlD,EAAG/B,EAAI,GAAK8a,EAAG,aAGhCgpL,GAAGljM,EAAGC,EAAGhP,EAAG4G,EAAGorD,EAAGlmD,EAAG/G,EAAGoa,EAAGtN,GAAA,IAC9BV,EAAI,CAAC,GACPjB,EAAI,CAAC,GACL/B,EAAI,EACJG,EAAI,MAAQuD,EAAIA,EAAEqyE,GAAK,EACvB9zE,EAAI,MAAQyB,EAAIA,EAAI,IAAImoM,GAAA,GACtB,MAAQjrM,GAAK,GAAK/O,EAAG,OAAO,EAChCoQ,EAAE8F,KAAOnH,EACTqB,EAAEwB,EAAI5C,EACNoB,EAAEkiE,GAAKtyE,EACPgP,EAAI,CAACA,GACLhP,EAAI,CAACA,GACLoQ,EAAEqnE,GAAK,CAACrnE,EAAEqnE,IACV1oE,EAAG,KACGy8B,EAAIx8B,EACJnI,EAAI7G,EACJmQ,EAAIC,EAAEqnE,GAAA,GACV7nE,EAAE,MAAQb,GACVa,EAAE,MAAQ/I,GACV+I,EAAE,MAAQO,GACVA,EAAE,GAAK,EACH,IAAMtJ,EAAE,KAAOoiB,EAAGla,EAAGy8B,EAAE,GAAI,QAAS,IAClCviB,EAAGla,EAAGy8B,EAAE,GAAK,EAAG,QAAS,CAC3Br7B,EAAI,QACEpB,CAAA,KAEJ6C,EAAI1R,EAAG6O,EAAGy8B,EAAE,GAAK,MACjB,GAAK55B,GAAK,WAAaA,EAAG,CAC5BzB,EAAI,QACEpB,CAAA,IAEJT,GAAKsD,EAAI/K,EAAE,GAAK,EAAG,CACrBsJ,EAAI,QACEpB,CAAA,CAERoB,EAAE,GAAKyB,EACP45B,EAAE,IAAM,GACR3kC,EAAE,IAAM,GAEVsJ,EAAI,KAEF,GAAKA,EAAG,OAAOA,EAAA,IACnByB,EAAI,EAAIxB,EAAEqnE,GAAG,GACRz3E,EAAIA,EAAE,KAAQ,CAGjB+O,EAAG,KACGg1B,EAAIh1B,EACRlI,EAAImI,EACJmB,EAAInQ,EAAA,IAEFqf,EAAIlO,EACJQ,EAAIzB,EACJ+kD,EATJzpB,EAAI,CAAC,OAMCjnC,EALN4J,EAAI,CAACA,IASD,GAAK,EACH,EAAIgC,EAAE,GAAIA,EAAI,MACb,KACE8Y,EAAG8a,EAAGl9B,EAAE,GAAI,QAAS,IACpB,IAAM3G,EAAG6jC,EAAGl9B,EAAE,GAAK,GAAI,CACzBsJ,EAAI,QACEpB,CAAA,IAEJ,GAAKoB,EAAE,GAAI,CACbA,EAAI,QACEpB,CAAA,KAEJsB,EAAInQ,EAAG6jC,EAAGl9B,EAAE,GAAK,GACjBwI,EAAI,EAAI6lD,EAAGnxB,EAAGl9B,EAAE,GAAK,OAErB,YAAcwI,GADlB00B,EAAI,EAAImxB,EAAGnxB,EAAGl9B,EAAE,GAAK,KACI,CACvBsJ,EAAI,QACEpB,CAAA,OAEAkmD,IAAMA,EAAE,GAAK5kD,GAAA,MACbgP,IAAMA,EAAE,GAAKhQ,GAAA,MACbsC,IAAMA,EAAE,GAAKoyB,GACrBl9B,EAAE,IAAM,GACRsJ,EAAE,IAAM,GACR5L,EAAE,GAAK,EAET4L,EAAI,MAGRhC,EAAIA,EAAE,GACNq9B,EAAIA,EAAE,GACF,GAAKr7B,EAAG,OAAOA,EAAA,GACnBtJ,KAAW,EAAJ2kC,IACF55B,GAAKzD,EAAG,OAAO,WACZrC,IAAMA,EAAE,MAAY,GAAJ0/B,IAAA,MAChBzmC,IAAMA,EAAE,GAAK8B,GAAA,MACbsY,IAAMA,EAAE,GAAK,GACrBpa,EAAIoM,EAAE,GACNq6B,EAAIt7B,EAAE,GACF/B,GAAKtH,GAAK,MAAQgL,EAAG,CACvB1B,EAAI,WAGF,EAAInQ,EAAG,CACTmQ,EAAI,WAGDyB,GAAKzD,IAAQyD,IAAMzD,IAAM8a,EAAGla,EAAGC,EAAE,GAAI,QAAU,CAClDhP,EAAI,CAACA,GACLoQ,EAAEwhF,GAAK,CAACxhF,EAAEwhF,IACVxhF,EAAEf,EAAI,CAACe,EAAEf,GACTe,EAAEylE,GAAK,CAACzlE,EAAEylE,IACV9mE,EAAG,CACDsB,EAAItB,EACJoB,EAAInB,EACJ4C,EAAI5R,EAAA,IACAuE,EAAI6L,EAAEqnE,GACRp4D,EAAIjP,EAAEwhF,GACNjgF,EAAIvB,EAAEf,EACN4lD,EAAI7kD,EAAEylE,GACRxmE,EAAI,GACJO,EAAE,MAAQS,GACVT,EAAE,MAAQgC,GACVmyB,EAAI5zB,EAAE,OACF6kD,EAAIpjD,EAAE,OACVhC,EAAE,MAAQyP,GACVzP,EAAE,MAAQqlD,GACV51C,EAAE,GAAK,KACP1N,EAAE,GAAK,KACFsjD,EAAE,GAAK,IAAO,IACjB9kD,EAAE,GAAK4zB,EACPnyB,EAAE,GAAKojD,EACH,EAAIA,EAAG,CACT7kD,EAAI,QACEpB,CAAA,KAEJwQ,EAAIrf,EAAGmQ,EAAG0zB,EAAI,MACd,WAAaxkB,EAAG,CAClBpP,EAAI,QACEpB,CAAA,KAEJ+lD,EAAK,EAAIv1C,EAAI,GAAM,KACvBlQ,GAAKylD,EACD,EAAIvwD,GAAK8K,EAAI9K,EAAG,CAClB4L,EAAI,QACEpB,CAAA,KAEHka,EAAG5Y,EAAG0zB,EAAG,UAAY9a,EAAG5Y,EAAG0zB,EAAG,QAAS,CAC1C5zB,EAAI,QACEpB,CAAA,IAEJimD,EAAE,GAAKF,EAAG,CACZ3kD,EAAI,QACEpB,CAAA,CAERka,EAAG5Y,EAAG0zB,EAAG,UAAa1kB,EAAE,GAAKhP,EAAKsB,EAAE,GAAKoyB,EAAI,EAAKkxB,EAAE,GAAK11C,GACzDwkB,GAAK+wB,EACLE,GAAKF,CAAA,KAGT90D,EAAIA,EAAE,GACNoQ,EAAEwhF,GAAKxhF,EAAEwhF,GAAG,GACZxhF,EAAEf,EAAIe,EAAEf,EAAE,GACVe,EAAEylE,GAAKzlE,EAAEylE,GAAG,GACR,GAAK1lE,EAAG,MAEdnQ,EAAI,CAACA,GACLoQ,EAAEwkE,GAAK,CAACxkE,EAAEwkE,IACVxkE,EAAEyhF,GAAK,CAACzhF,EAAEyhF,IACV9iF,EAAG,GACCxK,EAAIwK,EACLoB,EAAInB,EACJ4C,EAAI5R,EACJqf,EAAIjP,EAAEqnE,GAAG,GACT9lE,EAAIvB,EAAEwkE,GACN3f,EAAI7kD,EAAEyhF,GACNxhF,EAAIF,EAAE,GACN4zB,GAAK9a,EAAG1kB,EAAG8L,EAAG,QACdhB,GAAK4Z,EAAG1kB,EAAG8L,EAAG,QACfT,EAAE,MAAQrL,GACVqL,EAAE,MAAQgC,GACVhC,EAAE,MAAQ+B,GACV/B,EAAE,MAAQqlD,GACV,EAAIrjD,EAAE,GAENzB,EAAI,MACD,IACC4zB,GAAK10B,EAAG,IACV9K,EAAIrE,EAAGqE,EAAG8L,EAAI,GACV,IAAMgP,GAAK9a,EAAI8a,EAAI,GAAI,CACzBlP,EAAI,QACEpB,CAAA,IAEJT,GAAK/J,EAAIqN,EAAE,GAAK,EAAG,CACrBzB,EAAI,QACEpB,CAAA,CAER4C,EAAE,GAAKpN,EACP4L,EAAE,IAAM,EACRyB,EAAE,IAAM,EACRqjD,EAAE,GAAK5lD,CAAA,MAEN4lD,EAAE,GAAK,GAAKrjD,EAAE,IAAM,IAAMrN,EAAE8L,EAAI,MAAQ9L,EAAE8L,EAAI,IAAM,GAClDsB,EAAE,GAAKC,EAAE,GACdzB,EAAI,KAENnQ,EAAIA,EAAE,GACNoQ,EAAEwkE,GAAKxkE,EAAEwkE,GAAG,GACZxkE,EAAEyhF,GAAKzhF,EAAEyhF,GAAG,GACZ7iF,EAAIA,EAAE,GACF,GAAKmB,EAAG,SACR,WAAaC,EAAEwkE,GAAI,OAAO,WACtBz1D,GAAKtY,IAAMsY,EAAE,GAAK/O,EAAEyhF,GAAK,EAAI,GACrC9sF,EAAI,CAACA,GACLymC,EAAI,CAACA,GACDp7B,EAAEyhF,GAAI,IACJ,EAAI7xF,EAAG,CACTmQ,EAAI,QAGNgP,EAAIpa,EACJuJ,EAAIk9B,EACJ3kC,EAAIiF,EAAA,MACIiD,GAAK,EAAI/O,EACZ+O,EAAI,EACL,GAAK/O,GAAK,IAAM+O,EAAEC,EAAI,MAAQD,EAAEC,EAAI,IAAM,IACxC4C,EAAI,CAAC,GACNrN,EAAI,CAAC,GACL8a,EAAI,CAAC,GAENxO,EADCc,EAAI,IAAIu1D,EACHn4D,EAAGC,EAAGhP,GACZ0tM,GAAG/7L,EAAGC,EAAGrN,EAAG8a,IACP,MAAQF,IAAMA,EAAE,GAAKvN,EAAE,IACxB,MAAQtD,IAAMA,EAAE,GAAK/J,EAAE,IACvB,MAAQsC,IAAMA,EAAE,GAAKwY,EAAE,IACtBtQ,EAAI,GACJA,EAAI,GACRA,EAAI,MACJ,IACD,GAAK/O,EAAG,CACVmQ,EAAI,QAGNgP,EAAIqsB,EAAA,MACIz8B,GAAK,GAAK/O,IAAMmyM,GAAGpjM,EAAGC,EAAI,EAAGhP,EAAI,GACpC+O,EAAI,GACHT,EAAIS,EAAEC,EAAI,GAAMD,EAAEC,EAAI,IAAM,EAAMD,EAAEC,EAAI,IAAM,GAC/CnI,EAAmC,OAA7BkI,EAAEC,EAAI,IAAM,EAAKD,EAAEC,EAAI,IAC7BD,EAAmC,OAA7BA,EAAEC,EAAI,IAAM,EAAKD,EAAEC,EAAI,IAC1B,EAAJV,GACA,GAAMA,GAAK,EAAK,MACbA,GAAK,EAAK,IACbA,GAAK,GAAK8B,EAAEwkE,KACX/tE,IACAkI,EACIA,EAAI,GACJhK,IAAMA,EAAE,GAAK8B,GAAIsY,IAAMA,EAAE,GAAKpQ,GAAKA,EAAI,QAE7CA,EAAG,OAAO,KACfhK,EAAIA,EAAE,GACNymC,EAAIA,EAAE,GACFr9B,IAAMgD,EAAE,IAAMpM,GAAKmL,EAAE,IAAMs7B,GAAI,OAAO,QAClC35B,IACJA,EAAE,GAAKzB,EACRyB,EAAEvH,OAAS0E,EAAI6C,EAAED,EAClBhC,EAAE,WAAaZ,EAAI6C,EAAED,GACrBhC,EAAEiC,EAAEvH,QAAUuH,EAAEygE,GAAKtyE,IAAA,aAGlB,GAAKmQ,GAAM,GAAKA,GAAKhC,GAAK,MAAQ0D,GACpC,MAAQ/F,IAAMA,EAAE,IAAM,MAAQsE,EAAEwhF,IAAM,EAAIxhF,EAAEwhF,GAAGp1F,QAChD,MAAQoK,IAAMA,EAAE,GAAK7B,GACrB,MAAQitD,IAAMA,EAAE,GAAKxmB,GACrB,GACAr7B,CAAA,UAEGuuM,GAAG3vM,EAAGa,EAAGqZ,GAAA,IACZja,EAAIY,EAAE4B,MACRxR,EAAI4P,EAAE6B,OACN7K,EAAI,EACJorD,EAAI,EACJlmD,EAAIkD,EACJjK,EAAI/E,EAAA,GACN4P,EAAE0kE,GAAK,MAAQvlE,GAAK,EAAIA,EAAEulE,GAExB1kE,EAAE0kE,KACAxoE,EAAIiD,EAAEkvC,GACPl5C,EAAIgK,EAAEw0E,GACN38E,EAAImI,EAAE8B,EACNmhD,EAAIjjD,EAAE7O,EACP,GAAK+oB,IAAOriB,IAAM,EAAKorD,IAAM,GAC7B,EAAIprD,GAAK,EAAIorD,GAAK,GAAKlmD,GAAK,GAAK/G,GAAK6B,EAAIkF,EAAIkD,GAAKgjD,EAAIjtD,EAAI/E,GAE3D,OAAO,KACT4P,EAAEiB,EAAIjK,EACNgJ,EAAE1P,EAAI8xD,EACNpiD,EAAEkkE,GAAKltE,EAAIkF,EACX8D,EAAEoiD,EAAIA,EAAIjtD,EACV6K,EAAE4P,EAAI1T,EACN8D,EAAEq0B,EAAIl/B,EACN6K,EAAEsiE,GAAK,MAAQnjE,GAAK,EAAIA,EAAEmjE,GACtBtiE,EAAEsiE,GAAI,KAGH5yD,EAAGxT,EAAG/G,EAFXkkB,EAAI,CAACla,EAAE8oE,IACPjxE,EAAI,CAACmI,EAAE6oE,KACc,OAAO,EAC5BhoE,EAAEioE,GAAK5uD,EAAE,GACTrZ,EAAEgoE,GAAKhxE,EAAE,UAEXgJ,EAAE2oE,GAAK,MAAQxpE,GAAKA,EAAEwpE,GACtB3oE,EAAEstE,GAAK,MAAQnuE,IAAMA,EAAEknN,GACvBrmN,EAAEsiE,KAAQtiE,EAAE2oE,GAAK3oE,EAAEioE,GAAM,EAAI7oE,EAAK,GAAKY,EAAEgoE,GAAM,EAAI53E,EAAK,EAAK4P,EAAEstE,GAAK,GAC7D,WAEAqhI,GAAGxvM,GAAA,GACN,MAAQA,EAAG,OAAO,KAClB,GAAKA,EAAEkmD,EAAG,KACRrlD,EAAIb,EAAEmB,EAAE8lN,KACZpmN,EAAEynE,KAAOtoE,EAAE0C,OAAS,GAAK7B,EAAEyP,EAC3BzP,EAAEyP,GAAKzP,EAAEyP,CAAA,MAERzP,EAAIb,EAAEmB,EAAE6nE,GACNhpE,EAAIA,EAAE0C,OACN7B,EAAEklD,IAAM/lD,EAAI,GAAKa,EAAEyiE,GACnBziE,EAAEyiE,IAAMziE,EAAEyiE,GACVziE,EAAEs3D,IAAOn4D,EAAI,GAAM,GAAKa,EAAE2sE,GAC1B3sE,EAAE2sE,IAAM3sE,EAAE2sE,GACV3sE,EAAE+4D,IAAO55D,EAAI,GAAM,GAAKa,EAAE+sE,GAC1B/sE,EAAE+sE,IAAM/sE,EAAE+sE,GACX,MAAQ/sE,EAAE2P,IAAO3P,EAAE0+D,IAAMv/D,EAAI,GAAKa,EAAEooE,GAAMpoE,EAAEooE,IAAMpoE,EAAEooE,IAAA,OACjD,WAEAmmI,GAAGpvM,EAAGa,EAAGqZ,EAAGja,GAAA,GACf,MAAQA,GAAK,GAAKD,GAAK,GAAKa,EAAG,OAAO,KACtC,MAAQqZ,EAAG,IACTA,EAAEqrD,GAAI,KACJt0E,EAAIipB,EAAEg1B,GACR+T,EAAI/oC,EAAEs6D,GACNz3E,GAAW,EAAPmd,EAAEpY,EACN9L,GAAW,EAAPkkB,EAAE/oB,EAAA,GACJ,EAAI4L,GAAK,EAAI/G,GAAK,GAAK/E,GAAK,GAAKgyD,GAAKlmD,EAAI9L,EAAI+O,GAAKhK,EAAIitD,EAAIpiD,EAC7D,OAAO,EACTb,EAAI/O,EACJ4P,EAAIoiD,CAAA,IAEF/oC,EAAEipD,GAAI,KAGH5yD,EAAGvQ,EAAGa,EAFX5P,EAAI,CAACipB,EAAE4uD,IACP7lB,EAAI,CAAC/oC,EAAE2uD,KACc,OAAO,EAC5B7oE,EAAI/O,EAAE,GACN4P,EAAIoiD,EAAE,IAGVhjD,EAAEwC,MAAQzC,EACVC,EAAEyC,OAAS7B,EACXb,EAAG,KACGoQ,EAAInQ,EAAEwC,MACNK,EAAI7C,EAAEyC,OAAA,GACV1C,EAAIC,EAAEimD,EACF,GAAK91C,GAAK,GAAKtN,KAAO9C,GAAKgoN,IAAM,GAAKhoN,GAAIA,EAAI,MAC7C,IACC,GAAKC,EAAEy6E,IAAM,MAAQz6E,EAAE02E,GAAI,CACzB55E,EAAKkmD,EAAIhyD,EAAI4P,EAAI,MAEnBuB,GADApM,EAAIoa,EAAIkgF,GAAGtwF,IACH8C,EAAA,MACL9C,IAEFijD,GAAMngD,EAAI,GAAK,GADdjC,GAAKuP,EAAI,GAAK,GAEhB,IAAMpQ,IAAgBjD,GAAT9L,EAAImf,GAAatN,IAE5B,OADJA,EAAIjL,EAAEuK,EAAI,EAAI6gD,EAAIlmD,IACH,CACbiD,EAAI,QACEA,CAAA,CAERC,EAAE02E,GAAK7zE,EAAA,GACF9C,IACCoQ,EAAInQ,EAAEkB,EAAE8lN,MACP5+I,GAAKvlE,EACPsN,EAAEk4D,GAAK,EACPl4D,EAAEE,EAAIta,EACNoa,EAAE4X,KAAO5lB,KACRgO,EAAInQ,EAAEkB,EAAE6nE,IACP5nE,EAAI0B,EACNsN,EAAE21C,EAAI,EACN31C,EAAEkzD,GAAKttE,EACPoa,EAAEuoE,GAAKv2E,EACPgO,EAAEjP,EAAI2B,EACNsN,EAAE+nD,EAAI,EAAI/1D,EACVgO,EAAEo9D,GAAK3sE,EACPuP,EAAE42M,GAAK/jK,EACP7yC,EAAEizD,GAAKvgE,EACPsN,EAAEwpD,EAAI,EAAIx3D,EAAI6gD,EACd7yC,EAAEw9D,GAAK/sE,EACPuP,EAAE22M,GAAK9jK,EACR,IAAMjjD,IAAOoQ,EAAEI,EAAI1N,EAAKsN,EAAEmvD,EAAI,EAAIn9D,EAAI,EAAI6gD,GACzC7yC,EAAEmjE,GAAKx2E,EACPqT,EAAE64D,GAAKh4E,EAAA,IAEd4P,EAAI,EACJ5P,EAAIgP,EAAEimD,EACNjD,EAAIhjD,EAAEwC,MACN1F,EAAIkD,EAAEyC,OACFzR,GAAK+2N,IAAM,GAAK/2N,EAAA,GACd,GAAKA,EACN+O,EAAIC,EAAEkB,EAAE8lN,KAENpmN,IADA7K,EAAI2F,KAAK+qB,IAAI1mB,EAAEsQ,KACLvT,EAAI,GAAKkmD,GAAKjjD,EAAEgoB,KAC1BnnB,GAAK7K,GAAKitD,EAAIqtC,GAAGr/F,GACjB4P,GAAK,MAAQb,EAAEqoE,OACf,CACHroE,EAAIC,EAAEkB,EAAE6nE,GACRhzE,GAAKitD,EAAI,GAAK,EACd7gD,GAAKrF,EAAI,GAAK,EACdqT,EAAIzU,KAAK+qB,IAAI1mB,EAAEsjE,IACXxgE,EAAInH,KAAK+qB,IAAI1mB,EAAEwtE,IAAA,IACjBrsE,EAAIxF,KAAK+qB,IAAI1mB,EAAE4tE,IACfxuE,EAAIzD,KAAK+qB,IAAI1mB,EAAEipE,IACf1pE,EAAIH,GAAKrC,EAAI,GAAKkmD,EACpBpiD,GAAKuP,GAAKrT,EAAI,GAAKkmD,GAAKjjD,EAAE24E,GAC1B93E,GAAKiC,GAAKV,EAAI,GAAKpM,GAAKgK,EAAEgnN,GAE1BnmN,GADAA,GAAKM,GAAKiB,EAAI,GAAKpM,GAAKgK,EAAE+mN,IACjB32M,GAAK6yC,EAAMngD,GAAK9M,EAAMmL,GAAKnL,EACpC6K,GAAK,MAAQb,EAAEoB,EACfP,GAAK,MAAQb,EAAEmB,EACfN,GAAK,MAAQb,EAAEqjE,GAAA,IACTpyE,IAAO4P,GAAKzB,GAAK6jD,EAAKpiD,GAAKtB,GAAKS,EAAEuzE,GAAM1yE,GAAK,MAAQb,EAAEwQ,EAAA,MAE5D3P,EAAI,EACTb,EAAIa,EAAI,EAAI,UAGZ,GAAKb,GAAA,MACDka,GAAKA,EAAE26D,KAAO70E,EAAIwvM,GAAGvvM,IADVD,CAAA,KAIjBsvM,GAAK,GACPtS,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEFuS,GAAK,GACLiX,GAAK,GACLC,GAAK,EACLC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJ9/J,EAAE,aAAc,iBAChB5mD,EAAK8qN,WAAa,kBACT,YAET9qN,EAAK+qN,WAAa,SAAS/qN,GAAA,OAClBA,CAAA,EAETA,EAAKgrN,WAAa,SAAShrN,EAAGa,EAAGqZ,GAAA,OACxBrZ,EAAEqZ,EAAI,IAEfla,EAAKirN,WAAa,SAASjrN,EAAGa,EAAGqZ,GAAA,OACxBrZ,EAAEqZ,EAAI,IAEfla,EAAKkrN,WAAa,SAASlrN,EAA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CAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAIArD,GACAgB,GACAjB,GACAjpE,GAz5BAqrE,GAAK3xN,EAAE,KACP4xN,GAAK5xN,EAAE,MACP6xN,GAAK7xN,EAAE,KACP8xN,GAAK9xN,EAAE,KACP0xN,GAAK,EACLqB,GAAKnB,GACLhV,GAAKiV,GACLiB,GAAIhB,GACJkB,GAAIrB,GACJxB,GAAK,EACLV,GAAK,EACLhnE,GAAK,EACLgnB,GAAK,EACL6/C,GAAK,EACLI,GAAK,EACLe,GAAK,EACL3B,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACLmC,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,IACpEtB,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,KAEFoB,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEF74H,GAAK,EACLhB,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFc,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IA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AK,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,I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C,EAAMa,EAAmBqZ,GACzClkB,EAAuBiK,EACvBD,EAAOm4D,EAAcn4D,EAAMa,GAAA,OAxC7BiB,EA/XQ,EAgYR9B,EAAO4C,EAAS5C,EAAMa,EAAmBqZ,QAdzCpY,EAAOjK,EAjXC,EADA,EAmXRmI,EAAO4C,EAAS5C,EAAMa,EAAmBqZ,GAAA,OAuDpCla,CAAA,OAcJo2N,eAAe9iB,WAAa,SAAStzM,GACpCA,IACF/O,EAAc+O,EAAQy2N,cACtBxzK,EAAejjD,EAAQ02N,eACvB7+N,EAAWmI,EAAQ22N,WACnB55N,EAAYiD,EAAQ42N,YACpB5gO,EAAuBgK,EAAQ62N,oBAAA,OAI9BT,eAAe9iB,WAAWtzM,GACxBrS,KAAKyoO,cAAA,MAGVv1N,EA5jFmB,CACrB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KA8jBEqZ,EAAa,IAAIla,EAAMo2N,eAAe,CAAEK,eAAA,IAoC5Cz2N,EAAM2kM,IAAIqL,OAAOx+M,KAAK,CAAC,kBAlCE,SAASwO,GAAA,IAC5Ba,EAAOb,EAAKy3B,KAGZx3B,GA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,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAEvH,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE5G,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAE3GzN,GAAkB2E,aAAe,GAAI,GAAI,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AAI,GAAI,GAEpI,EAAG,MAAO,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAE9G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAE3GjF,GAAkBkF,YAAc,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAEvI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,EAE1F,GAAhBxlH,GAAGyuH,MAAQ,IAAS,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAExH,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAEzF,GAAjBzuH,GAAG8uH,OAAS,IAAS,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAEzH,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,EAAG,KAAM,MAAO,GAAI,GAAI,GAAI,EAEjHxO,GAAkBmF,KAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAEhI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAE3GnF,GAAkBoF,SAAW,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAEpI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,EAE3GpF,GAAkBqF,MAAQ,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAEjI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAE3GrF,GAAkBsF,WAAa,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAEtI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAE5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAE1G,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GA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GAAI,GAAI,EAAG,MAAO,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAE9G,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,EAE3G1F,GAAkB2F,WAAa,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAEtI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,MAAO,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,G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","sources":["../node_modules/@jridgewell/gen-mapping/src/sourcemap-segment.ts","../node_modules/@jridgewell/gen-mapping/src/gen-mapping.ts","../node_modules/@jridgewell/resolve-uri/src/resolve-uri.ts","../node_modules/@jridgewell/set-array/src/set-array.ts","../node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts","../node_modules/@jridgewell/trace-mapping/src/resolve.ts","../node_modules/@jridgewell/trace-mapping/src/strip-filename.ts","../node_modules/@jridgewell/trace-mapping/src/sourcemap-segment.ts","../node_modules/@jridgewell/trace-mapping/src/sort.ts","../node_modules/@jridgewell/trace-mapping/src/binary-search.ts","../node_modules/@jridgewell/trace-mapping/src/by-source.ts","../node_modules/@jridgewell/trace-mapping/src/any-map.ts","../node_modules/@jridgewell/trace-mapping/src/trace-mapping.ts","../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/invariant/browser.js","../node_modules/jszip/dist/jszip.min.js","../node_modules/lines-and-columns/build/index.js","../node_modules/prop-types-extra/lib/all.js","../node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react/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/ts-interface-checker/dist/index.js","../node_modules/ts-interface-checker/dist/types.js","../node_modules/ts-interface-checker/dist/util.js","../node_modules/void-elements/index.js","../node_modules/warning/warning.js","../node_modules/classnames/index.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/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/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-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/html-parse-stringify/src/parse.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/defaults.js","../node_modules/react-i18next/dist/es/i18nInstance.js","../node_modules/react-i18next/dist/es/initReactI18next.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/useTranslation.js","components/Index.js","../node_modules/xlsx/xlsx.mjs","../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","components/popup/Popup.js","../node_modules/clsx/dist/clsx.mjs","../node_modules/prism-react-renderer/src/prism-langs.ts","../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js","../node_modules/prism-react-renderer/src/themes/index.ts","../node_modules/prism-react-renderer/src/themes/dracula.ts","../node_modules/sucrase/dist/esm/parser/tokenizer/keywords.js","../node_modules/sucrase/dist/esm/parser/tokenizer/types.js","../node_modules/sucrase/dist/esm/parser/util/charcodes.js","../node_modules/prism-react-renderer/src/themes/duotoneDark.ts","../node_modules/prism-react-renderer/src/themes/duotoneLight.ts","../node_modules/prism-react-renderer/src/themes/github.ts","../node_modules/prism-react-renderer/src/themes/nightOwl.ts","../node_modules/prism-react-renderer/src/themes/nightOwlLight.ts","../node_modules/prism-react-renderer/src/themes/oceanicNext.ts","../node_modules/prism-react-renderer/src/themes/okaidia.ts","../node_modules/prism-react-renderer/src/themes/palenight.ts","../node_modules/prism-react-renderer/src/themes/shadesOfPurple.ts","../node_modules/prism-react-renderer/src/themes/synthwave84.ts","../node_modules/prism-react-renderer/src/themes/ultramin.ts","../node_modules/prism-react-renderer/src/themes/vsDark.ts","../node_modules/prism-react-renderer/src/themes/vsLight.ts","../node_modules/prism-react-renderer/src/themes/jettwaveDark.ts","../node_modules/prism-react-renderer/src/themes/jettwaveLight.ts","../node_modules/prism-react-renderer/src/themes/oneDark.ts","../node_modules/prism-react-renderer/src/themes/oneLight.ts","../node_modules/prism-react-renderer/src/utils/themeToDict.ts","../node_modules/prism-react-renderer/src/utils/normalizeTokens.ts","../node_modules/prism-react-renderer/src/components/highlight.ts","../node_modules/prism-react-renderer/src/components/useThemeDictionary.ts","../node_modules/prism-react-renderer/src/components/useGetLineProps.ts","../node_modules/prism-react-renderer/src/components/useGetTokenProps.ts","../node_modules/prism-react-renderer/src/components/useTokenize.ts","../node_modules/prism-react-renderer/src/index.ts","../node_modules/use-editable/src/useEditable.ts","../node_modules/sucrase/dist/esm/parser/tokenizer/state.js","../node_modules/sucrase/dist/esm/parser/traverser/base.js","../node_modules/sucrase/dist/esm/parser/traverser/util.js","../node_modules/sucrase/dist/esm/parser/util/whitespace.js","../node_modules/sucrase/dist/esm/parser/util/identifier.js","../node_modules/sucrase/dist/esm/parser/tokenizer/readWordTree.js","../node_modules/sucrase/dist/esm/parser/tokenizer/index.js","../node_modules/sucrase/dist/esm/parser/tokenizer/readWord.js","../node_modules/sucrase/dist/esm/util/getImportExportSpecifierInfo.js","../node_modules/sucrase/dist/esm/parser/plugins/jsx/xhtml.js","../node_modules/sucrase/dist/esm/util/getJSXPragmaInfo.js","../node_modules/sucrase/dist/esm/transformers/Transformer.js","../node_modules/sucrase/dist/esm/transformers/JSXTransformer.js","../node_modules/sucrase/dist/esm/util/getNonTypeIdentifiers.js","../node_modules/sucrase/dist/esm/CJSImportProcessor.js","../node_modules/sucrase/dist/esm/computeSourceMap.js","../node_modules/sucrase/dist/esm/HelperManager.js","../node_modules/sucrase/dist/esm/identifyShadowedGlobals.js","../node_modules/sucrase/dist/esm/NameManager.js","../node_modules/sucrase/dist/esm/util/getIdentifierNames.js","../node_modules/sucrase/dist/esm/Options-gen-types.js","../node_modules/sucrase/dist/esm/Options.js","../node_modules/sucrase/dist/esm/parser/traverser/lval.js","../node_modules/sucrase/dist/esm/parser/plugins/flow.js","../node_modules/sucrase/dist/esm/parser/plugins/typescript.js","../node_modules/sucrase/dist/esm/parser/plugins/jsx/index.js","../node_modules/sucrase/dist/esm/parser/traverser/expression.js","../node_modules/sucrase/dist/esm/parser/plugins/types.js","../node_modules/sucrase/dist/esm/parser/traverser/statement.js","../node_modules/sucrase/dist/esm/parser/traverser/index.js","../node_modules/sucrase/dist/esm/parser/index.js","../node_modules/sucrase/dist/esm/TokenProcessor.js","../node_modules/sucrase/dist/esm/util/isAsyncOperation.js","../node_modules/sucrase/dist/esm/util/getClassInfo.js","../node_modules/sucrase/dist/esm/util/elideImportEquals.js","../node_modules/sucrase/dist/esm/util/getDeclarationInfo.js","../node_modules/sucrase/dist/esm/util/isExportFrom.js","../node_modules/sucrase/dist/esm/util/removeMaybeImportAttributes.js","../node_modules/sucrase/dist/esm/util/shouldElideDefaultExport.js","../node_modules/sucrase/dist/esm/transformers/CJSImportTransformer.js","../node_modules/sucrase/dist/esm/transformers/ESMImportTransformer.js","../node_modules/sucrase/dist/esm/transformers/FlowTransformer.js","../node_modules/sucrase/dist/esm/transformers/JestHoistTransformer.js","../node_modules/sucrase/dist/esm/transformers/NumericSeparatorTransformer.js","../node_modules/sucrase/dist/esm/transformers/OptionalCatchBindingTransformer.js","../node_modules/sucrase/dist/esm/transformers/OptionalChainingNullishTransformer.js","../node_modules/sucrase/dist/esm/transformers/ReactDisplayNameTransformer.js","../node_modules/sucrase/dist/esm/transformers/ReactHotLoaderTransformer.js","../node_modules/sucrase/dist/esm/util/isIdentifier.js","../node_modules/sucrase/dist/esm/transformers/TypeScriptTransformer.js","../node_modules/sucrase/dist/esm/transformers/RootTransformer.js","../node_modules/sucrase/dist/esm/util/getTSImportedNames.js","../node_modules/sucrase/dist/esm/index.js","../node_modules/react-live/src/components/Editor/index.tsx","../node_modules/react-live/src/components/Live/LiveContext.ts","../node_modules/react-live/src/utils/transpile/transform.ts","../node_modules/react-live/src/utils/transpile/errorBoundary.tsx","../node_modules/react-live/src/utils/transpile/evalCode.ts","../node_modules/react-live/src/utils/transpile/index.ts","../node_modules/react-live/src/utils/transpile/compose.ts","../node_modules/react-live/src/components/Live/LiveProvider.tsx","../node_modules/react-live/src/components/Live/LiveEditor.tsx","../node_modules/react-live/src/components/Live/LiveError.tsx","../node_modules/react-live/src/components/Live/LivePreview.tsx","components/LoadingBar.js","components/card/Card.js","components/Generator.js","components/generate/ToImage.js","components/generate/ToPdf.js","components/LiveCodeEditor.js","../node_modules/@restart/ui/esm/SelectableContext.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/NavbarBrand.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/Collapse.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/NavbarCollapse.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/react-bootstrap/esm/NavbarToggle.js","../node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/hooks/esm/useMediaQuery.js","../node_modules/@restart/hooks/esm/useBreakpoint.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/ui/esm/NoopTransition.js","../node_modules/@restart/ui/esm/useRTGTransitionProps.js","../node_modules/@restart/ui/esm/utils.js","../node_modules/@restart/ui/esm/RTGTransition.js","../node_modules/@restart/ui/esm/ImperativeTransition.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/OffcanvasBody.js","../node_modules/react-bootstrap/esm/OffcanvasToggling.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/react-bootstrap/esm/OffcanvasHeader.js","../node_modules/react-bootstrap/esm/OffcanvasTitle.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/react-bootstrap/esm/Offcanvas.js","../node_modules/react-bootstrap/esm/NavbarOffcanvas.js","../node_modules/react-bootstrap/esm/NavbarText.js","../node_modules/react-bootstrap/esm/Navbar.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/@restart/ui/esm/NavContext.js","../node_modules/@restart/ui/esm/TabContext.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/@restart/ui/esm/NavItem.js","../node_modules/@restart/ui/esm/Nav.js","../node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/react-bootstrap/esm/NavItem.js","../node_modules/@restart/hooks/esm/useResizeObserver.js","../node_modules/@restart/ui/esm/Anchor.js","../node_modules/react-bootstrap/esm/NavLink.js","../node_modules/react-bootstrap/esm/Nav.js","../node_modules/@restart/ui/node_modules/uncontrollable/lib/esm/index.js","../node_modules/@restart/ui/esm/DropdownContext.js","../node_modules/dequal/dist/index.mjs","../node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@restart/ui/esm/popper.js","../node_modules/@restart/ui/esm/usePopper.js","../node_modules/@restart/ui/esm/useClickOutside.js","../node_modules/@restart/ui/esm/mergeOptionsWithPopperConfig.js","../node_modules/@restart/ui/esm/DropdownMenu.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/@restart/ui/esm/DropdownToggle.js","../node_modules/@restart/ui/esm/DropdownItem.js","../node_modules/@restart/ui/esm/Dropdown.js","../node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/react-bootstrap/esm/DropdownDivider.js","../node_modules/react-bootstrap/esm/DropdownHeader.js","../node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/react-bootstrap/esm/DropdownItemText.js","../node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js","../node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/react-bootstrap/esm/Dropdown.js","../node_modules/react-bootstrap/esm/NavDropdown.js","components/navigation/Navigation.js","components/pages/404.js","components/Footer.js","App.js","reportWebVitals.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../node_modules/i18next-http-backend/esm/utils.js","../node_modules/i18next-http-backend/esm/request.js","../node_modules/i18next-http-backend/esm/index.js","i18n.js","index.js"],"sourcesContent":["type GeneratedColumn = number;\ntype SourcesIndex = number;\ntype SourceLine = number;\ntype SourceColumn = number;\ntype NamesIndex = number;\n\nexport type SourceMapSegment =\n | [GeneratedColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];\n\nexport const COLUMN = 0;\nexport const SOURCES_INDEX = 1;\nexport const SOURCE_LINE = 2;\nexport const SOURCE_COLUMN = 3;\nexport const NAMES_INDEX = 4;\n","import { SetArray, put, remove } from '@jridgewell/set-array';\nimport { encode } from '@jridgewell/sourcemap-codec';\nimport { TraceMap, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n} from './sourcemap-segment';\n\nimport type { SourceMapInput } from '@jridgewell/trace-mapping';\nimport type { SourceMapSegment } from './sourcemap-segment';\nimport type { DecodedSourceMap, EncodedSourceMap, Pos, Mapping } from './types';\n\nexport type { DecodedSourceMap, EncodedSourceMap, Mapping };\n\nexport type Options = {\n file?: string | null;\n sourceRoot?: string | null;\n};\n\nconst NO_NAME = -1;\n\n/**\n * Provides the state to generate a sourcemap.\n */\nexport class GenMapping {\n private declare _names: SetArray;\n private declare _sources: SetArray;\n private declare _sourcesContent: (string | null)[];\n private declare _mappings: SourceMapSegment[][];\n private declare _ignoreList: SetArray;\n declare file: string | null | undefined;\n declare sourceRoot: string | null | undefined;\n\n constructor({ file, sourceRoot }: Options = {}) {\n this._names = new SetArray();\n this._sources = new SetArray();\n this._sourcesContent = [];\n this._mappings = [];\n this.file = file;\n this.sourceRoot = sourceRoot;\n this._ignoreList = new SetArray();\n }\n}\n\ninterface PublicMap {\n _names: GenMapping['_names'];\n _sources: GenMapping['_sources'];\n _sourcesContent: GenMapping['_sourcesContent'];\n _mappings: GenMapping['_mappings'];\n _ignoreList: GenMapping['_ignoreList'];\n}\n\n/**\n * Typescript doesn't allow friend access to private fields, so this just casts the map into a type\n * with public access modifiers.\n */\nfunction cast(map: unknown): PublicMap {\n return map as any;\n}\n\n/**\n * A low-level API to associate a generated position with an original source position. Line and\n * column here are 0-based, unlike `addMapping`.\n */\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source?: null,\n sourceLine?: null,\n sourceColumn?: null,\n name?: null,\n content?: null,\n): void;\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: string,\n sourceLine: number,\n sourceColumn: number,\n name?: null,\n content?: string | null,\n): void;\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: string,\n sourceLine: number,\n sourceColumn: number,\n name: string,\n content?: string | null,\n): void;\nexport function addSegment(\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source?: string | null,\n sourceLine?: number | null,\n sourceColumn?: number | null,\n name?: string | null,\n content?: string | null,\n): void {\n return addSegmentInternal(\n false,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n );\n}\n\n/**\n * A high-level API to associate a generated position with an original source position. Line is\n * 1-based, but column is 0-based, due to legacy behavior in `source-map` library.\n */\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source?: null;\n original?: null;\n name?: null;\n content?: null;\n },\n): void;\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: string;\n original: Pos;\n name?: null;\n content?: string | null;\n },\n): void;\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: string;\n original: Pos;\n name: string;\n content?: string | null;\n },\n): void;\nexport function addMapping(\n map: GenMapping,\n mapping: {\n generated: Pos;\n source?: string | null;\n original?: Pos | null;\n name?: string | null;\n content?: string | null;\n },\n): void {\n return addMappingInternal(false, map, mapping as Parameters[2]);\n}\n\n/**\n * Same as `addSegment`, but will only add the segment if it generates useful information in the\n * resulting map. This only works correctly if segments are added **in order**, meaning you should\n * not add a segment with a lower generated line/column than one that came before.\n */\nexport const maybeAddSegment: typeof addSegment = (\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n) => {\n return addSegmentInternal(\n true,\n map,\n genLine,\n genColumn,\n source,\n sourceLine,\n sourceColumn,\n name,\n content,\n );\n};\n\n/**\n * Same as `addMapping`, but will only add the mapping if it generates useful information in the\n * resulting map. This only works correctly if mappings are added **in order**, meaning you should\n * not add a mapping with a lower generated line/column than one that came before.\n */\nexport const maybeAddMapping: typeof addMapping = (map, mapping) => {\n return addMappingInternal(true, map, mapping as Parameters[2]);\n};\n\n/**\n * Adds/removes the content of the source file to the source map.\n */\nexport function setSourceContent(map: GenMapping, source: string, content: string | null): void {\n const { _sources: sources, _sourcesContent: sourcesContent } = cast(map);\n const index = put(sources, source);\n sourcesContent[index] = content;\n}\n\nexport function setIgnore(map: GenMapping, source: string, ignore = true) {\n const { _sources: sources, _sourcesContent: sourcesContent, _ignoreList: ignoreList } = cast(map);\n const index = put(sources, source);\n if (index === sourcesContent.length) sourcesContent[index] = null;\n if (ignore) put(ignoreList, index);\n else remove(ignoreList, index);\n}\n\n/**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function toDecodedMap(map: GenMapping): DecodedSourceMap {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n _ignoreList: ignoreList,\n } = cast(map);\n removeEmptyFinalLines(mappings);\n\n return {\n version: 3,\n file: map.file || undefined,\n names: names.array,\n sourceRoot: map.sourceRoot || undefined,\n sources: sources.array,\n sourcesContent,\n mappings,\n ignoreList: ignoreList.array,\n };\n}\n\n/**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function toEncodedMap(map: GenMapping): EncodedSourceMap {\n const decoded = toDecodedMap(map);\n return {\n ...decoded,\n mappings: encode(decoded.mappings as SourceMapSegment[][]),\n };\n}\n\n/**\n * Constructs a new GenMapping, using the already present mappings of the input.\n */\nexport function fromMap(input: SourceMapInput): GenMapping {\n const map = new TraceMap(input);\n const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });\n\n putAll(cast(gen)._names, map.names);\n putAll(cast(gen)._sources, map.sources as string[]);\n cast(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null);\n cast(gen)._mappings = decodedMappings(map) as GenMapping['_mappings'];\n if (map.ignoreList) putAll(cast(gen)._ignoreList, map.ignoreList);\n\n return gen;\n}\n\n/**\n * Returns an array of high-level mapping objects for every recorded segment, which could then be\n * passed to the `source-map` library.\n */\nexport function allMappings(map: GenMapping): Mapping[] {\n const out: Mapping[] = [];\n const { _mappings: mappings, _sources: sources, _names: names } = cast(map);\n\n for (let i = 0; i < mappings.length; i++) {\n const line = mappings[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n\n const generated = { line: i + 1, column: seg[COLUMN] };\n let source: string | undefined = undefined;\n let original: Pos | undefined = undefined;\n let name: string | undefined = undefined;\n\n if (seg.length !== 1) {\n source = sources.array[seg[SOURCES_INDEX]];\n original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };\n\n if (seg.length === 5) name = names.array[seg[NAMES_INDEX]];\n }\n\n out.push({ generated, source, original, name } as Mapping);\n }\n }\n\n return out;\n}\n\n// This split declaration is only so that terser can elminiate the static initialization block.\nfunction addSegmentInternal(\n skipable: boolean,\n map: GenMapping,\n genLine: number,\n genColumn: number,\n source: S,\n sourceLine: S extends string ? number : null | undefined,\n sourceColumn: S extends string ? number : null | undefined,\n name: S extends string ? string | null | undefined : null | undefined,\n content: S extends string ? string | null | undefined : null | undefined,\n): void {\n const {\n _mappings: mappings,\n _sources: sources,\n _sourcesContent: sourcesContent,\n _names: names,\n } = cast(map);\n const line = getLine(mappings, genLine);\n const index = getColumnIndex(line, genColumn);\n\n if (!source) {\n if (skipable && skipSourceless(line, index)) return;\n return insert(line, index, [genColumn]);\n }\n\n // Sigh, TypeScript can't figure out sourceLine and sourceColumn aren't nullish if source\n // isn't nullish.\n assert(sourceLine);\n assert(sourceColumn);\n\n const sourcesIndex = put(sources, source);\n const namesIndex = name ? put(names, name) : NO_NAME;\n if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content ?? null;\n\n if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {\n return;\n }\n\n return insert(\n line,\n index,\n name\n ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]\n : [genColumn, sourcesIndex, sourceLine, sourceColumn],\n );\n}\n\nfunction assert(_val: unknown): asserts _val is T {\n // noop.\n}\n\nfunction getLine(mappings: SourceMapSegment[][], index: number): SourceMapSegment[] {\n for (let i = mappings.length; i <= index; i++) {\n mappings[i] = [];\n }\n return mappings[index];\n}\n\nfunction getColumnIndex(line: SourceMapSegment[], genColumn: number): number {\n let index = line.length;\n for (let i = index - 1; i >= 0; index = i--) {\n const current = line[i];\n if (genColumn >= current[COLUMN]) break;\n }\n return index;\n}\n\nfunction insert(array: T[], index: number, value: T) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n\nfunction removeEmptyFinalLines(mappings: SourceMapSegment[][]) {\n const { length } = mappings;\n let len = length;\n for (let i = len - 1; i >= 0; len = i, i--) {\n if (mappings[i].length > 0) break;\n }\n if (len < length) mappings.length = len;\n}\n\nfunction putAll(setarr: SetArray, array: T[]) {\n for (let i = 0; i < array.length; i++) put(setarr, array[i]);\n}\n\nfunction skipSourceless(line: SourceMapSegment[], index: number): boolean {\n // The start of a line is already sourceless, so adding a sourceless segment to the beginning\n // doesn't generate any useful information.\n if (index === 0) return true;\n\n const prev = line[index - 1];\n // If the previous segment is also sourceless, then adding another sourceless segment doesn't\n // genrate any new information. Else, this segment will end the source/named segment and point to\n // a sourceless position, which is useful.\n return prev.length === 1;\n}\n\nfunction skipSource(\n line: SourceMapSegment[],\n index: number,\n sourcesIndex: number,\n sourceLine: number,\n sourceColumn: number,\n namesIndex: number,\n): boolean {\n // A source/named segment at the start of a line gives position at that genColumn\n if (index === 0) return false;\n\n const prev = line[index - 1];\n\n // If the previous segment is sourceless, then we're transitioning to a source.\n if (prev.length === 1) return false;\n\n // If the previous segment maps to the exact same source position, then this segment doesn't\n // provide any new position information.\n return (\n sourcesIndex === prev[SOURCES_INDEX] &&\n sourceLine === prev[SOURCE_LINE] &&\n sourceColumn === prev[SOURCE_COLUMN] &&\n namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME)\n );\n}\n\nfunction addMappingInternal(\n skipable: boolean,\n map: GenMapping,\n mapping: {\n generated: Pos;\n source: S;\n original: S extends string ? Pos : null | undefined;\n name: S extends string ? string | null | undefined : null | undefined;\n content: S extends string ? string | null | undefined : null | undefined;\n },\n) {\n const { generated, source, original, name, content } = mapping;\n if (!source) {\n return addSegmentInternal(\n skipable,\n map,\n generated.line - 1,\n generated.column,\n null,\n null,\n null,\n null,\n null,\n );\n }\n assert(original);\n return addSegmentInternal(\n skipable,\n map,\n generated.line - 1,\n generated.column,\n source as string,\n original.line - 1,\n original.column,\n name,\n content,\n );\n}\n","// Matches the scheme of a URL, eg \"http://\"\nconst schemeRegex = /^[\\w+.-]+:\\/\\//;\n\n/**\n * Matches the parts of a URL:\n * 1. Scheme, including \":\", guaranteed.\n * 2. User/password, including \"@\", optional.\n * 3. Host, guaranteed.\n * 4. Port, including \":\", optional.\n * 5. Path, including \"/\", optional.\n * 6. Query, including \"?\", optional.\n * 7. Hash, including \"#\", optional.\n */\nconst urlRegex = /^([\\w+.-]+:)\\/\\/([^@/#?]*@)?([^:/#?]*)(:\\d+)?(\\/[^#?]*)?(\\?[^#]*)?(#.*)?/;\n\n/**\n * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start\n * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).\n *\n * 1. Host, optional.\n * 2. Path, which may include \"/\", guaranteed.\n * 3. Query, including \"?\", optional.\n * 4. Hash, including \"#\", optional.\n */\nconst fileRegex = /^file:(?:\\/\\/((?![a-z]:)[^/#?]*)?)?(\\/?[^#?]*)(\\?[^#]*)?(#.*)?/i;\n\ntype Url = {\n scheme: string;\n user: string;\n host: string;\n port: string;\n path: string;\n query: string;\n hash: string;\n type: UrlType;\n};\n\nconst enum UrlType {\n Empty = 1,\n Hash = 2,\n Query = 3,\n RelativePath = 4,\n AbsolutePath = 5,\n SchemeRelative = 6,\n Absolute = 7,\n}\n\nfunction isAbsoluteUrl(input: string): boolean {\n return schemeRegex.test(input);\n}\n\nfunction isSchemeRelativeUrl(input: string): boolean {\n return input.startsWith('//');\n}\n\nfunction isAbsolutePath(input: string): boolean {\n return input.startsWith('/');\n}\n\nfunction isFileUrl(input: string): boolean {\n return input.startsWith('file:');\n}\n\nfunction isRelative(input: string): boolean {\n return /^[.?#]/.test(input);\n}\n\nfunction parseAbsoluteUrl(input: string): Url {\n const match = urlRegex.exec(input)!;\n return makeUrl(\n match[1],\n match[2] || '',\n match[3],\n match[4] || '',\n match[5] || '/',\n match[6] || '',\n match[7] || '',\n );\n}\n\nfunction parseFileUrl(input: string): Url {\n const match = fileRegex.exec(input)!;\n const path = match[2];\n return makeUrl(\n 'file:',\n '',\n match[1] || '',\n '',\n isAbsolutePath(path) ? path : '/' + path,\n match[3] || '',\n match[4] || '',\n );\n}\n\nfunction makeUrl(\n scheme: string,\n user: string,\n host: string,\n port: string,\n path: string,\n query: string,\n hash: string,\n): Url {\n return {\n scheme,\n user,\n host,\n port,\n path,\n query,\n hash,\n type: UrlType.Absolute,\n };\n}\n\nfunction parseUrl(input: string): Url {\n if (isSchemeRelativeUrl(input)) {\n const url = parseAbsoluteUrl('http:' + input);\n url.scheme = '';\n url.type = UrlType.SchemeRelative;\n return url;\n }\n\n if (isAbsolutePath(input)) {\n const url = parseAbsoluteUrl('http://foo.com' + input);\n url.scheme = '';\n url.host = '';\n url.type = UrlType.AbsolutePath;\n return url;\n }\n\n if (isFileUrl(input)) return parseFileUrl(input);\n\n if (isAbsoluteUrl(input)) return parseAbsoluteUrl(input);\n\n const url = parseAbsoluteUrl('http://foo.com/' + input);\n url.scheme = '';\n url.host = '';\n url.type = input\n ? input.startsWith('?')\n ? UrlType.Query\n : input.startsWith('#')\n ? UrlType.Hash\n : UrlType.RelativePath\n : UrlType.Empty;\n return url;\n}\n\nfunction stripPathFilename(path: string): string {\n // If a path ends with a parent directory \"..\", then it's a relative path with excess parent\n // paths. It's not a file, so we can't strip it.\n if (path.endsWith('/..')) return path;\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n\nfunction mergePaths(url: Url, base: Url) {\n normalizePath(base, base.type);\n\n // If the path is just a \"/\", then it was an empty path to begin with (remember, we're a relative\n // path).\n if (url.path === '/') {\n url.path = base.path;\n } else {\n // Resolution happens relative to the base path's directory, not the file.\n url.path = stripPathFilename(base.path) + url.path;\n }\n}\n\n/**\n * The path can have empty directories \"//\", unneeded parents \"foo/..\", or current directory\n * \"foo/.\". We need to normalize to a standard representation.\n */\nfunction normalizePath(url: Url, type: UrlType) {\n const rel = type <= UrlType.RelativePath;\n const pieces = url.path.split('/');\n\n // We need to preserve the first piece always, so that we output a leading slash. The item at\n // pieces[0] is an empty string.\n let pointer = 1;\n\n // Positive is the number of real directories we've output, used for popping a parent directory.\n // Eg, \"foo/bar/..\" will have a positive 2, and we can decrement to be left with just \"foo\".\n let positive = 0;\n\n // We need to keep a trailing slash if we encounter an empty directory (eg, splitting \"foo/\" will\n // generate `[\"foo\", \"\"]` pieces). And, if we pop a parent directory. But once we encounter a\n // real directory, we won't need to append, unless the other conditions happen again.\n let addTrailingSlash = false;\n\n for (let i = 1; i < pieces.length; i++) {\n const piece = pieces[i];\n\n // An empty directory, could be a trailing slash, or just a double \"//\" in the path.\n if (!piece) {\n addTrailingSlash = true;\n continue;\n }\n\n // If we encounter a real directory, then we don't need to append anymore.\n addTrailingSlash = false;\n\n // A current directory, which we can always drop.\n if (piece === '.') continue;\n\n // A parent directory, we need to see if there are any real directories we can pop. Else, we\n // have an excess of parents, and we'll need to keep the \"..\".\n if (piece === '..') {\n if (positive) {\n addTrailingSlash = true;\n positive--;\n pointer--;\n } else if (rel) {\n // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute\n // URL, protocol relative URL, or an absolute path, we don't need to keep excess.\n pieces[pointer++] = piece;\n }\n continue;\n }\n\n // We've encountered a real directory. Move it to the next insertion pointer, which accounts for\n // any popped or dropped directories.\n pieces[pointer++] = piece;\n positive++;\n }\n\n let path = '';\n for (let i = 1; i < pointer; i++) {\n path += '/' + pieces[i];\n }\n if (!path || (addTrailingSlash && !path.endsWith('/..'))) {\n path += '/';\n }\n url.path = path;\n}\n\n/**\n * Attempts to resolve `input` URL/path relative to `base`.\n */\nexport default function resolve(input: string, base: string | undefined): string {\n if (!input && !base) return '';\n\n const url = parseUrl(input);\n let inputType = url.type;\n\n if (base && inputType !== UrlType.Absolute) {\n const baseUrl = parseUrl(base);\n const baseType = baseUrl.type;\n\n switch (inputType) {\n case UrlType.Empty:\n url.hash = baseUrl.hash;\n // fall through\n\n case UrlType.Hash:\n url.query = baseUrl.query;\n // fall through\n\n case UrlType.Query:\n case UrlType.RelativePath:\n mergePaths(url, baseUrl);\n // fall through\n\n case UrlType.AbsolutePath:\n // The host, user, and port are joined, you can't copy one without the others.\n url.user = baseUrl.user;\n url.host = baseUrl.host;\n url.port = baseUrl.port;\n // fall through\n\n case UrlType.SchemeRelative:\n // The input doesn't have a schema at least, so we need to copy at least that over.\n url.scheme = baseUrl.scheme;\n }\n if (baseType > inputType) inputType = baseType;\n }\n\n normalizePath(url, inputType);\n\n const queryHash = url.query + url.hash;\n switch (inputType) {\n // This is impossible, because of the empty checks at the start of the function.\n // case UrlType.Empty:\n\n case UrlType.Hash:\n case UrlType.Query:\n return queryHash;\n\n case UrlType.RelativePath: {\n // The first char is always a \"/\", and we need it to be relative.\n const path = url.path.slice(1);\n\n if (!path) return queryHash || '.';\n\n if (isRelative(base || input) && !isRelative(path)) {\n // If base started with a leading \".\", or there is no base and input started with a \".\",\n // then we need to ensure that the relative path starts with a \".\". We don't know if\n // relative starts with a \"..\", though, so check before prepending.\n return './' + path + queryHash;\n }\n\n return path + queryHash;\n }\n\n case UrlType.AbsolutePath:\n return url.path + queryHash;\n\n default:\n return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;\n }\n}\n","type Key = string | number | symbol;\n\n/**\n * SetArray acts like a `Set` (allowing only one occurrence of a string `key`), but provides the\n * index of the `key` in the backing array.\n *\n * This is designed to allow synchronizing a second array with the contents of the backing array,\n * like how in a sourcemap `sourcesContent[i]` is the source content associated with `source[i]`,\n * and there are never duplicates.\n */\nexport class SetArray {\n private declare _indexes: Record;\n declare array: readonly T[];\n\n constructor() {\n this._indexes = { __proto__: null } as any;\n this.array = [];\n }\n}\n\ninterface PublicSet {\n array: T[];\n _indexes: SetArray['_indexes'];\n}\n\n/**\n * Typescript doesn't allow friend access to private fields, so this just casts the set into a type\n * with public access modifiers.\n */\nfunction cast(set: SetArray): PublicSet {\n return set as any;\n}\n\n/**\n * Gets the index associated with `key` in the backing array, if it is already present.\n */\nexport function get(setarr: SetArray, key: T): number | undefined {\n return cast(setarr)._indexes[key];\n}\n\n/**\n * Puts `key` into the backing array, if it is not already present. Returns\n * the index of the `key` in the backing array.\n */\nexport function put(setarr: SetArray, key: T): number {\n // The key may or may not be present. If it is present, it's a number.\n const index = get(setarr, key);\n if (index !== undefined) return index;\n\n const { array, _indexes: indexes } = cast(setarr);\n\n const length = array.push(key);\n return (indexes[key] = length - 1);\n}\n\n/**\n * Pops the last added item out of the SetArray.\n */\nexport function pop(setarr: SetArray): void {\n const { array, _indexes: indexes } = cast(setarr);\n if (array.length === 0) return;\n\n const last = array.pop()!;\n indexes[last] = undefined;\n}\n\n/**\n * Removes the key, if it exists in the set.\n */\nexport function remove(setarr: SetArray, key: T): void {\n const index = get(setarr, key);\n if (index === undefined) return;\n\n const { array, _indexes: indexes } = cast(setarr);\n for (let i = index + 1; i < array.length; i++) {\n const k = array[i];\n array[i - 1] = k;\n indexes[k]!--;\n }\n indexes[key] = undefined;\n array.pop();\n}\n","export type SourceMapSegment =\n | [number]\n | [number, number, number, number]\n | [number, number, number, number, number];\nexport type SourceMapLine = SourceMapSegment[];\nexport type SourceMapMappings = SourceMapLine[];\n\nconst comma = ','.charCodeAt(0);\nconst semicolon = ';'.charCodeAt(0);\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst intToChar = new Uint8Array(64); // 64 possible chars.\nconst charToInt = new Uint8Array(128); // z is 122 in ASCII\n\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\n\n// Provide a fallback for older environments.\nconst td =\n typeof TextDecoder !== 'undefined'\n ? /* #__PURE__ */ new TextDecoder()\n : typeof Buffer !== 'undefined'\n ? {\n decode(buf: Uint8Array) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n },\n }\n : {\n decode(buf: Uint8Array) {\n let out = '';\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n },\n };\n\nexport function decode(mappings: string): SourceMapMappings {\n const state: [number, number, number, number, number] = new Int32Array(5) as any;\n const decoded: SourceMapMappings = [];\n\n let index = 0;\n do {\n const semi = indexOf(mappings, index);\n const line: SourceMapLine = [];\n let sorted = true;\n let lastCol = 0;\n state[0] = 0;\n\n for (let i = index; i < semi; i++) {\n let seg: SourceMapSegment;\n\n i = decodeInteger(mappings, i, state, 0); // genColumn\n const col = state[0];\n if (col < lastCol) sorted = false;\n lastCol = col;\n\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 1); // sourcesIndex\n i = decodeInteger(mappings, i, state, 2); // sourceLine\n i = decodeInteger(mappings, i, state, 3); // sourceColumn\n\n if (hasMoreVlq(mappings, i, semi)) {\n i = decodeInteger(mappings, i, state, 4); // namesIndex\n seg = [col, state[1], state[2], state[3], state[4]];\n } else {\n seg = [col, state[1], state[2], state[3]];\n }\n } else {\n seg = [col];\n }\n\n line.push(seg);\n }\n\n if (!sorted) sort(line);\n decoded.push(line);\n index = semi + 1;\n } while (index <= mappings.length);\n\n return decoded;\n}\n\nfunction indexOf(mappings: string, index: number): number {\n const idx = mappings.indexOf(';', index);\n return idx === -1 ? mappings.length : idx;\n}\n\nfunction decodeInteger(mappings: string, pos: number, state: SourceMapSegment, j: number): number {\n let value = 0;\n let shift = 0;\n let integer = 0;\n\n do {\n const c = mappings.charCodeAt(pos++);\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n\n const shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = -0x80000000 | -value;\n }\n\n state[j] += value;\n return pos;\n}\n\nfunction hasMoreVlq(mappings: string, i: number, length: number): boolean {\n if (i >= length) return false;\n return mappings.charCodeAt(i) !== comma;\n}\n\nfunction sort(line: SourceMapSegment[]) {\n line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[0] - b[0];\n}\n\nexport function encode(decoded: SourceMapMappings): string;\nexport function encode(decoded: Readonly): string;\nexport function encode(decoded: Readonly): string {\n const state: [number, number, number, number, number] = new Int32Array(5) as any;\n const bufLength = 1024 * 16;\n const subLength = bufLength - 36;\n const buf = new Uint8Array(bufLength);\n const sub = buf.subarray(0, subLength);\n let pos = 0;\n let out = '';\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) {\n if (pos === bufLength) {\n out += td.decode(buf);\n pos = 0;\n }\n buf[pos++] = semicolon;\n }\n if (line.length === 0) continue;\n\n state[0] = 0;\n\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n // We can push up to 5 ints, each int can take at most 7 chars, and we\n // may push a comma.\n if (pos > subLength) {\n out += td.decode(sub);\n buf.copyWithin(0, subLength, pos);\n pos -= subLength;\n }\n if (j > 0) buf[pos++] = comma;\n\n pos = encodeInteger(buf, pos, state, segment, 0); // genColumn\n\n if (segment.length === 1) continue;\n pos = encodeInteger(buf, pos, state, segment, 1); // sourcesIndex\n pos = encodeInteger(buf, pos, state, segment, 2); // sourceLine\n pos = encodeInteger(buf, pos, state, segment, 3); // sourceColumn\n\n if (segment.length === 4) continue;\n pos = encodeInteger(buf, pos, state, segment, 4); // namesIndex\n }\n }\n\n return out + td.decode(buf.subarray(0, pos));\n}\n\nfunction encodeInteger(\n buf: Uint8Array,\n pos: number,\n state: SourceMapSegment,\n segment: SourceMapSegment,\n j: number,\n): number {\n const next = segment[j];\n let num = next - state[j];\n state[j] = next;\n\n num = num < 0 ? (-num << 1) | 1 : num << 1;\n do {\n let clamped = num & 0b011111;\n num >>>= 5;\n if (num > 0) clamped |= 0b100000;\n buf[pos++] = intToChar[clamped];\n } while (num > 0);\n\n return pos;\n}\n","import resolveUri from '@jridgewell/resolve-uri';\n\nexport default function resolve(input: string, base: string | undefined): string {\n // The base is always treated as a directory, if it's not empty.\n // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327\n // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401\n if (base && !base.endsWith('/')) base += '/';\n\n return resolveUri(input, base);\n}\n","/**\n * Removes everything after the last \"/\", but leaves the slash.\n */\nexport default function stripFilename(path: string | undefined | null): string {\n if (!path) return '';\n const index = path.lastIndexOf('/');\n return path.slice(0, index + 1);\n}\n","type GeneratedColumn = number;\ntype SourcesIndex = number;\ntype SourceLine = number;\ntype SourceColumn = number;\ntype NamesIndex = number;\n\ntype GeneratedLine = number;\n\nexport type SourceMapSegment =\n | [GeneratedColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn]\n | [GeneratedColumn, SourcesIndex, SourceLine, SourceColumn, NamesIndex];\n\nexport type ReverseSegment = [SourceColumn, GeneratedLine, GeneratedColumn];\n\nexport const COLUMN = 0;\nexport const SOURCES_INDEX = 1;\nexport const SOURCE_LINE = 2;\nexport const SOURCE_COLUMN = 3;\nexport const NAMES_INDEX = 4;\n\nexport const REV_GENERATED_LINE = 1;\nexport const REV_GENERATED_COLUMN = 2;\n","import { COLUMN } from './sourcemap-segment';\n\nimport type { SourceMapSegment } from './sourcemap-segment';\n\nexport default function maybeSort(\n mappings: SourceMapSegment[][],\n owned: boolean,\n): SourceMapSegment[][] {\n const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);\n if (unsortedIndex === mappings.length) return mappings;\n\n // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If\n // not, we do not want to modify the consumer's input array.\n if (!owned) mappings = mappings.slice();\n\n for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {\n mappings[i] = sortSegments(mappings[i], owned);\n }\n return mappings;\n}\n\nfunction nextUnsortedSegmentLine(mappings: SourceMapSegment[][], start: number): number {\n for (let i = start; i < mappings.length; i++) {\n if (!isSorted(mappings[i])) return i;\n }\n return mappings.length;\n}\n\nfunction isSorted(line: SourceMapSegment[]): boolean {\n for (let j = 1; j < line.length; j++) {\n if (line[j][COLUMN] < line[j - 1][COLUMN]) {\n return false;\n }\n }\n return true;\n}\n\nfunction sortSegments(line: SourceMapSegment[], owned: boolean): SourceMapSegment[] {\n if (!owned) line = line.slice();\n return line.sort(sortComparator);\n}\n\nfunction sortComparator(a: SourceMapSegment, b: SourceMapSegment): number {\n return a[COLUMN] - b[COLUMN];\n}\n","import type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';\nimport { COLUMN } from './sourcemap-segment';\n\nexport type MemoState = {\n lastKey: number;\n lastNeedle: number;\n lastIndex: number;\n};\n\nexport let found = false;\n\n/**\n * A binary search implementation that returns the index if a match is found.\n * If no match is found, then the left-index (the index associated with the item that comes just\n * before the desired index) is returned. To maintain proper sort order, a splice would happen at\n * the next index:\n *\n * ```js\n * const array = [1, 3];\n * const needle = 2;\n * const index = binarySearch(array, needle, (item, needle) => item - needle);\n *\n * assert.equal(index, 0);\n * array.splice(index + 1, 0, needle);\n * assert.deepEqual(array, [1, 2, 3]);\n * ```\n */\nexport function binarySearch(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n low: number,\n high: number,\n): number {\n while (low <= high) {\n const mid = low + ((high - low) >> 1);\n const cmp = haystack[mid][COLUMN] - needle;\n\n if (cmp === 0) {\n found = true;\n return mid;\n }\n\n if (cmp < 0) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n found = false;\n return low - 1;\n}\n\nexport function upperBound(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n index: number,\n): number {\n for (let i = index + 1; i < haystack.length; index = i++) {\n if (haystack[i][COLUMN] !== needle) break;\n }\n return index;\n}\n\nexport function lowerBound(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n index: number,\n): number {\n for (let i = index - 1; i >= 0; index = i--) {\n if (haystack[i][COLUMN] !== needle) break;\n }\n return index;\n}\n\nexport function memoizedState(): MemoState {\n return {\n lastKey: -1,\n lastNeedle: -1,\n lastIndex: -1,\n };\n}\n\n/**\n * This overly complicated beast is just to record the last tested line/column and the resulting\n * index, allowing us to skip a few tests if mappings are monotonically increasing.\n */\nexport function memoizedBinarySearch(\n haystack: SourceMapSegment[] | ReverseSegment[],\n needle: number,\n state: MemoState,\n key: number,\n): number {\n const { lastKey, lastNeedle, lastIndex } = state;\n\n let low = 0;\n let high = haystack.length - 1;\n if (key === lastKey) {\n if (needle === lastNeedle) {\n found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;\n return lastIndex;\n }\n\n if (needle >= lastNeedle) {\n // lastIndex may be -1 if the previous needle was not found.\n low = lastIndex === -1 ? 0 : lastIndex;\n } else {\n high = lastIndex;\n }\n }\n state.lastKey = key;\n state.lastNeedle = needle;\n\n return (state.lastIndex = binarySearch(haystack, needle, low, high));\n}\n","import { COLUMN, SOURCES_INDEX, SOURCE_LINE, SOURCE_COLUMN } from './sourcemap-segment';\nimport { memoizedBinarySearch, upperBound } from './binary-search';\n\nimport type { ReverseSegment, SourceMapSegment } from './sourcemap-segment';\nimport type { MemoState } from './binary-search';\n\nexport type Source = {\n __proto__: null;\n [line: number]: Exclude[];\n};\n\n// Rebuilds the original source files, with mappings that are ordered by source line/column instead\n// of generated line/column.\nexport default function buildBySources(\n decoded: readonly SourceMapSegment[][],\n memos: MemoState[],\n): Source[] {\n const sources: Source[] = memos.map(buildNullArray);\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n if (seg.length === 1) continue;\n\n const sourceIndex = seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n const originalSource = sources[sourceIndex];\n const originalLine = (originalSource[sourceLine] ||= []);\n const memo = memos[sourceIndex];\n\n // The binary search either found a match, or it found the left-index just before where the\n // segment should go. Either way, we want to insert after that. And there may be multiple\n // generated segments associated with an original location, so there may need to move several\n // indexes before we find where we need to insert.\n let index = upperBound(\n originalLine,\n sourceColumn,\n memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine),\n );\n\n memo.lastIndex = ++index;\n insert(originalLine, index, [sourceColumn, i, seg[COLUMN]]);\n }\n }\n\n return sources;\n}\n\nfunction insert(array: T[], index: number, value: T) {\n for (let i = array.length; i > index; i--) {\n array[i] = array[i - 1];\n }\n array[index] = value;\n}\n\n// Null arrays allow us to use ordered index keys without actually allocating contiguous memory like\n// a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.\n// Numeric properties on objects are magically sorted in ascending order by the engine regardless of\n// the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending\n// order when iterating with for-in.\nfunction buildNullArray(): T {\n return { __proto__: null } as T;\n}\n","import { TraceMap, presortedDecodedMap, decodedMappings } from './trace-mapping';\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n} from './sourcemap-segment';\n\nimport type {\n DecodedSourceMap,\n DecodedSourceMapXInput,\n EncodedSourceMapXInput,\n SectionedSourceMapXInput,\n SectionedSourceMapInput,\n SectionXInput,\n} from './types';\nimport type { SourceMapSegment } from './sourcemap-segment';\n\ntype AnyMap = {\n new (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;\n (map: SectionedSourceMapInput, mapUrl?: string | null): TraceMap;\n};\n\nexport const AnyMap: AnyMap = function (map, mapUrl) {\n const parsed = parse(map);\n\n if (!('sections' in parsed)) {\n return new TraceMap(parsed as DecodedSourceMapXInput | EncodedSourceMapXInput, mapUrl);\n }\n\n const mappings: SourceMapSegment[][] = [];\n const sources: string[] = [];\n const sourcesContent: (string | null)[] = [];\n const names: string[] = [];\n const ignoreList: number[] = [];\n\n recurse(\n parsed,\n mapUrl,\n mappings,\n sources,\n sourcesContent,\n names,\n ignoreList,\n 0,\n 0,\n Infinity,\n Infinity,\n );\n\n const joined: DecodedSourceMap = {\n version: 3,\n file: parsed.file,\n names,\n sources,\n sourcesContent,\n mappings,\n ignoreList,\n };\n\n return presortedDecodedMap(joined);\n} as AnyMap;\n\nfunction parse(map: T): Exclude {\n return typeof map === 'string' ? JSON.parse(map) : map;\n}\n\nfunction recurse(\n input: SectionedSourceMapXInput,\n mapUrl: string | null | undefined,\n mappings: SourceMapSegment[][],\n sources: string[],\n sourcesContent: (string | null)[],\n names: string[],\n ignoreList: number[],\n lineOffset: number,\n columnOffset: number,\n stopLine: number,\n stopColumn: number,\n) {\n const { sections } = input;\n for (let i = 0; i < sections.length; i++) {\n const { map, offset } = sections[i];\n\n let sl = stopLine;\n let sc = stopColumn;\n if (i + 1 < sections.length) {\n const nextOffset = sections[i + 1].offset;\n sl = Math.min(stopLine, lineOffset + nextOffset.line);\n\n if (sl === stopLine) {\n sc = Math.min(stopColumn, columnOffset + nextOffset.column);\n } else if (sl < stopLine) {\n sc = columnOffset + nextOffset.column;\n }\n }\n\n addSection(\n map,\n mapUrl,\n mappings,\n sources,\n sourcesContent,\n names,\n ignoreList,\n lineOffset + offset.line,\n columnOffset + offset.column,\n sl,\n sc,\n );\n }\n}\n\nfunction addSection(\n input: SectionXInput['map'],\n mapUrl: string | null | undefined,\n mappings: SourceMapSegment[][],\n sources: string[],\n sourcesContent: (string | null)[],\n names: string[],\n ignoreList: number[],\n lineOffset: number,\n columnOffset: number,\n stopLine: number,\n stopColumn: number,\n) {\n const parsed = parse(input);\n if ('sections' in parsed) return recurse(...(arguments as unknown as Parameters));\n\n const map = new TraceMap(parsed, mapUrl);\n const sourcesOffset = sources.length;\n const namesOffset = names.length;\n const decoded = decodedMappings(map);\n const { resolvedSources, sourcesContent: contents, ignoreList: ignores } = map;\n\n append(sources, resolvedSources);\n append(names, map.names);\n\n if (contents) append(sourcesContent, contents);\n else for (let i = 0; i < resolvedSources.length; i++) sourcesContent.push(null);\n\n if (ignores) for (let i = 0; i < ignores.length; i++) ignoreList.push(ignores[i] + sourcesOffset);\n\n for (let i = 0; i < decoded.length; i++) {\n const lineI = lineOffset + i;\n\n // We can only add so many lines before we step into the range that the next section's map\n // controls. When we get to the last line, then we'll start checking the segments to see if\n // they've crossed into the column range. But it may not have any columns that overstep, so we\n // still need to check that we don't overstep lines, too.\n if (lineI > stopLine) return;\n\n // The out line may already exist in mappings (if we're continuing the line started by a\n // previous section). Or, we may have jumped ahead several lines to start this section.\n const out = getLine(mappings, lineI);\n // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the\n // map can be multiple lines), it doesn't.\n const cOffset = i === 0 ? columnOffset : 0;\n\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n const column = cOffset + seg[COLUMN];\n\n // If this segment steps into the column range that the next section's map controls, we need\n // to stop early.\n if (lineI === stopLine && column >= stopColumn) return;\n\n if (seg.length === 1) {\n out.push([column]);\n continue;\n }\n\n const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];\n const sourceLine = seg[SOURCE_LINE];\n const sourceColumn = seg[SOURCE_COLUMN];\n out.push(\n seg.length === 4\n ? [column, sourcesIndex, sourceLine, sourceColumn]\n : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]],\n );\n }\n }\n}\n\nfunction append(arr: T[], other: T[]) {\n for (let i = 0; i < other.length; i++) arr.push(other[i]);\n}\n\nfunction getLine(arr: T[][], index: number): T[] {\n for (let i = arr.length; i <= index; i++) arr[i] = [];\n return arr[index];\n}\n","import { encode, decode } from '@jridgewell/sourcemap-codec';\n\nimport resolve from './resolve';\nimport stripFilename from './strip-filename';\nimport maybeSort from './sort';\nimport buildBySources from './by-source';\nimport {\n memoizedState,\n memoizedBinarySearch,\n upperBound,\n lowerBound,\n found as bsFound,\n} from './binary-search';\nimport {\n COLUMN,\n SOURCES_INDEX,\n SOURCE_LINE,\n SOURCE_COLUMN,\n NAMES_INDEX,\n REV_GENERATED_LINE,\n REV_GENERATED_COLUMN,\n} from './sourcemap-segment';\n\nimport type { SourceMapSegment, ReverseSegment } from './sourcemap-segment';\nimport type {\n SourceMapV3,\n DecodedSourceMap,\n EncodedSourceMap,\n InvalidOriginalMapping,\n OriginalMapping,\n InvalidGeneratedMapping,\n GeneratedMapping,\n SourceMapInput,\n Needle,\n SourceNeedle,\n SourceMap,\n EachMapping,\n Bias,\n XInput,\n} from './types';\nimport type { Source } from './by-source';\nimport type { MemoState } from './binary-search';\n\nexport type { SourceMapSegment } from './sourcemap-segment';\nexport type {\n SourceMap,\n DecodedSourceMap,\n EncodedSourceMap,\n Section,\n SectionedSourceMap,\n SourceMapV3,\n Bias,\n EachMapping,\n GeneratedMapping,\n InvalidGeneratedMapping,\n InvalidOriginalMapping,\n Needle,\n OriginalMapping,\n OriginalMapping as Mapping,\n SectionedSourceMapInput,\n SourceMapInput,\n SourceNeedle,\n XInput,\n EncodedSourceMapXInput,\n DecodedSourceMapXInput,\n SectionedSourceMapXInput,\n SectionXInput,\n} from './types';\n\ninterface PublicMap {\n _encoded: TraceMap['_encoded'];\n _decoded: TraceMap['_decoded'];\n _decodedMemo: TraceMap['_decodedMemo'];\n _bySources: TraceMap['_bySources'];\n _bySourceMemos: TraceMap['_bySourceMemos'];\n}\n\nconst LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';\nconst COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';\n\nexport const LEAST_UPPER_BOUND = -1;\nexport const GREATEST_LOWER_BOUND = 1;\n\nexport { AnyMap } from './any-map';\n\nexport class TraceMap implements SourceMap {\n declare version: SourceMapV3['version'];\n declare file: SourceMapV3['file'];\n declare names: SourceMapV3['names'];\n declare sourceRoot: SourceMapV3['sourceRoot'];\n declare sources: SourceMapV3['sources'];\n declare sourcesContent: SourceMapV3['sourcesContent'];\n declare ignoreList: SourceMapV3['ignoreList'];\n\n declare resolvedSources: string[];\n private declare _encoded: string | undefined;\n\n private declare _decoded: SourceMapSegment[][] | undefined;\n private declare _decodedMemo: MemoState;\n\n private declare _bySources: Source[] | undefined;\n private declare _bySourceMemos: MemoState[] | undefined;\n\n constructor(map: SourceMapInput, mapUrl?: string | null) {\n const isString = typeof map === 'string';\n\n if (!isString && (map as unknown as { _decodedMemo: any })._decodedMemo) return map as TraceMap;\n\n const parsed = (isString ? JSON.parse(map) : map) as DecodedSourceMap | EncodedSourceMap;\n\n const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;\n this.version = version;\n this.file = file;\n this.names = names || [];\n this.sourceRoot = sourceRoot;\n this.sources = sources;\n this.sourcesContent = sourcesContent;\n this.ignoreList = parsed.ignoreList || (parsed as XInput).x_google_ignoreList || undefined;\n\n const from = resolve(sourceRoot || '', stripFilename(mapUrl));\n this.resolvedSources = sources.map((s) => resolve(s || '', from));\n\n const { mappings } = parsed;\n if (typeof mappings === 'string') {\n this._encoded = mappings;\n this._decoded = undefined;\n } else {\n this._encoded = undefined;\n this._decoded = maybeSort(mappings, isString);\n }\n\n this._decodedMemo = memoizedState();\n this._bySources = undefined;\n this._bySourceMemos = undefined;\n }\n}\n\n/**\n * Typescript doesn't allow friend access to private fields, so this just casts the map into a type\n * with public access modifiers.\n */\nfunction cast(map: unknown): PublicMap {\n return map as any;\n}\n\n/**\n * Returns the encoded (VLQ string) form of the SourceMap's mappings field.\n */\nexport function encodedMappings(map: TraceMap): EncodedSourceMap['mappings'] {\n return (cast(map)._encoded ??= encode(cast(map)._decoded!));\n}\n\n/**\n * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.\n */\nexport function decodedMappings(map: TraceMap): Readonly {\n return (cast(map)._decoded ||= decode(cast(map)._encoded!));\n}\n\n/**\n * A low-level API to find the segment associated with a generated line/column (think, from a\n * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.\n */\nexport function traceSegment(\n map: TraceMap,\n line: number,\n column: number,\n): Readonly | null {\n const decoded = decodedMappings(map);\n\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length) return null;\n\n const segments = decoded[line];\n const index = traceSegmentInternal(\n segments,\n cast(map)._decodedMemo,\n line,\n column,\n GREATEST_LOWER_BOUND,\n );\n\n return index === -1 ? null : segments[index];\n}\n\n/**\n * A higher-level API to find the source/line/column associated with a generated line/column\n * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in\n * `source-map` library.\n */\nexport function originalPositionFor(\n map: TraceMap,\n needle: Needle,\n): OriginalMapping | InvalidOriginalMapping {\n let { line, column, bias } = needle;\n line--;\n if (line < 0) throw new Error(LINE_GTR_ZERO);\n if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\n const decoded = decodedMappings(map);\n\n // It's common for parent source maps to have pointers to lines that have no\n // mapping (like a \"//# sourceMappingURL=\") at the end of the child file.\n if (line >= decoded.length) return OMapping(null, null, null, null);\n\n const segments = decoded[line];\n const index = traceSegmentInternal(\n segments,\n cast(map)._decodedMemo,\n line,\n column,\n bias || GREATEST_LOWER_BOUND,\n );\n\n if (index === -1) return OMapping(null, null, null, null);\n\n const segment = segments[index];\n if (segment.length === 1) return OMapping(null, null, null, null);\n\n const { names, resolvedSources } = map;\n return OMapping(\n resolvedSources[segment[SOURCES_INDEX]],\n segment[SOURCE_LINE] + 1,\n segment[SOURCE_COLUMN],\n segment.length === 5 ? names[segment[NAMES_INDEX]] : null,\n );\n}\n\n/**\n * Finds the generated line/column position of the provided source/line/column source position.\n */\nexport function generatedPositionFor(\n map: TraceMap,\n needle: SourceNeedle,\n): GeneratedMapping | InvalidGeneratedMapping {\n const { source, line, column, bias } = needle;\n return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);\n}\n\n/**\n * Finds all generated line/column positions of the provided source/line/column source position.\n */\nexport function allGeneratedPositionsFor(map: TraceMap, needle: SourceNeedle): GeneratedMapping[] {\n const { source, line, column, bias } = needle;\n // SourceMapConsumer uses LEAST_UPPER_BOUND for some reason, so we follow suit.\n return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);\n}\n\n/**\n * Iterates each mapping in generated position order.\n */\nexport function eachMapping(map: TraceMap, cb: (mapping: EachMapping) => void): void {\n const decoded = decodedMappings(map);\n const { names, resolvedSources } = map;\n\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n for (let j = 0; j < line.length; j++) {\n const seg = line[j];\n\n const generatedLine = i + 1;\n const generatedColumn = seg[0];\n let source = null;\n let originalLine = null;\n let originalColumn = null;\n let name = null;\n if (seg.length !== 1) {\n source = resolvedSources[seg[1]];\n originalLine = seg[2] + 1;\n originalColumn = seg[3];\n }\n if (seg.length === 5) name = names[seg[4]];\n\n cb({\n generatedLine,\n generatedColumn,\n source,\n originalLine,\n originalColumn,\n name,\n } as EachMapping);\n }\n }\n}\n\nfunction sourceIndex(map: TraceMap, source: string): number {\n const { sources, resolvedSources } = map;\n let index = sources.indexOf(source);\n if (index === -1) index = resolvedSources.indexOf(source);\n return index;\n}\n\n/**\n * Retrieves the source content for a particular source, if its found. Returns null if not.\n */\nexport function sourceContentFor(map: TraceMap, source: string): string | null {\n const { sourcesContent } = map;\n if (sourcesContent == null) return null;\n const index = sourceIndex(map, source);\n return index === -1 ? null : sourcesContent[index];\n}\n\n/**\n * Determines if the source is marked to ignore by the source map.\n */\nexport function isIgnored(map: TraceMap, source: string): boolean {\n const { ignoreList } = map;\n if (ignoreList == null) return false;\n const index = sourceIndex(map, source);\n return index === -1 ? false : ignoreList.includes(index);\n}\n\n/**\n * A helper that skips sorting of the input map's mappings array, which can be expensive for larger\n * maps.\n */\nexport function presortedDecodedMap(map: DecodedSourceMap, mapUrl?: string): TraceMap {\n const tracer = new TraceMap(clone(map, []), mapUrl);\n cast(tracer)._decoded = map.mappings;\n return tracer;\n}\n\n/**\n * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function decodedMap(\n map: TraceMap,\n): Omit & { mappings: readonly SourceMapSegment[][] } {\n return clone(map, decodedMappings(map));\n}\n\n/**\n * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects\n * a sourcemap, or to JSON.stringify.\n */\nexport function encodedMap(map: TraceMap): EncodedSourceMap {\n return clone(map, encodedMappings(map));\n}\n\nfunction clone(\n map: TraceMap | DecodedSourceMap,\n mappings: T,\n): T extends string ? EncodedSourceMap : DecodedSourceMap {\n return {\n version: map.version,\n file: map.file,\n names: map.names,\n sourceRoot: map.sourceRoot,\n sources: map.sources,\n sourcesContent: map.sourcesContent,\n mappings,\n ignoreList: map.ignoreList || (map as XInput).x_google_ignoreList,\n } as any;\n}\n\nfunction OMapping(source: null, line: null, column: null, name: null): InvalidOriginalMapping;\nfunction OMapping(\n source: string,\n line: number,\n column: number,\n name: string | null,\n): OriginalMapping;\nfunction OMapping(\n source: string | null,\n line: number | null,\n column: number | null,\n name: string | null,\n): OriginalMapping | InvalidOriginalMapping {\n return { source, line, column, name } as any;\n}\n\nfunction GMapping(line: null, column: null): InvalidGeneratedMapping;\nfunction GMapping(line: number, column: number): GeneratedMapping;\nfunction GMapping(\n line: number | null,\n column: number | null,\n): GeneratedMapping | InvalidGeneratedMapping {\n return { line, column } as any;\n}\n\nfunction traceSegmentInternal(\n segments: SourceMapSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number;\nfunction traceSegmentInternal(\n segments: ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number;\nfunction traceSegmentInternal(\n segments: SourceMapSegment[] | ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): number {\n let index = memoizedBinarySearch(segments, column, memo, line);\n if (bsFound) {\n index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);\n } else if (bias === LEAST_UPPER_BOUND) index++;\n\n if (index === -1 || index === segments.length) return -1;\n return index;\n}\n\nfunction sliceGeneratedPositions(\n segments: ReverseSegment[],\n memo: MemoState,\n line: number,\n column: number,\n bias: Bias,\n): GeneratedMapping[] {\n let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);\n\n // We ignored the bias when tracing the segment so that we're guarnateed to find the first (in\n // insertion order) segment that matched. Even if we did respect the bias when tracing, we would\n // still need to call `lowerBound()` to find the first segment, which is slower than just looking\n // for the GREATEST_LOWER_BOUND to begin with. The only difference that matters for us is when the\n // binary search didn't match, in which case GREATEST_LOWER_BOUND just needs to increment to\n // match LEAST_UPPER_BOUND.\n if (!bsFound && bias === LEAST_UPPER_BOUND) min++;\n\n if (min === -1 || min === segments.length) return [];\n\n // We may have found the segment that started at an earlier column. If this is the case, then we\n // need to slice all generated segments that match _that_ column, because all such segments span\n // to our desired column.\n const matchedColumn = bsFound ? column : segments[min][COLUMN];\n\n // The binary search is not guaranteed to find the lower bound when a match wasn't found.\n if (!bsFound) min = lowerBound(segments, matchedColumn, min);\n const max = upperBound(segments, matchedColumn, min);\n\n const result = [];\n for (; min <= max; min++) {\n const segment = segments[min];\n result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));\n }\n return result;\n}\n\nfunction generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: false,\n): GeneratedMapping | InvalidGeneratedMapping;\nfunction generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: true,\n): GeneratedMapping[];\nfunction generatedPosition(\n map: TraceMap,\n source: string,\n line: number,\n column: number,\n bias: Bias,\n all: boolean,\n): GeneratedMapping | InvalidGeneratedMapping | GeneratedMapping[] {\n line--;\n if (line < 0) throw new Error(LINE_GTR_ZERO);\n if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n\n const { sources, resolvedSources } = map;\n let sourceIndex = sources.indexOf(source);\n if (sourceIndex === -1) sourceIndex = resolvedSources.indexOf(source);\n if (sourceIndex === -1) return all ? [] : GMapping(null, null);\n\n const generated = (cast(map)._bySources ||= buildBySources(\n decodedMappings(map),\n (cast(map)._bySourceMemos = sources.map(memoizedState)),\n ));\n\n const segments = generated[sourceIndex][line];\n if (segments == null) return all ? [] : GMapping(null, null);\n\n const memo = cast(map)._bySourceMemos![sourceIndex];\n\n if (all) return sliceGeneratedPositions(segments, memo, line, column, bias);\n\n const index = traceSegmentInternal(segments, memo, line, column, bias);\n if (index === -1) return GMapping(null, null);\n\n const segment = segments[index];\n return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {Context} from '../../core/context';\n\nexport class Bounds {\n constructor(readonly left: number, readonly top: number, readonly width: number, readonly height: number) {}\n\n add(x: number, y: number, w: number, h: number): Bounds {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n }\n\n static fromClientRect(context: Context, clientRect: ClientRect): Bounds {\n return new Bounds(\n clientRect.left + context.windowBounds.left,\n clientRect.top + context.windowBounds.top,\n clientRect.width,\n clientRect.height\n );\n }\n\n static fromDOMRectList(context: Context, domRectList: DOMRectList): Bounds {\n const domRect = Array.from(domRectList).find((rect) => rect.width !== 0);\n return domRect\n ? new Bounds(\n domRect.left + context.windowBounds.left,\n domRect.top + context.windowBounds.top,\n domRect.width,\n domRect.height\n )\n : Bounds.EMPTY;\n }\n\n static EMPTY = new Bounds(0, 0, 0, 0);\n}\n\nexport const parseBounds = (context: Context, node: Element): Bounds => {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\n\nexport const parseDocumentSize = (document: Document): Bounds => {\n const body = document.body;\n const documentElement = document.documentElement;\n\n if (!body || !documentElement) {\n throw new Error(`Unable to get document size`);\n }\n const width = Math.max(\n Math.max(body.scrollWidth, documentElement.scrollWidth),\n Math.max(body.offsetWidth, documentElement.offsetWidth),\n Math.max(body.clientWidth, documentElement.clientWidth)\n );\n\n const height = Math.max(\n Math.max(body.scrollHeight, documentElement.scrollHeight),\n Math.max(body.offsetHeight, documentElement.offsetHeight),\n Math.max(body.clientHeight, documentElement.clientHeight)\n );\n\n return new Bounds(0, 0, width, height);\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","export const base64 =\n 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\nexport const byteLength = 39664;\n","'use strict';\n\nimport {createTrieFromBase64} from 'utrie';\nimport {base64, byteLength} from './linebreak-trie';\nimport {fromCodePoint, toCodePoints} from './Util';\n\nexport const LETTER_NUMBER_MODIFIER = 50;\n\n// Non-tailorable Line Breaking Classes\nconst BK = 1; // Cause a line break (after)\nconst CR = 2; // Cause a line break (after), except between CR and LF\nconst LF = 3; // Cause a line break (after)\nconst CM = 4; // Prohibit a line break between the character and the preceding character\nconst NL = 5; // Cause a line break (after)\nconst SG = 6; // Do not occur in well-formed text\nconst WJ = 7; // Prohibit line breaks before and after\nconst ZW = 8; // Provide a break opportunity\nconst GL = 9; // Prohibit line breaks before and after\nconst SP = 10; // Enable indirect line breaks\nconst ZWJ = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nconst B2 = 12; // Provide a line break opportunity before and after the character\nconst BA = 13; // Generally provide a line break opportunity after the character\nconst BB = 14; // Generally provide a line break opportunity before the character\nconst HY = 15; // Provide a line break opportunity after the character, except in numeric context\nconst CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nconst CL = 17; // Prohibit line breaks before\nconst CP = 18; // Prohibit line breaks before\nconst EX = 19; // Prohibit line breaks before\nconst IN = 20; // Allow only indirect line breaks between pairs\nconst NS = 21; // Allow only indirect line breaks before\nconst OP = 22; // Prohibit line breaks after\nconst QU = 23; // Act like they are both opening and closing\n// Numeric Context\nconst IS = 24; // Prevent breaks after any and before numeric\nconst NU = 25; // Form numeric expressions for line breaking purposes\nconst PO = 26; // Do not break following a numeric expression\nconst PR = 27; // Do not break in front of a numeric expression\nconst SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nconst AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nconst AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nconst CJ = 31; // Treat as NS or ID for strict or normal breaking.\nconst EB = 32; // Do not break from following Emoji Modifier\nconst EM = 33; // Do not break from preceding Emoji Base\nconst H2 = 34; // Form Korean syllable blocks\nconst H3 = 35; // Form Korean syllable blocks\nconst HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nconst ID = 37; // Break before or after; except in some numeric context\nconst JL = 38; // Form Korean syllable blocks\nconst JV = 39; // Form Korean syllable blocks\nconst JT = 40; // Form Korean syllable blocks\nconst RI = 41; // Keep pairs together. For pairs; break before and after other classes\nconst SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nconst XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n\nconst ea_OP = [0x2329, 0xff08];\n\nexport const classes: {[key: string]: number} = {\n BK,\n CR,\n LF,\n CM,\n NL,\n SG,\n WJ,\n ZW,\n GL,\n SP,\n ZWJ,\n B2,\n BA,\n BB,\n HY,\n CB,\n CL,\n CP,\n EX,\n IN,\n NS,\n OP,\n QU,\n IS,\n NU,\n PO,\n PR,\n SY,\n AI,\n AL,\n CJ,\n EB,\n EM,\n H2,\n H3,\n HL,\n ID,\n JL,\n JV,\n JT,\n RI,\n SA,\n XX,\n};\n\nexport const BREAK_MANDATORY = '!';\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nconst ALPHABETICS = [AL, HL];\nconst HARD_LINE_BREAKS = [BK, CR, LF, NL];\nconst SPACE = [SP, ZW];\nconst PREFIX_POSTFIX = [PR, PO];\nconst LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);\nconst KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nconst HYPHEN = [HY, BA];\n\nexport const codePointsToCharacterClasses = (\n codePoints: number[],\n lineBreak: string = 'strict'\n): [number[], number[], boolean[]] => {\n const types: number[] = [];\n const indices: number[] = [];\n const categories: boolean[] = [];\n codePoints.forEach((codePoint, index) => {\n let classType = UnicodeTrie.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n } else {\n categories.push(false);\n }\n\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n\n if (classType === CM || classType === ZWJ) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n const prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n\n indices.push(index);\n\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n\n if (classType === SA) {\n return types.push(AL);\n }\n\n if (classType === AI) {\n return types.push(AL);\n }\n\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n } else {\n return types.push(AL);\n }\n }\n\n types.push(classType);\n });\n\n return [indices, types, categories];\n};\n\nconst isAdjacentWithSpaceIgnored = (\n a: number[] | number,\n b: number,\n currentIndex: number,\n classTypes: number[]\n): boolean => {\n const current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n let i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n let next = classTypes[i];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (current === SP) {\n let i = currentIndex;\n\n while (i > 0) {\n i--;\n const prev = classTypes[i];\n\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n let n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n let next = classTypes[n];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\n\nconst previousNonSpaceClassType = (currentIndex: number, classTypes: number[]): number => {\n let i = currentIndex;\n while (i >= 0) {\n let type = classTypes[i];\n if (type === SP) {\n i--;\n } else {\n return type;\n }\n }\n return 0;\n};\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED | typeof BREAK_MANDATORY;\n\nconst _lineBreakAtIndex = (\n codePoints: number[],\n classTypes: number[],\n indicies: number[],\n index: number,\n forbiddenBreaks?: boolean[]\n): BREAK_OPPORTUNITIES => {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n let currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED;\n }\n\n let beforeIndex = currentIndex - 1;\n let afterIndex = currentIndex + 1;\n let current = classTypes[currentIndex];\n\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n let before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n let next = classTypes[afterIndex];\n\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB7 Do not break before spaces or zero width space.\n if (SPACE.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED;\n }\n\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie.get(codePoints[afterIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED;\n }\n\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED;\n }\n\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if (\n (current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if (\n (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n let prevIndex = currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n let prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // LB26 Do not break a Korean syllable.\n if (\n (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB27 Treat a Korean Syllable Block the same as ID.\n if (\n (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if (\n (ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI && next === RI) {\n let i = indicies[currentIndex];\n let count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI) {\n count++;\n } else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED;\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const lineBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // LB2 Never break at the start of text.\n if (index === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB3 Always break at the end of text.\n if (index >= codePoints.length) {\n return BREAK_MANDATORY;\n }\n\n const [indices, classTypes] = codePointsToCharacterClasses(codePoints);\n\n return _lineBreakAtIndex(codePoints, classTypes, indices, index);\n};\n\nexport type LINE_BREAK = 'auto' | 'normal' | 'strict';\nexport type WORD_BREAK = 'normal' | 'break-all' | 'break-word' | 'keep-all';\n\ninterface IOptions {\n lineBreak?: LINE_BREAK;\n wordBreak?: WORD_BREAK;\n}\n\nconst cssFormattedClasses = (codePoints: number[], options?: IOptions): [number[], number[], boolean[] | undefined] => {\n if (!options) {\n options = {lineBreak: 'normal', wordBreak: 'normal'};\n }\n let [indicies, classTypes, isLetterNumber] = codePointsToCharacterClasses(codePoints, options.lineBreak);\n\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map((type) => ([NU, AL, SA].indexOf(type) !== -1 ? ID : type));\n }\n\n const forbiddenBreakpoints =\n options.wordBreak === 'keep-all'\n ? isLetterNumber.map((letterNumber, i) => {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n\n return [indicies, classTypes, forbiddenBreakpoints];\n};\n\nexport const inlineBreakOpportunities = (str: string, options?: IOptions): string => {\n const codePoints = toCodePoints(str);\n let output = BREAK_NOT_ALLOWED;\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n\n codePoints.forEach((codePoint, i) => {\n output +=\n fromCodePoint(codePoint) +\n (i >= codePoints.length - 1\n ? BREAK_MANDATORY\n : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints));\n });\n\n return output;\n};\n\nclass Break {\n private readonly codePoints: number[];\n readonly required: boolean;\n readonly start: number;\n readonly end: number;\n\n constructor(codePoints: number[], lineBreak: string, start: number, end: number) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n\n slice(): string {\n return fromCodePoint(...this.codePoints.slice(this.start, this.end));\n }\n}\n\nexport type LineBreak =\n | {\n done: true;\n value: null;\n }\n | {\n done: false;\n value: Break;\n };\n\ninterface ILineBreakIterator {\n next: () => LineBreak;\n}\n\nexport const LineBreaker = (str: string, options?: IOptions): ILineBreakIterator => {\n const codePoints = toCodePoints(str);\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n const length = codePoints.length;\n let lastEnd = 0;\n let nextIndex = 0;\n\n return {\n next: () => {\n if (nextIndex >= length) {\n return {done: true, value: null};\n }\n let lineBreak = BREAK_NOT_ALLOWED;\n while (\n nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED\n ) {}\n\n if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {\n const value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n },\n };\n};\n","// https://www.w3.org/TR/css-syntax-3\n\nimport {fromCodePoint, toCodePoints} from 'css-line-break';\n\nexport const enum TokenType {\n STRING_TOKEN,\n BAD_STRING_TOKEN,\n LEFT_PARENTHESIS_TOKEN,\n RIGHT_PARENTHESIS_TOKEN,\n COMMA_TOKEN,\n HASH_TOKEN,\n DELIM_TOKEN,\n AT_KEYWORD_TOKEN,\n PREFIX_MATCH_TOKEN,\n DASH_MATCH_TOKEN,\n INCLUDE_MATCH_TOKEN,\n LEFT_CURLY_BRACKET_TOKEN,\n RIGHT_CURLY_BRACKET_TOKEN,\n SUFFIX_MATCH_TOKEN,\n SUBSTRING_MATCH_TOKEN,\n DIMENSION_TOKEN,\n PERCENTAGE_TOKEN,\n NUMBER_TOKEN,\n FUNCTION,\n FUNCTION_TOKEN,\n IDENT_TOKEN,\n COLUMN_TOKEN,\n URL_TOKEN,\n BAD_URL_TOKEN,\n CDC_TOKEN,\n CDO_TOKEN,\n COLON_TOKEN,\n SEMICOLON_TOKEN,\n LEFT_SQUARE_BRACKET_TOKEN,\n RIGHT_SQUARE_BRACKET_TOKEN,\n UNICODE_RANGE_TOKEN,\n WHITESPACE_TOKEN,\n EOF_TOKEN\n}\n\ninterface IToken {\n type: TokenType;\n}\n\nexport interface Token extends IToken {\n type:\n | TokenType.BAD_URL_TOKEN\n | TokenType.BAD_STRING_TOKEN\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.RIGHT_PARENTHESIS_TOKEN\n | TokenType.COMMA_TOKEN\n | TokenType.SUBSTRING_MATCH_TOKEN\n | TokenType.PREFIX_MATCH_TOKEN\n | TokenType.SUFFIX_MATCH_TOKEN\n | TokenType.COLON_TOKEN\n | TokenType.SEMICOLON_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN\n | TokenType.RIGHT_CURLY_BRACKET_TOKEN\n | TokenType.DASH_MATCH_TOKEN\n | TokenType.INCLUDE_MATCH_TOKEN\n | TokenType.COLUMN_TOKEN\n | TokenType.WHITESPACE_TOKEN\n | TokenType.CDC_TOKEN\n | TokenType.CDO_TOKEN\n | TokenType.EOF_TOKEN;\n}\n\nexport interface StringValueToken extends IToken {\n type:\n | TokenType.STRING_TOKEN\n | TokenType.DELIM_TOKEN\n | TokenType.FUNCTION_TOKEN\n | TokenType.IDENT_TOKEN\n | TokenType.URL_TOKEN\n | TokenType.AT_KEYWORD_TOKEN;\n value: string;\n}\n\nexport interface HashToken extends IToken {\n type: TokenType.HASH_TOKEN;\n flags: number;\n value: string;\n}\n\nexport interface NumberValueToken extends IToken {\n type: TokenType.PERCENTAGE_TOKEN | TokenType.NUMBER_TOKEN;\n flags: number;\n number: number;\n}\n\nexport interface DimensionToken extends IToken {\n type: TokenType.DIMENSION_TOKEN;\n flags: number;\n unit: string;\n number: number;\n}\n\nexport interface UnicodeRangeToken extends IToken {\n type: TokenType.UNICODE_RANGE_TOKEN;\n start: number;\n end: number;\n}\n\nexport type CSSToken = Token | StringValueToken | NumberValueToken | DimensionToken | UnicodeRangeToken | HashToken;\n\nexport const FLAG_UNRESTRICTED = 1 << 0;\nexport const FLAG_ID = 1 << 1;\nexport const FLAG_INTEGER = 1 << 2;\nexport const FLAG_NUMBER = 1 << 3;\n\nconst LINE_FEED = 0x000a;\nconst SOLIDUS = 0x002f;\nconst REVERSE_SOLIDUS = 0x005c;\nconst CHARACTER_TABULATION = 0x0009;\nconst SPACE = 0x0020;\nconst QUOTATION_MARK = 0x0022;\nconst EQUALS_SIGN = 0x003d;\nconst NUMBER_SIGN = 0x0023;\nconst DOLLAR_SIGN = 0x0024;\nconst PERCENTAGE_SIGN = 0x0025;\nconst APOSTROPHE = 0x0027;\nconst LEFT_PARENTHESIS = 0x0028;\nconst RIGHT_PARENTHESIS = 0x0029;\nconst LOW_LINE = 0x005f;\nconst HYPHEN_MINUS = 0x002d;\nconst EXCLAMATION_MARK = 0x0021;\nconst LESS_THAN_SIGN = 0x003c;\nconst GREATER_THAN_SIGN = 0x003e;\nconst COMMERCIAL_AT = 0x0040;\nconst LEFT_SQUARE_BRACKET = 0x005b;\nconst RIGHT_SQUARE_BRACKET = 0x005d;\nconst CIRCUMFLEX_ACCENT = 0x003d;\nconst LEFT_CURLY_BRACKET = 0x007b;\nconst QUESTION_MARK = 0x003f;\nconst RIGHT_CURLY_BRACKET = 0x007d;\nconst VERTICAL_LINE = 0x007c;\nconst TILDE = 0x007e;\nconst CONTROL = 0x0080;\nconst REPLACEMENT_CHARACTER = 0xfffd;\nconst ASTERISK = 0x002a;\nconst PLUS_SIGN = 0x002b;\nconst COMMA = 0x002c;\nconst COLON = 0x003a;\nconst SEMICOLON = 0x003b;\nconst FULL_STOP = 0x002e;\nconst NULL = 0x0000;\nconst BACKSPACE = 0x0008;\nconst LINE_TABULATION = 0x000b;\nconst SHIFT_OUT = 0x000e;\nconst INFORMATION_SEPARATOR_ONE = 0x001f;\nconst DELETE = 0x007f;\nconst EOF = -1;\nconst ZERO = 0x0030;\nconst a = 0x0061;\nconst e = 0x0065;\nconst f = 0x0066;\nconst u = 0x0075;\nconst z = 0x007a;\nconst A = 0x0041;\nconst E = 0x0045;\nconst F = 0x0046;\nconst U = 0x0055;\nconst Z = 0x005a;\n\nconst isDigit = (codePoint: number) => codePoint >= ZERO && codePoint <= 0x0039;\nconst isSurrogateCodePoint = (codePoint: number) => codePoint >= 0xd800 && codePoint <= 0xdfff;\nconst isHex = (codePoint: number) =>\n isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\nconst isLowerCaseLetter = (codePoint: number) => codePoint >= a && codePoint <= z;\nconst isUpperCaseLetter = (codePoint: number) => codePoint >= A && codePoint <= Z;\nconst isLetter = (codePoint: number) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);\nconst isNonASCIICodePoint = (codePoint: number) => codePoint >= CONTROL;\nconst isWhiteSpace = (codePoint: number): boolean =>\n codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\nconst isNameStartCodePoint = (codePoint: number): boolean =>\n isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\nconst isNameCodePoint = (codePoint: number): boolean =>\n isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\nconst isNonPrintableCodePoint = (codePoint: number): boolean => {\n return (\n (codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE\n );\n};\nconst isValidEscape = (c1: number, c2: number): boolean => {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n\n return c2 !== LINE_FEED;\n};\nconst isIdentifierStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n } else if (isNameStartCodePoint(c1)) {\n return true;\n } else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\n\nconst isNumberStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n\n return c2 === FULL_STOP && isDigit(c3);\n }\n\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n\n return isDigit(c1);\n};\n\nconst stringToNumber = (codePoints: number[]): number => {\n let c = 0;\n let sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n\n const integers = [];\n\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n\n const int = integers.length ? parseInt(fromCodePoint(...integers), 10) : 0;\n\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n\n const fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n\n const fracd = fraction.length;\n const frac = fracd ? parseInt(fromCodePoint(...fraction), 10) : 0;\n\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n\n let expsign = 1;\n\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n\n const exponent = [];\n\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n\n const exp = exponent.length ? parseInt(fromCodePoint(...exponent), 10) : 0;\n\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\n\nconst LEFT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.LEFT_PARENTHESIS_TOKEN\n};\nconst RIGHT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.RIGHT_PARENTHESIS_TOKEN\n};\nconst COMMA_TOKEN: Token = {type: TokenType.COMMA_TOKEN};\nconst SUFFIX_MATCH_TOKEN: Token = {type: TokenType.SUFFIX_MATCH_TOKEN};\nconst PREFIX_MATCH_TOKEN: Token = {type: TokenType.PREFIX_MATCH_TOKEN};\nconst COLUMN_TOKEN: Token = {type: TokenType.COLUMN_TOKEN};\nconst DASH_MATCH_TOKEN: Token = {type: TokenType.DASH_MATCH_TOKEN};\nconst INCLUDE_MATCH_TOKEN: Token = {type: TokenType.INCLUDE_MATCH_TOKEN};\nconst LEFT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_CURLY_BRACKET_TOKEN\n};\nconst RIGHT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_CURLY_BRACKET_TOKEN\n};\nconst SUBSTRING_MATCH_TOKEN: Token = {type: TokenType.SUBSTRING_MATCH_TOKEN};\nconst BAD_URL_TOKEN: Token = {type: TokenType.BAD_URL_TOKEN};\nconst BAD_STRING_TOKEN: Token = {type: TokenType.BAD_STRING_TOKEN};\nconst CDO_TOKEN: Token = {type: TokenType.CDO_TOKEN};\nconst CDC_TOKEN: Token = {type: TokenType.CDC_TOKEN};\nconst COLON_TOKEN: Token = {type: TokenType.COLON_TOKEN};\nconst SEMICOLON_TOKEN: Token = {type: TokenType.SEMICOLON_TOKEN};\nconst LEFT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_SQUARE_BRACKET_TOKEN\n};\nconst RIGHT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n};\nconst WHITESPACE_TOKEN: Token = {type: TokenType.WHITESPACE_TOKEN};\nexport const EOF_TOKEN: Token = {type: TokenType.EOF_TOKEN};\n\nexport class Tokenizer {\n private _value: number[];\n\n constructor() {\n this._value = [];\n }\n\n write(chunk: string): void {\n this._value = this._value.concat(toCodePoints(chunk));\n }\n\n read(): CSSToken[] {\n const tokens = [];\n let token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n }\n\n private consumeToken(): CSSToken {\n const codePoint = this.consumeCodePoint();\n\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n const flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n const value = this.consumeName();\n\n return {type: TokenType.HASH_TOKEN, value, flags};\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n const e1 = codePoint;\n const e2 = this.peekCodePoint(0);\n const e3 = this.peekCodePoint(1);\n\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n let c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (\n this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS\n ) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n const a1 = this.peekCodePoint(0);\n const a2 = this.peekCodePoint(1);\n const a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n const value = this.consumeName();\n return {type: TokenType.AT_KEYWORD_TOKEN, value};\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n const u1 = this.peekCodePoint(0);\n const u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n return {type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint)};\n }\n\n private consumeCodePoint(): number {\n const value = this._value.shift();\n\n return typeof value === 'undefined' ? -1 : value;\n }\n\n private reconsumeCodePoint(codePoint: number) {\n this._value.unshift(codePoint);\n }\n\n private peekCodePoint(delta: number): number {\n if (delta >= this._value.length) {\n return -1;\n }\n\n return this._value[delta];\n }\n\n private consumeUnicodeRangeToken(): UnicodeRangeToken {\n const digits = [];\n let codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n let questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n\n if (questionMarks) {\n const start = parseInt(\n fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))),\n 16\n );\n const end = parseInt(fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n }\n\n const start = parseInt(fromCodePoint(...digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n const endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n const end = parseInt(fromCodePoint(...endDigits), 16);\n\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n } else {\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end: start};\n }\n }\n\n private consumeIdentLikeToken(): StringValueToken | Token {\n const value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n } else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.FUNCTION_TOKEN, value};\n }\n\n return {type: TokenType.IDENT_TOKEN, value};\n }\n\n private consumeUrlToken(): StringValueToken | Token {\n const value = [];\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF) {\n return {type: TokenType.URL_TOKEN, value: ''};\n }\n\n const next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n const stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === TokenType.STRING_TOKEN) {\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: stringToken.value};\n }\n }\n\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n } else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (\n codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)\n ) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n } else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n } else {\n value.push(codePoint);\n }\n }\n }\n\n private consumeWhiteSpace(): void {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n }\n\n private consumeBadUrlRemnants(): void {\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n }\n\n private consumeStringSlice(count: number): string {\n const SLICE_STACK_SIZE = 50000;\n let value = '';\n while (count > 0) {\n const amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint(...this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n\n return value;\n }\n\n private consumeStringToken(endingCodePoint: number): StringValueToken | Token {\n let value = '';\n let i = 0;\n\n do {\n const codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return {type: TokenType.STRING_TOKEN, value};\n }\n\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n\n if (codePoint === REVERSE_SOLIDUS) {\n const next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n } else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n\n i++;\n } while (true);\n }\n\n private consumeNumber() {\n const repr = [];\n let type = FLAG_INTEGER;\n let c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n let c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n return [stringToNumber(repr), type];\n }\n\n private consumeNumericToken(): NumberValueToken | DimensionToken {\n const [number, flags] = this.consumeNumber();\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n\n if (isIdentifierStart(c1, c2, c3)) {\n const unit = this.consumeName();\n return {type: TokenType.DIMENSION_TOKEN, number, flags, unit};\n }\n\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return {type: TokenType.PERCENTAGE_TOKEN, number, flags};\n }\n\n return {type: TokenType.NUMBER_TOKEN, number, flags};\n }\n\n private consumeEscapedCodePoint(): number {\n const codePoint = this.consumeCodePoint();\n\n if (isHex(codePoint)) {\n let hex = fromCodePoint(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint(this.consumeCodePoint());\n }\n\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n\n const hexCodePoint = parseInt(hex, 16);\n\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n\n return hexCodePoint;\n }\n\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n\n return codePoint;\n }\n\n private consumeName(): string {\n let result = '';\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint(codePoint);\n } else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint(this.consumeEscapedCodePoint());\n } else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n }\n}\n","import {\n CSSToken,\n DimensionToken,\n EOF_TOKEN,\n NumberValueToken,\n StringValueToken,\n Tokenizer,\n TokenType\n} from './tokenizer';\n\nexport type CSSBlockType =\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN;\n\nexport interface CSSBlock {\n type: CSSBlockType;\n values: CSSValue[];\n}\n\nexport interface CSSFunction {\n type: TokenType.FUNCTION;\n name: string;\n values: CSSValue[];\n}\n\nexport type CSSValue = CSSFunction | CSSToken | CSSBlock;\n\nexport class Parser {\n private _tokens: CSSToken[];\n\n constructor(tokens: CSSToken[]) {\n this._tokens = tokens;\n }\n\n static create(value: string): Parser {\n const tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n }\n\n static parseValue(value: string): CSSValue {\n return Parser.create(value).parseComponentValue();\n }\n\n static parseValues(value: string): CSSValue[] {\n return Parser.create(value).parseComponentValues();\n }\n\n parseComponentValue(): CSSValue {\n let token = this.consumeToken();\n while (token.type === TokenType.WHITESPACE_TOKEN) {\n token = this.consumeToken();\n }\n\n if (token.type === TokenType.EOF_TOKEN) {\n throw new SyntaxError(`Error parsing CSS component value, unexpected EOF`);\n }\n\n this.reconsumeToken(token);\n const value = this.consumeComponentValue();\n\n do {\n token = this.consumeToken();\n } while (token.type === TokenType.WHITESPACE_TOKEN);\n\n if (token.type === TokenType.EOF_TOKEN) {\n return value;\n }\n\n throw new SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`);\n }\n\n parseComponentValues(): CSSValue[] {\n const values = [];\n while (true) {\n const value = this.consumeComponentValue();\n if (value.type === TokenType.EOF_TOKEN) {\n return values;\n }\n values.push(value);\n values.push();\n }\n }\n\n private consumeComponentValue(): CSSValue {\n const token = this.consumeToken();\n\n switch (token.type) {\n case TokenType.LEFT_CURLY_BRACKET_TOKEN:\n case TokenType.LEFT_SQUARE_BRACKET_TOKEN:\n case TokenType.LEFT_PARENTHESIS_TOKEN:\n return this.consumeSimpleBlock(token.type);\n case TokenType.FUNCTION_TOKEN:\n return this.consumeFunction(token);\n }\n\n return token;\n }\n\n private consumeSimpleBlock(type: CSSBlockType): CSSBlock {\n const block: CSSBlock = {type, values: []};\n\n let token = this.consumeToken();\n while (true) {\n if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {\n return block;\n }\n\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n }\n\n private consumeFunction(functionToken: StringValueToken): CSSFunction {\n const cssFunction: CSSFunction = {\n name: functionToken.value,\n values: [],\n type: TokenType.FUNCTION\n };\n\n while (true) {\n const token = this.consumeToken();\n if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {\n return cssFunction;\n }\n\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n }\n\n private consumeToken(): CSSToken {\n const token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n }\n\n private reconsumeToken(token: CSSToken): void {\n this._tokens.unshift(token);\n }\n}\n\nexport const isDimensionToken = (token: CSSValue): token is DimensionToken => token.type === TokenType.DIMENSION_TOKEN;\nexport const isNumberToken = (token: CSSValue): token is NumberValueToken => token.type === TokenType.NUMBER_TOKEN;\nexport const isIdentToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.IDENT_TOKEN;\nexport const isStringToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.STRING_TOKEN;\nexport const isIdentWithValue = (token: CSSValue, value: string): boolean =>\n isIdentToken(token) && token.value === value;\n\nexport const nonWhiteSpace = (token: CSSValue): boolean => token.type !== TokenType.WHITESPACE_TOKEN;\nexport const nonFunctionArgSeparator = (token: CSSValue): boolean =>\n token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;\n\nexport const parseFunctionArgs = (tokens: CSSValue[]): CSSValue[][] => {\n const args: CSSValue[][] = [];\n let arg: CSSValue[] = [];\n tokens.forEach((token) => {\n if (token.type === TokenType.COMMA_TOKEN) {\n if (arg.length === 0) {\n throw new Error(`Error parsing function args, zero tokens for arg`);\n }\n args.push(arg);\n arg = [];\n return;\n }\n\n if (token.type !== TokenType.WHITESPACE_TOKEN) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n\n return args;\n};\n\nconst isEndingTokenFor = (token: CSSToken, type: CSSBlockType): boolean => {\n if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {\n return true;\n }\n if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {\n return true;\n }\n\n return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;\n};\n","import {CSSValue} from '../syntax/parser';\nimport {DimensionToken, NumberValueToken, TokenType} from '../syntax/tokenizer';\n\nexport type Length = DimensionToken | NumberValueToken;\n\nexport const isLength = (token: CSSValue): token is Length =>\n token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;\n","import {DimensionToken, FLAG_INTEGER, NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {isLength} from './length';\nexport type LengthPercentage = DimensionToken | NumberValueToken;\nexport type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];\n\nexport const isLengthPercentage = (token: CSSValue): token is LengthPercentage =>\n token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);\nexport const parseLengthPercentageTuple = (tokens: LengthPercentage[]): LengthPercentageTuple =>\n tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\nexport const ZERO_LENGTH: NumberValueToken = {\n type: TokenType.NUMBER_TOKEN,\n number: 0,\n flags: FLAG_INTEGER\n};\n\nexport const FIFTY_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\n\nexport const HUNDRED_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 100,\n flags: FLAG_INTEGER\n};\n\nexport const getAbsoluteValueForTuple = (\n tuple: LengthPercentageTuple,\n width: number,\n height: number\n): [number, number] => {\n const [x, y] = tuple;\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nexport const getAbsoluteValue = (token: LengthPercentage, parent: number): number => {\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n return (token.number / 100) * parent;\n }\n\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n\n return token.number;\n};\n","import {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {HUNDRED_PERCENT, ZERO_LENGTH} from './length-percentage';\nimport {GradientCorner} from './image';\nimport {Context} from '../../core/context';\n\nconst DEG = 'deg';\nconst GRAD = 'grad';\nconst RAD = 'rad';\nconst TURN = 'turn';\n\nexport const angle: ITypeDescriptor = {\n name: 'angle',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n\n throw new Error(`Unsupported angle type`);\n }\n};\n\nexport const isAngle = (value: CSSValue): boolean => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\n\nexport const parseNamedSide = (tokens: CSSValue[]): number | GradientCorner => {\n const sideOrCorner = tokens\n .filter(isIdentToken)\n .map((ident) => ident.value)\n .join(' ');\n\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n\n return 0;\n};\n\nexport const deg = (deg: number): number => (Math.PI * deg) / 180;\n","import {CSSValue, nonFunctionArgSeparator, Parser} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {angle, deg} from './angle';\nimport {getAbsoluteValue, isLengthPercentage} from './length-percentage';\nimport {Context} from '../../core/context';\nexport type Color = number;\n\nexport const color: ITypeDescriptor = {\n name: 'color',\n parse: (context: Context, value: CSSValue): Color => {\n if (value.type === TokenType.FUNCTION) {\n const colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported color function \"${value.name}\"`);\n }\n return colorFunction(context, value.values);\n }\n\n if (value.type === TokenType.HASH_TOKEN) {\n if (value.value.length === 3) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n\n if (value.value.length === 4) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n const a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n\n if (value.value.length === 6) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n\n if (value.value.length === 8) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n const a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n\n if (value.type === TokenType.IDENT_TOKEN) {\n const namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n\n return COLORS.TRANSPARENT;\n }\n};\n\nexport const isTransparent = (color: Color): boolean => (0xff & color) === 0;\n\nexport const asString = (color: Color): string => {\n const alpha = 0xff & color;\n const blue = 0xff & (color >> 8);\n const green = 0xff & (color >> 16);\n const red = 0xff & (color >> 24);\n return alpha < 255 ? `rgba(${red},${green},${blue},${alpha / 255})` : `rgb(${red},${green},${blue})`;\n};\n\nexport const pack = (r: number, g: number, b: number, a: number): Color =>\n ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n\nconst getTokenColorValue = (token: CSSValue, i: number): number => {\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n const max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n\n return 0;\n};\n\nconst rgb = (_context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n\n if (tokens.length === 3) {\n const [r, g, b] = tokens.map(getTokenColorValue);\n return pack(r, g, b, 1);\n }\n\n if (tokens.length === 4) {\n const [r, g, b, a] = tokens.map(getTokenColorValue);\n return pack(r, g, b, a);\n }\n\n return 0;\n};\n\nfunction hue2rgb(t1: number, t2: number, hue: number): number {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n } else if (hue < 1 / 2) {\n return t2;\n } else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n } else {\n return t1;\n }\n}\n\nconst hsl = (context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n const [hue, saturation, lightness, alpha] = tokens;\n\n const h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n const s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n const l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n const a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n\n const t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n\n const t1 = l * 2 - t2;\n const r = hue2rgb(t1, t2, h + 1 / 3);\n const g = hue2rgb(t1, t2, h);\n const b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\n\nconst SUPPORTED_COLOR_FUNCTIONS: {\n [key: string]: (context: Context, args: CSSValue[]) => number;\n} = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\n\nexport const parseColor = (context: Context, value: string): Color =>\n color.parse(context, Parser.create(value).parseComponentValue());\n\nexport const COLORS: {[key: string]: Color} = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum BACKGROUND_CLIP {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundClip = BACKGROUND_CLIP[];\n\nexport const backgroundClip: IPropertyListDescriptor = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundClip => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_CLIP.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_CLIP.CONTENT_BOX;\n }\n }\n return BACKGROUND_CLIP.BORDER_BOX;\n });\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const backgroundColor: IPropertyTypeValueDescriptor = {\n name: `background-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue} from '../../syntax/parser';\nimport {\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n GradientColorStop,\n GradientCorner,\n UnprocessedGradientColorStop\n} from '../image';\nimport {color as colorType} from '../color';\nimport {getAbsoluteValue, HUNDRED_PERCENT, isLengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const parseColorStop = (context: Context, args: CSSValue[]): UnprocessedGradientColorStop => {\n const color = colorType.parse(context, args[0]);\n const stop = args[1];\n return stop && isLengthPercentage(stop) ? {color, stop} : {color, stop: null};\n};\n\nexport const processColorStops = (stops: UnprocessedGradientColorStop[], lineLength: number): GradientColorStop[] => {\n const first = stops[0];\n const last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n\n const processStops: (number | null)[] = [];\n let previous = 0;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i].stop;\n if (stop !== null) {\n const absoluteValue = getAbsoluteValue(stop, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n } else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n } else {\n processStops.push(null);\n }\n }\n\n let gapBegin = null;\n for (let i = 0; i < processStops.length; i++) {\n const stop = processStops[i];\n if (stop === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n } else if (gapBegin !== null) {\n const gapLength = i - gapBegin;\n const beforeGap = processStops[gapBegin - 1] as number;\n const gapValue = (stop - beforeGap) / (gapLength + 1);\n for (let g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n\n return stops.map(({color}, i) => {\n return {color, stop: Math.max(Math.min(1, (processStops[i] as number) / lineLength), 0)};\n });\n};\n\nconst getAngleFromCorner = (corner: GradientCorner, width: number, height: number): number => {\n const centerX = width / 2;\n const centerY = height / 2;\n const x = getAbsoluteValue(corner[0], width) - centerX;\n const y = centerY - getAbsoluteValue(corner[1], height);\n\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\n\nexport const calculateGradientDirection = (\n angle: number | GradientCorner,\n width: number,\n height: number\n): [number, number, number, number, number] => {\n const radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n\n const lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n\n const halfWidth = width / 2;\n const halfHeight = height / 2;\n const halfLineLength = lineLength / 2;\n\n const yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n const xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\n\nconst distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);\n\nconst findCorner = (width: number, height: number, x: number, y: number, closest: boolean): [number, number] => {\n const corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n\n return corners.reduce(\n (stat, corner) => {\n const [cx, cy] = corner;\n const d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n\n return stat;\n },\n {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }\n ).optimumCorner as [number, number];\n};\n\nexport const calculateRadius = (\n gradient: CSSRadialGradientImage,\n x: number,\n y: number,\n width: number,\n height: number\n): [number, number] => {\n let rx = 0;\n let ry = 0;\n\n switch (gradient.size) {\n case CSSRadialExtent.CLOSEST_SIDE:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.CLOSEST_CORNER:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n const c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, true);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n\n case CSSRadialExtent.FARTHEST_SIDE:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.FARTHEST_CORNER:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n const c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, false);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n\n return [rx, ry];\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {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 '];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload/*:Array*/ = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(table_fmt[xf.numFmtId])}));\n\n\t\tvar o = /*::(*/{\"ss:ID\": \"s\" + (21+id)}/*:: :any)*/;\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb/*::, opts*/)/*:string*/ {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tvar o/*:Array*/ = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments/*:Array*/)/*:string*/ {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R/*:number*/, row)/*:string*/ {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws['!ref']) return \"\";\n\tvar range/*:Range*/ = safe_decode_range(ws['!ref']);\n\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\tvar o/*:Array*/ = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k/*:any*/ = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t/*:string*/ = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts)/*:string*/ {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = dup(table_fmt);\n\tif(wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d/*:Array*/ = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj/*:CFBEntry*/) {\n\tvar v = {};\n\tvar o = obj.content;\n\t/*:: if(o == null) return; */\n\n\t/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m/*:number*/ = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue 0x003c\n\t- 2.4.59 ContinueBigName 0x043c\n\t- 2.4.60 ContinueFrt 0x0812\n\t- 2.4.61 ContinueFrt11 0x0875\n\t- 2.4.62 ContinueFrt12 0x087f\n*/\nvar CONTINUE_RT = [ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ];\nfunction slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) {\n\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002f /* FilePass */: case 0x0195 /* FileLock */: case 0x00e1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */:\n\t\tbreak;\n\tcase 0x0085 /* BoundSheet8 */:\n\t\tbreak;\n\tdefault:\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt];\n\tvar start = 0;\n\twhile(next != null && CONTINUE_RT.indexOf(nextrt) > -1) {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(nextrt == 0x0812 /* ContinueFrt */) start += 4;\n\t\telse if(nextrt == 0x0875 || nextrt == 0x087f) {\n\t\t\tstart += 12;\n\t\t}\n\t\td = blob.slice(start,blob.l+4+l);\n\t\tbufs.push(d);\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs)/*:any*/);\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\tif(b.length < length) throw \"XLS Record 0x\" + RecordType.toString(16) + \" Truncated: \" + b.length + \" < \" + length;\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF_general(p.v);\n\t\t}\n\t\telse p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t)/*:Cell*/ {\n\treturn ({v:val, ixfe:ixfe, t:t}/*:any*/);\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {\n\tvar wb = ({opts:{}}/*:any*/);\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out/*:Worksheet*/ = ((options.dense ? [] : {})/*:any*/);\n\tvar Directory = {};\n\tvar range/*:Range*/ = ({}/*:any*/);\n\tvar last_formula = null;\n\tvar sst/*:SST*/ = ([]/*:any*/);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc/*:Cell*/, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar temp_val/*:Cell*/;\n\tvar country;\n\tvar XFs = []; /* XF records */\n\tvar palette/*:Array<[number, number, number]>*/ = [];\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {};\n\tvar get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line/*:any*/, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({}/*:any*/);\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t}/*:any*/);\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges/*:Array*/ = [];\n\tvar objects = [];\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\tvar supbooks = ([]/*:any*/); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_RT = 0;\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable/*:Array*/ = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl/*:?DefinedName*/;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_RT === 0x000a /* EOF */) break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break;\n\t\t\t}\n\t\t\tlast_RT = RecordType;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){\n\t\t\t\t\tblob.l += 10; length -= 10;\n\t\t\t\t} // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val/*:any*/ = ({}/*:any*/);\n\t\t\tif(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/;\n\t\t\telse val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/;\n\t\t\t/*:: val = (val:any); */\n\t\t\tif(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue;\n\t\t\tswitch(RecordType) {\n\t\t\t\tcase 0x0022 /* Date1904 */:\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\twb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 0x002f /* FilePass */:\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x005c /* WriteAccess */: opts.lastuser = val; break;\n\t\t\t\tcase 0x0042 /* CodePage */:\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x013d /* RRTabId */: opts.rrtabid = val; break;\n\t\t\t\tcase 0x0019 /* WinProtect */: opts.winlocked = val; break;\n\t\t\t\tcase 0x01b7 /* RefreshAll */: wb.opts[\"RefreshAll\"] = val; break;\n\t\t\t\tcase 0x000c /* CalcCount */: wb.opts[\"CalcCount\"] = val; break;\n\t\t\t\tcase 0x0010 /* CalcDelta */: wb.opts[\"CalcDelta\"] = val; break;\n\t\t\t\tcase 0x0011 /* CalcIter */: wb.opts[\"CalcIter\"] = val; break;\n\t\t\t\tcase 0x000d /* CalcMode */: wb.opts[\"CalcMode\"] = val; break;\n\t\t\t\tcase 0x000e /* CalcPrecision */: wb.opts[\"CalcPrecision\"] = val; break;\n\t\t\t\tcase 0x005f /* CalcSaveRecalc */: wb.opts[\"CalcSaveRecalc\"] = val; break;\n\t\t\t\tcase 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break;\n\t\t\t\tcase 0x0081 /* WsBool */:\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tif(!val.fBelow) (out[\"!outline\"] || (out[\"!outline\"] = {})).above = true;\n\t\t\t\t\tif(!val.fRight) (out[\"!outline\"] || (out[\"!outline\"] = {})).left = true;\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 0x00e0 /* XF */:\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 0x01ae /* SupBook */:\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0023: case 0x0223 /* ExternName */:\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0018: case 0x0218 /* Lbl */:\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t}/*:DefinedName*/);\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0016 /* ExternCount */: opts.ExternCount = val; break;\n\t\t\t\tcase 0x0017 /* ExternSheet */:\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 0x0894 /* NameCmt */:\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0012 /* Protect */: out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 0x0085 /* BoundSheet8 */: {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 0x000a /* EOF */: {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n\t\t\t\t\t\t/*::[*/0x0009/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0209/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0409/*::]*/:4\n\t\t\t\t\t}[RecordType] || {\n\t\t\t\t\t\t/*::[*/0x0200/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0300/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0400/*::]*/:4,\n\t\t\t\t\t\t/*::[*/0x0500/*::]*/:5,\n\t\t\t\t\t\t/*::[*/0x0600/*::]*/:8,\n\t\t\t\t\t\t/*::[*/0x0002/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0007/*::]*/:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\topts.biffguess = val.BIFFVer == 0;\n\t\t\t\t\tif(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); }\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\n\t\t\t\t\tif(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\t\t\t\tcase 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0005: case 0x0205 /* BoolErr */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x027e /* RK */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00bd /* MulRk */: {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0006: case 0x0206: case 0x0406 /* Formula */: {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x0007: case 0x0207 /* String */: {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 0x0021: case 0x0221 /* Array */: {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x04bc /* ShrFmla */: {\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fd /* LabelSst */:\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0201 /* Blank */: if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00be /* MulBlank */: if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00d6 /* RString */:\n\t\t\t\tcase 0x0204 /* Label */: case 0x0004 /* BIFF2STR */:\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 0x0000: case 0x0200 /* Dimensions */: {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fc /* SST */: {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x041e /* Format */: { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF_load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF_load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 0x001e /* BIFF2FORMAT */: {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF_load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x00e5 /* MergeCells */: merges = merges.concat(val); break;\n\n\t\t\t\tcase 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 0x01b6 /* TxO */: opts.lastobj.TxO = val; break;\n\t\t\t\tcase 0x007f /* ImData */: opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 0x01b8 /* HLink */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0800 /* HLinkTooltip */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x001c /* Note */: {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\t\t\t\tcase 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break;\n\t\t\t\tcase 0x007d /* ColInfo */: {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0208 /* Row */: {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0026 /* LeftMargin */:\n\t\t\t\tcase 0x0027 /* RightMargin */:\n\t\t\t\tcase 0x0028 /* TopMargin */:\n\t\t\t\tcase 0x0029 /* BottomMargin */:\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][({0x26: \"left\", 0x27:\"right\", 0x28:\"top\", 0x29:\"bottom\"})[RecordType]] = val;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x00a1 /* Setup */: // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x023e /* Window2 */: // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0092 /* Palette */: palette = val; break;\n\t\t\t\tcase 0x0896 /* Theme */: themes = val; break;\n\t\t\t\tcase 0x008c /* Country */: country = val; break;\n\t\t\t\tcase 0x01ba /* CodeName */: {\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\tif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t}\n\t\t} else {\n\t\t\tif(!R) console.error(\"Missing Info for XLS Record 0x\" + RecordType.toString(16));\n\t\t\tblob.l += length;\n\t\t}\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(!wb.SheetNames.length && Preamble[\"!ref\"]) {\n\t\twb.SheetNames.push(\"Sheet1\");\n\t\t/*jshint -W069 */\n\t\tif(wb.Sheets) wb.Sheets[\"Sheet1\"] = Preamble;\n\t\t/*jshint +W069 */\n\t} else wb.Preamble=Preamble;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Strings = sst;\n\twb.SSF = dup(table_fmt);\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb/*:CFBContainer*/, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '/!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '/!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tvar DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, \"n\");\n\tvar SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, \"n\");\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj/*:?CFBEntry*/, WB/*:?any*/;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64_decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb}/*:any*/);\n}\nvar /*::CompObjP, */WorkbookP/*:: :Workbook = XLSX.utils.book_new(); */;\n\nvar _data/*:?any*/;\nif(CompObj) /*::CompObjP = */parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/);\nelse/*:: if(cfb instanceof CFBContainer) */ {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Works 4 for Mac */\n\telse if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error(\"Unsupported Works 4 for Mac file\");\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:CFBContainer*/ {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n\t/*::[*/0x0000/*::]*/: { /* n:\"BrtRowHdr\", */ f:parse_BrtRowHdr },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BrtCellBlank\", */ f:parse_BrtCellBlank },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BrtCellRk\", */ f:parse_BrtCellRk },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BrtCellError\", */ f:parse_BrtCellError },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BrtCellBool\", */ f:parse_BrtCellBool },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BrtCellReal\", */ f:parse_BrtCellReal },\n\t/*::[*/0x0006/*::]*/: { /* n:\"BrtCellSt\", */ f:parse_BrtCellSt },\n\t/*::[*/0x0007/*::]*/: { /* n:\"BrtCellIsst\", */ f:parse_BrtCellIsst },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BrtFmlaString\", */ f:parse_BrtFmlaString },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BrtFmlaNum\", */ f:parse_BrtFmlaNum },\n\t/*::[*/0x000A/*::]*/: { /* n:\"BrtFmlaBool\", */ f:parse_BrtFmlaBool },\n\t/*::[*/0x000B/*::]*/: { /* n:\"BrtFmlaError\", */ f:parse_BrtFmlaError },\n\t/*::[*/0x000C/*::]*/: { /* n:\"BrtShortBlank\", */ f:parse_BrtShortBlank },\n\t/*::[*/0x000D/*::]*/: { /* n:\"BrtShortRk\", */ f:parse_BrtShortRk },\n\t/*::[*/0x000E/*::]*/: { /* n:\"BrtShortError\", */ f:parse_BrtShortError },\n\t/*::[*/0x000F/*::]*/: { /* n:\"BrtShortBool\", */ f:parse_BrtShortBool },\n\t/*::[*/0x0010/*::]*/: { /* n:\"BrtShortReal\", */ f:parse_BrtShortReal },\n\t/*::[*/0x0011/*::]*/: { /* n:\"BrtShortSt\", */ f:parse_BrtShortSt },\n\t/*::[*/0x0012/*::]*/: { /* n:\"BrtShortIsst\", */ f:parse_BrtShortIsst },\n\t/*::[*/0x0013/*::]*/: { /* n:\"BrtSSTItem\", */ f:parse_RichStr },\n\t/*::[*/0x0014/*::]*/: { /* n:\"BrtPCDIMissing\" */ },\n\t/*::[*/0x0015/*::]*/: { /* n:\"BrtPCDINumber\" */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"BrtPCDIBoolean\" */ },\n\t/*::[*/0x0017/*::]*/: { /* n:\"BrtPCDIError\" */ },\n\t/*::[*/0x0018/*::]*/: { /* n:\"BrtPCDIString\" */ },\n\t/*::[*/0x0019/*::]*/: { /* n:\"BrtPCDIDatetime\" */ },\n\t/*::[*/0x001A/*::]*/: { /* n:\"BrtPCDIIndex\" */ },\n\t/*::[*/0x001B/*::]*/: { /* n:\"BrtPCDIAMissing\" */ },\n\t/*::[*/0x001C/*::]*/: { /* n:\"BrtPCDIANumber\" */ },\n\t/*::[*/0x001D/*::]*/: { /* n:\"BrtPCDIABoolean\" */ },\n\t/*::[*/0x001E/*::]*/: { /* n:\"BrtPCDIAError\" */ },\n\t/*::[*/0x001F/*::]*/: { /* n:\"BrtPCDIAString\" */ },\n\t/*::[*/0x0020/*::]*/: { /* n:\"BrtPCDIADatetime\" */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"BrtPCRRecord\" */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"BrtPCRRecordDt\" */ },\n\t/*::[*/0x0023/*::]*/: { /* n:\"BrtFRTBegin\", */ T:1 },\n\t/*::[*/0x0024/*::]*/: { /* n:\"BrtFRTEnd\", */ T:-1 },\n\t/*::[*/0x0025/*::]*/: { /* n:\"BrtACBegin\", */ T:1 },\n\t/*::[*/0x0026/*::]*/: { /* n:\"BrtACEnd\", */ T:-1 },\n\t/*::[*/0x0027/*::]*/: { /* n:\"BrtName\", */ f:parse_BrtName },\n\t/*::[*/0x0028/*::]*/: { /* n:\"BrtIndexRowBlock\" */ },\n\t/*::[*/0x002A/*::]*/: { /* n:\"BrtIndexBlock\" */ },\n\t/*::[*/0x002B/*::]*/: { /* n:\"BrtFont\", */ f:parse_BrtFont },\n\t/*::[*/0x002C/*::]*/: { /* n:\"BrtFmt\", */ f:parse_BrtFmt },\n\t/*::[*/0x002D/*::]*/: { /* n:\"BrtFill\", */ f:parse_BrtFill },\n\t/*::[*/0x002E/*::]*/: { /* n:\"BrtBorder\", */ f:parse_BrtBorder },\n\t/*::[*/0x002F/*::]*/: { /* n:\"BrtXF\", */ f:parse_BrtXF },\n\t/*::[*/0x0030/*::]*/: { /* n:\"BrtStyle\" */ },\n\t/*::[*/0x0031/*::]*/: { /* n:\"BrtCellMeta\", */ f:parse_Int32LE },\n\t/*::[*/0x0032/*::]*/: { /* n:\"BrtValueMeta\" */ },\n\t/*::[*/0x0033/*::]*/: { /* n:\"BrtMdb\" */ f:parse_BrtMdb },\n\t/*::[*/0x0034/*::]*/: { /* n:\"BrtBeginFmd\", */ T:1 },\n\t/*::[*/0x0035/*::]*/: { /* n:\"BrtEndFmd\", */ T:-1 },\n\t/*::[*/0x0036/*::]*/: { /* n:\"BrtBeginMdx\", */ T:1 },\n\t/*::[*/0x0037/*::]*/: { /* n:\"BrtEndMdx\", */ T:-1 },\n\t/*::[*/0x0038/*::]*/: { /* n:\"BrtBeginMdxTuple\", */ T:1 },\n\t/*::[*/0x0039/*::]*/: { /* n:\"BrtEndMdxTuple\", */ T:-1 },\n\t/*::[*/0x003A/*::]*/: { /* n:\"BrtMdxMbrIstr\" */ },\n\t/*::[*/0x003B/*::]*/: { /* n:\"BrtStr\" */ },\n\t/*::[*/0x003C/*::]*/: { /* n:\"BrtColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x003E/*::]*/: { /* n:\"BrtCellRString\", */ f:parse_BrtCellRString },\n\t/*::[*/0x003F/*::]*/: { /* n:\"BrtCalcChainItem$\", */ f:parse_BrtCalcChainItem$ },\n\t/*::[*/0x0040/*::]*/: { /* n:\"BrtDVal\", */ f:parse_BrtDVal },\n\t/*::[*/0x0041/*::]*/: { /* n:\"BrtSxvcellNum\" */ },\n\t/*::[*/0x0042/*::]*/: { /* n:\"BrtSxvcellStr\" */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BrtSxvcellBool\" */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BrtSxvcellErr\" */ },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BrtSxvcellDate\" */ },\n\t/*::[*/0x0046/*::]*/: { /* n:\"BrtSxvcellNil\" */ },\n\t/*::[*/0x0080/*::]*/: { /* n:\"BrtFileVersion\" */ },\n\t/*::[*/0x0081/*::]*/: { /* n:\"BrtBeginSheet\", */ T:1 },\n\t/*::[*/0x0082/*::]*/: { /* n:\"BrtEndSheet\", */ T:-1 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"BrtBeginBook\", */ T:1, f:parsenoop, p:0 },\n\t/*::[*/0x0084/*::]*/: { /* n:\"BrtEndBook\", */ T:-1 },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BrtBeginWsViews\", */ T:1 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"BrtEndWsViews\", */ T:-1 },\n\t/*::[*/0x0087/*::]*/: { /* n:\"BrtBeginBookViews\", */ T:1 },\n\t/*::[*/0x0088/*::]*/: { /* n:\"BrtEndBookViews\", */ T:-1 },\n\t/*::[*/0x0089/*::]*/: { /* n:\"BrtBeginWsView\", */ T:1, f:parse_BrtBeginWsView },\n\t/*::[*/0x008A/*::]*/: { /* n:\"BrtEndWsView\", */ T:-1 },\n\t/*::[*/0x008B/*::]*/: { /* n:\"BrtBeginCsViews\", */ T:1 },\n\t/*::[*/0x008C/*::]*/: { /* n:\"BrtEndCsViews\", */ T:-1 },\n\t/*::[*/0x008D/*::]*/: { /* n:\"BrtBeginCsView\", */ T:1 },\n\t/*::[*/0x008E/*::]*/: { /* n:\"BrtEndCsView\", */ T:-1 },\n\t/*::[*/0x008F/*::]*/: { /* n:\"BrtBeginBundleShs\", */ T:1 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"BrtEndBundleShs\", */ T:-1 },\n\t/*::[*/0x0091/*::]*/: { /* n:\"BrtBeginSheetData\", */ T:1 },\n\t/*::[*/0x0092/*::]*/: { /* n:\"BrtEndSheetData\", */ T:-1 },\n\t/*::[*/0x0093/*::]*/: { /* n:\"BrtWsProp\", */ f:parse_BrtWsProp },\n\t/*::[*/0x0094/*::]*/: { /* n:\"BrtWsDim\", */ f:parse_BrtWsDim, p:16 },\n\t/*::[*/0x0097/*::]*/: { /* n:\"BrtPane\", */ f:parse_BrtPane },\n\t/*::[*/0x0098/*::]*/: { /* n:\"BrtSel\" */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"BrtWbProp\", */ f:parse_BrtWbProp },\n\t/*::[*/0x009A/*::]*/: { /* n:\"BrtWbFactoid\" */ },\n\t/*::[*/0x009B/*::]*/: { /* n:\"BrtFileRecover\" */ },\n\t/*::[*/0x009C/*::]*/: { /* n:\"BrtBundleSh\", */ f:parse_BrtBundleSh },\n\t/*::[*/0x009D/*::]*/: { /* n:\"BrtCalcProp\" */ },\n\t/*::[*/0x009E/*::]*/: { /* n:\"BrtBookView\" */ },\n\t/*::[*/0x009F/*::]*/: { /* n:\"BrtBeginSst\", */ T:1, f:parse_BrtBeginSst },\n\t/*::[*/0x00A0/*::]*/: { /* n:\"BrtEndSst\", */ T:-1 },\n\t/*::[*/0x00A1/*::]*/: { /* n:\"BrtBeginAFilter\", */ T:1, f:parse_UncheckedRfX },\n\t/*::[*/0x00A2/*::]*/: { /* n:\"BrtEndAFilter\", */ T:-1 },\n\t/*::[*/0x00A3/*::]*/: { /* n:\"BrtBeginFilterColumn\", */ T:1 },\n\t/*::[*/0x00A4/*::]*/: { /* n:\"BrtEndFilterColumn\", */ T:-1 },\n\t/*::[*/0x00A5/*::]*/: { /* n:\"BrtBeginFilters\", */ T:1 },\n\t/*::[*/0x00A6/*::]*/: { /* n:\"BrtEndFilters\", */ T:-1 },\n\t/*::[*/0x00A7/*::]*/: { /* n:\"BrtFilter\" */ },\n\t/*::[*/0x00A8/*::]*/: { /* n:\"BrtColorFilter\" */ },\n\t/*::[*/0x00A9/*::]*/: { /* n:\"BrtIconFilter\" */ },\n\t/*::[*/0x00AA/*::]*/: { /* n:\"BrtTop10Filter\" */ },\n\t/*::[*/0x00AB/*::]*/: { /* n:\"BrtDynamicFilter\" */ },\n\t/*::[*/0x00AC/*::]*/: { /* n:\"BrtBeginCustomFilters\", */ T:1 },\n\t/*::[*/0x00AD/*::]*/: { /* n:\"BrtEndCustomFilters\", */ T:-1 },\n\t/*::[*/0x00AE/*::]*/: { /* n:\"BrtCustomFilter\" */ },\n\t/*::[*/0x00AF/*::]*/: { /* n:\"BrtAFilterDateGroupItem\" */ },\n\t/*::[*/0x00B0/*::]*/: { /* n:\"BrtMergeCell\", */ f:parse_BrtMergeCell },\n\t/*::[*/0x00B1/*::]*/: { /* n:\"BrtBeginMergeCells\", */ T:1 },\n\t/*::[*/0x00B2/*::]*/: { /* n:\"BrtEndMergeCells\", */ T:-1 },\n\t/*::[*/0x00B3/*::]*/: { /* n:\"BrtBeginPivotCacheDef\", */ T:1 },\n\t/*::[*/0x00B4/*::]*/: { /* n:\"BrtEndPivotCacheDef\", */ T:-1 },\n\t/*::[*/0x00B5/*::]*/: { /* n:\"BrtBeginPCDFields\", */ T:1 },\n\t/*::[*/0x00B6/*::]*/: { /* n:\"BrtEndPCDFields\", */ T:-1 },\n\t/*::[*/0x00B7/*::]*/: { /* n:\"BrtBeginPCDField\", */ T:1 },\n\t/*::[*/0x00B8/*::]*/: { /* n:\"BrtEndPCDField\", */ T:-1 },\n\t/*::[*/0x00B9/*::]*/: { /* n:\"BrtBeginPCDSource\", */ T:1 },\n\t/*::[*/0x00BA/*::]*/: { /* n:\"BrtEndPCDSource\", */ T:-1 },\n\t/*::[*/0x00BB/*::]*/: { /* n:\"BrtBeginPCDSRange\", */ T:1 },\n\t/*::[*/0x00BC/*::]*/: { /* n:\"BrtEndPCDSRange\", */ T:-1 },\n\t/*::[*/0x00BD/*::]*/: { /* n:\"BrtBeginPCDFAtbl\", */ T:1 },\n\t/*::[*/0x00BE/*::]*/: { /* n:\"BrtEndPCDFAtbl\", */ T:-1 },\n\t/*::[*/0x00BF/*::]*/: { /* n:\"BrtBeginPCDIRun\", */ T:1 },\n\t/*::[*/0x00C0/*::]*/: { /* n:\"BrtEndPCDIRun\", */ T:-1 },\n\t/*::[*/0x00C1/*::]*/: { /* n:\"BrtBeginPivotCacheRecords\", */ T:1 },\n\t/*::[*/0x00C2/*::]*/: { /* n:\"BrtEndPivotCacheRecords\", */ T:-1 },\n\t/*::[*/0x00C3/*::]*/: { /* n:\"BrtBeginPCDHierarchies\", */ T:1 },\n\t/*::[*/0x00C4/*::]*/: { /* n:\"BrtEndPCDHierarchies\", */ T:-1 },\n\t/*::[*/0x00C5/*::]*/: { /* n:\"BrtBeginPCDHierarchy\", */ T:1 },\n\t/*::[*/0x00C6/*::]*/: { /* n:\"BrtEndPCDHierarchy\", */ T:-1 },\n\t/*::[*/0x00C7/*::]*/: { /* n:\"BrtBeginPCDHFieldsUsage\", */ T:1 },\n\t/*::[*/0x00C8/*::]*/: { /* n:\"BrtEndPCDHFieldsUsage\", */ T:-1 },\n\t/*::[*/0x00C9/*::]*/: { /* n:\"BrtBeginExtConnection\", */ T:1 },\n\t/*::[*/0x00CA/*::]*/: { /* n:\"BrtEndExtConnection\", */ T:-1 },\n\t/*::[*/0x00CB/*::]*/: { /* n:\"BrtBeginECDbProps\", */ T:1 },\n\t/*::[*/0x00CC/*::]*/: { /* n:\"BrtEndECDbProps\", */ T:-1 },\n\t/*::[*/0x00CD/*::]*/: { /* n:\"BrtBeginECOlapProps\", */ T:1 },\n\t/*::[*/0x00CE/*::]*/: { /* n:\"BrtEndECOlapProps\", */ T:-1 },\n\t/*::[*/0x00CF/*::]*/: { /* n:\"BrtBeginPCDSConsol\", */ T:1 },\n\t/*::[*/0x00D0/*::]*/: { /* n:\"BrtEndPCDSConsol\", */ T:-1 },\n\t/*::[*/0x00D1/*::]*/: { /* n:\"BrtBeginPCDSCPages\", */ T:1 },\n\t/*::[*/0x00D2/*::]*/: { /* n:\"BrtEndPCDSCPages\", */ T:-1 },\n\t/*::[*/0x00D3/*::]*/: { /* n:\"BrtBeginPCDSCPage\", */ T:1 },\n\t/*::[*/0x00D4/*::]*/: { /* n:\"BrtEndPCDSCPage\", */ T:-1 },\n\t/*::[*/0x00D5/*::]*/: { /* n:\"BrtBeginPCDSCPItem\", */ T:1 },\n\t/*::[*/0x00D6/*::]*/: { /* n:\"BrtEndPCDSCPItem\", */ T:-1 },\n\t/*::[*/0x00D7/*::]*/: { /* n:\"BrtBeginPCDSCSets\", */ T:1 },\n\t/*::[*/0x00D8/*::]*/: { /* n:\"BrtEndPCDSCSets\", */ T:-1 },\n\t/*::[*/0x00D9/*::]*/: { /* n:\"BrtBeginPCDSCSet\", */ T:1 },\n\t/*::[*/0x00DA/*::]*/: { /* n:\"BrtEndPCDSCSet\", */ T:-1 },\n\t/*::[*/0x00DB/*::]*/: { /* n:\"BrtBeginPCDFGroup\", */ T:1 },\n\t/*::[*/0x00DC/*::]*/: { /* n:\"BrtEndPCDFGroup\", */ T:-1 },\n\t/*::[*/0x00DD/*::]*/: { /* n:\"BrtBeginPCDFGItems\", */ T:1 },\n\t/*::[*/0x00DE/*::]*/: { /* n:\"BrtEndPCDFGItems\", */ T:-1 },\n\t/*::[*/0x00DF/*::]*/: { /* n:\"BrtBeginPCDFGRange\", */ T:1 },\n\t/*::[*/0x00E0/*::]*/: { /* n:\"BrtEndPCDFGRange\", */ T:-1 },\n\t/*::[*/0x00E1/*::]*/: { /* n:\"BrtBeginPCDFGDiscrete\", */ T:1 },\n\t/*::[*/0x00E2/*::]*/: { /* n:\"BrtEndPCDFGDiscrete\", */ T:-1 },\n\t/*::[*/0x00E3/*::]*/: { /* n:\"BrtBeginPCDSDTupleCache\", */ T:1 },\n\t/*::[*/0x00E4/*::]*/: { /* n:\"BrtEndPCDSDTupleCache\", */ T:-1 },\n\t/*::[*/0x00E5/*::]*/: { /* n:\"BrtBeginPCDSDTCEntries\", */ T:1 },\n\t/*::[*/0x00E6/*::]*/: { /* n:\"BrtEndPCDSDTCEntries\", */ T:-1 },\n\t/*::[*/0x00E7/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembers\", */ T:1 },\n\t/*::[*/0x00E8/*::]*/: { /* n:\"BrtEndPCDSDTCEMembers\", */ T:-1 },\n\t/*::[*/0x00E9/*::]*/: { /* n:\"BrtBeginPCDSDTCEMember\", */ T:1 },\n\t/*::[*/0x00EA/*::]*/: { /* n:\"BrtEndPCDSDTCEMember\", */ T:-1 },\n\t/*::[*/0x00EB/*::]*/: { /* n:\"BrtBeginPCDSDTCQueries\", */ T:1 },\n\t/*::[*/0x00EC/*::]*/: { /* n:\"BrtEndPCDSDTCQueries\", */ T:-1 },\n\t/*::[*/0x00ED/*::]*/: { /* n:\"BrtBeginPCDSDTCQuery\", */ T:1 },\n\t/*::[*/0x00EE/*::]*/: { /* n:\"BrtEndPCDSDTCQuery\", */ T:-1 },\n\t/*::[*/0x00EF/*::]*/: { /* n:\"BrtBeginPCDSDTCSets\", */ T:1 },\n\t/*::[*/0x00F0/*::]*/: { /* n:\"BrtEndPCDSDTCSets\", */ T:-1 },\n\t/*::[*/0x00F1/*::]*/: { /* n:\"BrtBeginPCDSDTCSet\", */ T:1 },\n\t/*::[*/0x00F2/*::]*/: { /* n:\"BrtEndPCDSDTCSet\", */ T:-1 },\n\t/*::[*/0x00F3/*::]*/: { /* n:\"BrtBeginPCDCalcItems\", */ T:1 },\n\t/*::[*/0x00F4/*::]*/: { /* n:\"BrtEndPCDCalcItems\", */ T:-1 },\n\t/*::[*/0x00F5/*::]*/: { /* n:\"BrtBeginPCDCalcItem\", */ T:1 },\n\t/*::[*/0x00F6/*::]*/: { /* n:\"BrtEndPCDCalcItem\", */ T:-1 },\n\t/*::[*/0x00F7/*::]*/: { /* n:\"BrtBeginPRule\", */ T:1 },\n\t/*::[*/0x00F8/*::]*/: { /* n:\"BrtEndPRule\", */ T:-1 },\n\t/*::[*/0x00F9/*::]*/: { /* n:\"BrtBeginPRFilters\", */ T:1 },\n\t/*::[*/0x00FA/*::]*/: { /* n:\"BrtEndPRFilters\", */ T:-1 },\n\t/*::[*/0x00FB/*::]*/: { /* n:\"BrtBeginPRFilter\", */ T:1 },\n\t/*::[*/0x00FC/*::]*/: { /* n:\"BrtEndPRFilter\", */ T:-1 },\n\t/*::[*/0x00FD/*::]*/: { /* n:\"BrtBeginPNames\", */ T:1 },\n\t/*::[*/0x00FE/*::]*/: { /* n:\"BrtEndPNames\", */ T:-1 },\n\t/*::[*/0x00FF/*::]*/: { /* n:\"BrtBeginPName\", */ T:1 },\n\t/*::[*/0x0100/*::]*/: { /* n:\"BrtEndPName\", */ T:-1 },\n\t/*::[*/0x0101/*::]*/: { /* n:\"BrtBeginPNPairs\", */ T:1 },\n\t/*::[*/0x0102/*::]*/: { /* n:\"BrtEndPNPairs\", */ T:-1 },\n\t/*::[*/0x0103/*::]*/: { /* n:\"BrtBeginPNPair\", */ T:1 },\n\t/*::[*/0x0104/*::]*/: { /* n:\"BrtEndPNPair\", */ T:-1 },\n\t/*::[*/0x0105/*::]*/: { /* n:\"BrtBeginECWebProps\", */ T:1 },\n\t/*::[*/0x0106/*::]*/: { /* n:\"BrtEndECWebProps\", */ T:-1 },\n\t/*::[*/0x0107/*::]*/: { /* n:\"BrtBeginEcWpTables\", */ T:1 },\n\t/*::[*/0x0108/*::]*/: { /* n:\"BrtEndECWPTables\", */ T:-1 },\n\t/*::[*/0x0109/*::]*/: { /* n:\"BrtBeginECParams\", */ T:1 },\n\t/*::[*/0x010A/*::]*/: { /* n:\"BrtEndECParams\", */ T:-1 },\n\t/*::[*/0x010B/*::]*/: { /* n:\"BrtBeginECParam\", */ T:1 },\n\t/*::[*/0x010C/*::]*/: { /* n:\"BrtEndECParam\", */ T:-1 },\n\t/*::[*/0x010D/*::]*/: { /* n:\"BrtBeginPCDKPIs\", */ T:1 },\n\t/*::[*/0x010E/*::]*/: { /* n:\"BrtEndPCDKPIs\", */ T:-1 },\n\t/*::[*/0x010F/*::]*/: { /* n:\"BrtBeginPCDKPI\", */ T:1 },\n\t/*::[*/0x0110/*::]*/: { /* n:\"BrtEndPCDKPI\", */ T:-1 },\n\t/*::[*/0x0111/*::]*/: { /* n:\"BrtBeginDims\", */ T:1 },\n\t/*::[*/0x0112/*::]*/: { /* n:\"BrtEndDims\", */ T:-1 },\n\t/*::[*/0x0113/*::]*/: { /* n:\"BrtBeginDim\", */ T:1 },\n\t/*::[*/0x0114/*::]*/: { /* n:\"BrtEndDim\", */ T:-1 },\n\t/*::[*/0x0115/*::]*/: { /* n:\"BrtIndexPartEnd\" */ },\n\t/*::[*/0x0116/*::]*/: { /* n:\"BrtBeginStyleSheet\", */ T:1 },\n\t/*::[*/0x0117/*::]*/: { /* n:\"BrtEndStyleSheet\", */ T:-1 },\n\t/*::[*/0x0118/*::]*/: { /* n:\"BrtBeginSXView\", */ T:1 },\n\t/*::[*/0x0119/*::]*/: { /* n:\"BrtEndSXVI\", */ T:-1 },\n\t/*::[*/0x011A/*::]*/: { /* n:\"BrtBeginSXVI\", */ T:1 },\n\t/*::[*/0x011B/*::]*/: { /* n:\"BrtBeginSXVIs\", */ T:1 },\n\t/*::[*/0x011C/*::]*/: { /* n:\"BrtEndSXVIs\", */ T:-1 },\n\t/*::[*/0x011D/*::]*/: { /* n:\"BrtBeginSXVD\", */ T:1 },\n\t/*::[*/0x011E/*::]*/: { /* n:\"BrtEndSXVD\", */ T:-1 },\n\t/*::[*/0x011F/*::]*/: { /* n:\"BrtBeginSXVDs\", */ T:1 },\n\t/*::[*/0x0120/*::]*/: { /* n:\"BrtEndSXVDs\", */ T:-1 },\n\t/*::[*/0x0121/*::]*/: { /* n:\"BrtBeginSXPI\", */ T:1 },\n\t/*::[*/0x0122/*::]*/: { /* n:\"BrtEndSXPI\", */ T:-1 },\n\t/*::[*/0x0123/*::]*/: { /* n:\"BrtBeginSXPIs\", */ T:1 },\n\t/*::[*/0x0124/*::]*/: { /* n:\"BrtEndSXPIs\", */ T:-1 },\n\t/*::[*/0x0125/*::]*/: { /* n:\"BrtBeginSXDI\", */ T:1 },\n\t/*::[*/0x0126/*::]*/: { /* n:\"BrtEndSXDI\", */ T:-1 },\n\t/*::[*/0x0127/*::]*/: { /* n:\"BrtBeginSXDIs\", */ T:1 },\n\t/*::[*/0x0128/*::]*/: { /* n:\"BrtEndSXDIs\", */ T:-1 },\n\t/*::[*/0x0129/*::]*/: { /* n:\"BrtBeginSXLI\", */ T:1 },\n\t/*::[*/0x012A/*::]*/: { /* n:\"BrtEndSXLI\", */ T:-1 },\n\t/*::[*/0x012B/*::]*/: { /* n:\"BrtBeginSXLIRws\", */ T:1 },\n\t/*::[*/0x012C/*::]*/: { /* n:\"BrtEndSXLIRws\", */ T:-1 },\n\t/*::[*/0x012D/*::]*/: { /* n:\"BrtBeginSXLICols\", */ T:1 },\n\t/*::[*/0x012E/*::]*/: { /* n:\"BrtEndSXLICols\", */ T:-1 },\n\t/*::[*/0x012F/*::]*/: { /* n:\"BrtBeginSXFormat\", */ T:1 },\n\t/*::[*/0x0130/*::]*/: { /* n:\"BrtEndSXFormat\", */ T:-1 },\n\t/*::[*/0x0131/*::]*/: { /* n:\"BrtBeginSXFormats\", */ T:1 },\n\t/*::[*/0x0132/*::]*/: { /* n:\"BrtEndSxFormats\", */ T:-1 },\n\t/*::[*/0x0133/*::]*/: { /* n:\"BrtBeginSxSelect\", */ T:1 },\n\t/*::[*/0x0134/*::]*/: { /* n:\"BrtEndSxSelect\", */ T:-1 },\n\t/*::[*/0x0135/*::]*/: { /* n:\"BrtBeginISXVDRws\", */ T:1 },\n\t/*::[*/0x0136/*::]*/: { /* n:\"BrtEndISXVDRws\", */ T:-1 },\n\t/*::[*/0x0137/*::]*/: { /* n:\"BrtBeginISXVDCols\", */ T:1 },\n\t/*::[*/0x0138/*::]*/: { /* n:\"BrtEndISXVDCols\", */ T:-1 },\n\t/*::[*/0x0139/*::]*/: { /* n:\"BrtEndSXLocation\", */ T:-1 },\n\t/*::[*/0x013A/*::]*/: { /* n:\"BrtBeginSXLocation\", */ T:1 },\n\t/*::[*/0x013B/*::]*/: { /* n:\"BrtEndSXView\", */ T:-1 },\n\t/*::[*/0x013C/*::]*/: { /* n:\"BrtBeginSXTHs\", */ T:1 },\n\t/*::[*/0x013D/*::]*/: { /* n:\"BrtEndSXTHs\", */ T:-1 },\n\t/*::[*/0x013E/*::]*/: { /* n:\"BrtBeginSXTH\", */ T:1 },\n\t/*::[*/0x013F/*::]*/: { /* n:\"BrtEndSXTH\", */ T:-1 },\n\t/*::[*/0x0140/*::]*/: { /* n:\"BrtBeginISXTHRws\", */ T:1 },\n\t/*::[*/0x0141/*::]*/: { /* n:\"BrtEndISXTHRws\", */ T:-1 },\n\t/*::[*/0x0142/*::]*/: { /* n:\"BrtBeginISXTHCols\", */ T:1 },\n\t/*::[*/0x0143/*::]*/: { /* n:\"BrtEndISXTHCols\", */ T:-1 },\n\t/*::[*/0x0144/*::]*/: { /* n:\"BrtBeginSXTDMPS\", */ T:1 },\n\t/*::[*/0x0145/*::]*/: { /* n:\"BrtEndSXTDMPs\", */ T:-1 },\n\t/*::[*/0x0146/*::]*/: { /* n:\"BrtBeginSXTDMP\", */ T:1 },\n\t/*::[*/0x0147/*::]*/: { /* n:\"BrtEndSXTDMP\", */ T:-1 },\n\t/*::[*/0x0148/*::]*/: { /* n:\"BrtBeginSXTHItems\", */ T:1 },\n\t/*::[*/0x0149/*::]*/: { /* n:\"BrtEndSXTHItems\", */ T:-1 },\n\t/*::[*/0x014A/*::]*/: { /* n:\"BrtBeginSXTHItem\", */ T:1 },\n\t/*::[*/0x014B/*::]*/: { /* n:\"BrtEndSXTHItem\", */ T:-1 },\n\t/*::[*/0x014C/*::]*/: { /* n:\"BrtBeginMetadata\", */ T:1 },\n\t/*::[*/0x014D/*::]*/: { /* n:\"BrtEndMetadata\", */ T:-1 },\n\t/*::[*/0x014E/*::]*/: { /* n:\"BrtBeginEsmdtinfo\", */ T:1 },\n\t/*::[*/0x014F/*::]*/: { /* n:\"BrtMdtinfo\", */ f:parse_BrtMdtinfo },\n\t/*::[*/0x0150/*::]*/: { /* n:\"BrtEndEsmdtinfo\", */ T:-1 },\n\t/*::[*/0x0151/*::]*/: { /* n:\"BrtBeginEsmdb\", */ f:parse_BrtBeginEsmdb, T:1 },\n\t/*::[*/0x0152/*::]*/: { /* n:\"BrtEndEsmdb\", */ T:-1 },\n\t/*::[*/0x0153/*::]*/: { /* n:\"BrtBeginEsfmd\", */ T:1 },\n\t/*::[*/0x0154/*::]*/: { /* n:\"BrtEndEsfmd\", */ T:-1 },\n\t/*::[*/0x0155/*::]*/: { /* n:\"BrtBeginSingleCells\", */ T:1 },\n\t/*::[*/0x0156/*::]*/: { /* n:\"BrtEndSingleCells\", */ T:-1 },\n\t/*::[*/0x0157/*::]*/: { /* n:\"BrtBeginList\", */ T:1 },\n\t/*::[*/0x0158/*::]*/: { /* n:\"BrtEndList\", */ T:-1 },\n\t/*::[*/0x0159/*::]*/: { /* n:\"BrtBeginListCols\", */ T:1 },\n\t/*::[*/0x015A/*::]*/: { /* n:\"BrtEndListCols\", */ T:-1 },\n\t/*::[*/0x015B/*::]*/: { /* n:\"BrtBeginListCol\", */ T:1 },\n\t/*::[*/0x015C/*::]*/: { /* n:\"BrtEndListCol\", */ T:-1 },\n\t/*::[*/0x015D/*::]*/: { /* n:\"BrtBeginListXmlCPr\", */ T:1 },\n\t/*::[*/0x015E/*::]*/: { /* n:\"BrtEndListXmlCPr\", */ T:-1 },\n\t/*::[*/0x015F/*::]*/: { /* n:\"BrtListCCFmla\" */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"BrtListTrFmla\" */ },\n\t/*::[*/0x0161/*::]*/: { /* n:\"BrtBeginExternals\", */ T:1 },\n\t/*::[*/0x0162/*::]*/: { /* n:\"BrtEndExternals\", */ T:-1 },\n\t/*::[*/0x0163/*::]*/: { /* n:\"BrtSupBookSrc\", */ f:parse_RelID},\n\t/*::[*/0x0165/*::]*/: { /* n:\"BrtSupSelf\" */ },\n\t/*::[*/0x0166/*::]*/: { /* n:\"BrtSupSame\" */ },\n\t/*::[*/0x0167/*::]*/: { /* n:\"BrtSupTabs\" */ },\n\t/*::[*/0x0168/*::]*/: { /* n:\"BrtBeginSupBook\", */ T:1 },\n\t/*::[*/0x0169/*::]*/: { /* n:\"BrtPlaceholderName\" */ },\n\t/*::[*/0x016A/*::]*/: { /* n:\"BrtExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x016B/*::]*/: { /* n:\"BrtExternTableStart\" */ },\n\t/*::[*/0x016C/*::]*/: { /* n:\"BrtExternTableEnd\" */ },\n\t/*::[*/0x016E/*::]*/: { /* n:\"BrtExternRowHdr\" */ },\n\t/*::[*/0x016F/*::]*/: { /* n:\"BrtExternCellBlank\" */ },\n\t/*::[*/0x0170/*::]*/: { /* n:\"BrtExternCellReal\" */ },\n\t/*::[*/0x0171/*::]*/: { /* n:\"BrtExternCellBool\" */ },\n\t/*::[*/0x0172/*::]*/: { /* n:\"BrtExternCellError\" */ },\n\t/*::[*/0x0173/*::]*/: { /* n:\"BrtExternCellString\" */ },\n\t/*::[*/0x0174/*::]*/: { /* n:\"BrtBeginEsmdx\", */ T:1 },\n\t/*::[*/0x0175/*::]*/: { /* n:\"BrtEndEsmdx\", */ T:-1 },\n\t/*::[*/0x0176/*::]*/: { /* n:\"BrtBeginMdxSet\", */ T:1 },\n\t/*::[*/0x0177/*::]*/: { /* n:\"BrtEndMdxSet\", */ T:-1 },\n\t/*::[*/0x0178/*::]*/: { /* n:\"BrtBeginMdxMbrProp\", */ T:1 },\n\t/*::[*/0x0179/*::]*/: { /* n:\"BrtEndMdxMbrProp\", */ T:-1 },\n\t/*::[*/0x017A/*::]*/: { /* n:\"BrtBeginMdxKPI\", */ T:1 },\n\t/*::[*/0x017B/*::]*/: { /* n:\"BrtEndMdxKPI\", */ T:-1 },\n\t/*::[*/0x017C/*::]*/: { /* n:\"BrtBeginEsstr\", */ T:1 },\n\t/*::[*/0x017D/*::]*/: { /* n:\"BrtEndEsstr\", */ T:-1 },\n\t/*::[*/0x017E/*::]*/: { /* n:\"BrtBeginPRFItem\", */ T:1 },\n\t/*::[*/0x017F/*::]*/: { /* n:\"BrtEndPRFItem\", */ T:-1 },\n\t/*::[*/0x0180/*::]*/: { /* n:\"BrtBeginPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0181/*::]*/: { /* n:\"BrtEndPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0182/*::]*/: { /* n:\"BrtBeginPivotCacheID\", */ T:1 },\n\t/*::[*/0x0183/*::]*/: { /* n:\"BrtEndPivotCacheID\", */ T:-1 },\n\t/*::[*/0x0184/*::]*/: { /* n:\"BrtBeginISXVIs\", */ T:1 },\n\t/*::[*/0x0185/*::]*/: { /* n:\"BrtEndISXVIs\", */ T:-1 },\n\t/*::[*/0x0186/*::]*/: { /* n:\"BrtBeginColInfos\", */ T:1 },\n\t/*::[*/0x0187/*::]*/: { /* n:\"BrtEndColInfos\", */ T:-1 },\n\t/*::[*/0x0188/*::]*/: { /* n:\"BrtBeginRwBrk\", */ T:1 },\n\t/*::[*/0x0189/*::]*/: { /* n:\"BrtEndRwBrk\", */ T:-1 },\n\t/*::[*/0x018A/*::]*/: { /* n:\"BrtBeginColBrk\", */ T:1 },\n\t/*::[*/0x018B/*::]*/: { /* n:\"BrtEndColBrk\", */ T:-1 },\n\t/*::[*/0x018C/*::]*/: { /* n:\"BrtBrk\" */ },\n\t/*::[*/0x018D/*::]*/: { /* n:\"BrtUserBookView\" */ },\n\t/*::[*/0x018E/*::]*/: { /* n:\"BrtInfo\" */ },\n\t/*::[*/0x018F/*::]*/: { /* n:\"BrtCUsr\" */ },\n\t/*::[*/0x0190/*::]*/: { /* n:\"BrtUsr\" */ },\n\t/*::[*/0x0191/*::]*/: { /* n:\"BrtBeginUsers\", */ T:1 },\n\t/*::[*/0x0193/*::]*/: { /* n:\"BrtEOF\" */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"BrtUCR\" */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"BrtRRInsDel\" */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"BrtRREndInsDel\" */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BrtRRMove\" */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"BrtRREndMove\" */ },\n\t/*::[*/0x0199/*::]*/: { /* n:\"BrtRRChgCell\" */ },\n\t/*::[*/0x019A/*::]*/: { /* n:\"BrtRREndChgCell\" */ },\n\t/*::[*/0x019B/*::]*/: { /* n:\"BrtRRHeader\" */ },\n\t/*::[*/0x019C/*::]*/: { /* n:\"BrtRRUserView\" */ },\n\t/*::[*/0x019D/*::]*/: { /* n:\"BrtRRRenSheet\" */ },\n\t/*::[*/0x019E/*::]*/: { /* n:\"BrtRRInsertSh\" */ },\n\t/*::[*/0x019F/*::]*/: { /* n:\"BrtRRDefName\" */ },\n\t/*::[*/0x01A0/*::]*/: { /* n:\"BrtRRNote\" */ },\n\t/*::[*/0x01A1/*::]*/: { /* n:\"BrtRRConflict\" */ },\n\t/*::[*/0x01A2/*::]*/: { /* n:\"BrtRRTQSIF\" */ },\n\t/*::[*/0x01A3/*::]*/: { /* n:\"BrtRRFormat\" */ },\n\t/*::[*/0x01A4/*::]*/: { /* n:\"BrtRREndFormat\" */ },\n\t/*::[*/0x01A5/*::]*/: { /* n:\"BrtRRAutoFmt\" */ },\n\t/*::[*/0x01A6/*::]*/: { /* n:\"BrtBeginUserShViews\", */ T:1 },\n\t/*::[*/0x01A7/*::]*/: { /* n:\"BrtBeginUserShView\", */ T:1 },\n\t/*::[*/0x01A8/*::]*/: { /* n:\"BrtEndUserShView\", */ T:-1 },\n\t/*::[*/0x01A9/*::]*/: { /* n:\"BrtEndUserShViews\", */ T:-1 },\n\t/*::[*/0x01AA/*::]*/: { /* n:\"BrtArrFmla\", */ f:parse_BrtArrFmla },\n\t/*::[*/0x01AB/*::]*/: { /* n:\"BrtShrFmla\", */ f:parse_BrtShrFmla },\n\t/*::[*/0x01AC/*::]*/: { /* n:\"BrtTable\" */ },\n\t/*::[*/0x01AD/*::]*/: { /* n:\"BrtBeginExtConnections\", */ T:1 },\n\t/*::[*/0x01AE/*::]*/: { /* n:\"BrtEndExtConnections\", */ T:-1 },\n\t/*::[*/0x01AF/*::]*/: { /* n:\"BrtBeginPCDCalcMems\", */ T:1 },\n\t/*::[*/0x01B0/*::]*/: { /* n:\"BrtEndPCDCalcMems\", */ T:-1 },\n\t/*::[*/0x01B1/*::]*/: { /* n:\"BrtBeginPCDCalcMem\", */ T:1 },\n\t/*::[*/0x01B2/*::]*/: { /* n:\"BrtEndPCDCalcMem\", */ T:-1 },\n\t/*::[*/0x01B3/*::]*/: { /* n:\"BrtBeginPCDHGLevels\", */ T:1 },\n\t/*::[*/0x01B4/*::]*/: { /* n:\"BrtEndPCDHGLevels\", */ T:-1 },\n\t/*::[*/0x01B5/*::]*/: { /* n:\"BrtBeginPCDHGLevel\", */ T:1 },\n\t/*::[*/0x01B6/*::]*/: { /* n:\"BrtEndPCDHGLevel\", */ T:-1 },\n\t/*::[*/0x01B7/*::]*/: { /* n:\"BrtBeginPCDHGLGroups\", */ T:1 },\n\t/*::[*/0x01B8/*::]*/: { /* n:\"BrtEndPCDHGLGroups\", */ T:-1 },\n\t/*::[*/0x01B9/*::]*/: { /* n:\"BrtBeginPCDHGLGroup\", */ T:1 },\n\t/*::[*/0x01BA/*::]*/: { /* n:\"BrtEndPCDHGLGroup\", */ T:-1 },\n\t/*::[*/0x01BB/*::]*/: { /* n:\"BrtBeginPCDHGLGMembers\", */ T:1 },\n\t/*::[*/0x01BC/*::]*/: { /* n:\"BrtEndPCDHGLGMembers\", */ T:-1 },\n\t/*::[*/0x01BD/*::]*/: { /* n:\"BrtBeginPCDHGLGMember\", */ T:1 },\n\t/*::[*/0x01BE/*::]*/: { /* n:\"BrtEndPCDHGLGMember\", */ T:-1 },\n\t/*::[*/0x01BF/*::]*/: { /* n:\"BrtBeginQSI\", */ T:1 },\n\t/*::[*/0x01C0/*::]*/: { /* n:\"BrtEndQSI\", */ T:-1 },\n\t/*::[*/0x01C1/*::]*/: { /* n:\"BrtBeginQSIR\", */ T:1 },\n\t/*::[*/0x01C2/*::]*/: { /* n:\"BrtEndQSIR\", */ T:-1 },\n\t/*::[*/0x01C3/*::]*/: { /* n:\"BrtBeginDeletedNames\", */ T:1 },\n\t/*::[*/0x01C4/*::]*/: { /* n:\"BrtEndDeletedNames\", */ T:-1 },\n\t/*::[*/0x01C5/*::]*/: { /* n:\"BrtBeginDeletedName\", */ T:1 },\n\t/*::[*/0x01C6/*::]*/: { /* n:\"BrtEndDeletedName\", */ T:-1 },\n\t/*::[*/0x01C7/*::]*/: { /* n:\"BrtBeginQSIFs\", */ T:1 },\n\t/*::[*/0x01C8/*::]*/: { /* n:\"BrtEndQSIFs\", */ T:-1 },\n\t/*::[*/0x01C9/*::]*/: { /* n:\"BrtBeginQSIF\", */ T:1 },\n\t/*::[*/0x01CA/*::]*/: { /* n:\"BrtEndQSIF\", */ T:-1 },\n\t/*::[*/0x01CB/*::]*/: { /* n:\"BrtBeginAutoSortScope\", */ T:1 },\n\t/*::[*/0x01CC/*::]*/: { /* n:\"BrtEndAutoSortScope\", */ T:-1 },\n\t/*::[*/0x01CD/*::]*/: { /* n:\"BrtBeginConditionalFormatting\", */ T:1 },\n\t/*::[*/0x01CE/*::]*/: { /* n:\"BrtEndConditionalFormatting\", */ T:-1 },\n\t/*::[*/0x01CF/*::]*/: { /* n:\"BrtBeginCFRule\", */ T:1 },\n\t/*::[*/0x01D0/*::]*/: { /* n:\"BrtEndCFRule\", */ T:-1 },\n\t/*::[*/0x01D1/*::]*/: { /* n:\"BrtBeginIconSet\", */ T:1 },\n\t/*::[*/0x01D2/*::]*/: { /* n:\"BrtEndIconSet\", */ T:-1 },\n\t/*::[*/0x01D3/*::]*/: { /* n:\"BrtBeginDatabar\", */ T:1 },\n\t/*::[*/0x01D4/*::]*/: { /* n:\"BrtEndDatabar\", */ T:-1 },\n\t/*::[*/0x01D5/*::]*/: { /* n:\"BrtBeginColorScale\", */ T:1 },\n\t/*::[*/0x01D6/*::]*/: { /* n:\"BrtEndColorScale\", */ T:-1 },\n\t/*::[*/0x01D7/*::]*/: { /* n:\"BrtCFVO\" */ },\n\t/*::[*/0x01D8/*::]*/: { /* n:\"BrtExternValueMeta\" */ },\n\t/*::[*/0x01D9/*::]*/: { /* n:\"BrtBeginColorPalette\", */ T:1 },\n\t/*::[*/0x01DA/*::]*/: { /* n:\"BrtEndColorPalette\", */ T:-1 },\n\t/*::[*/0x01DB/*::]*/: { /* n:\"BrtIndexedColor\" */ },\n\t/*::[*/0x01DC/*::]*/: { /* n:\"BrtMargins\", */ f:parse_BrtMargins },\n\t/*::[*/0x01DD/*::]*/: { /* n:\"BrtPrintOptions\" */ },\n\t/*::[*/0x01DE/*::]*/: { /* n:\"BrtPageSetup\" */ },\n\t/*::[*/0x01DF/*::]*/: { /* n:\"BrtBeginHeaderFooter\", */ T:1 },\n\t/*::[*/0x01E0/*::]*/: { /* n:\"BrtEndHeaderFooter\", */ T:-1 },\n\t/*::[*/0x01E1/*::]*/: { /* n:\"BrtBeginSXCrtFormat\", */ T:1 },\n\t/*::[*/0x01E2/*::]*/: { /* n:\"BrtEndSXCrtFormat\", */ T:-1 },\n\t/*::[*/0x01E3/*::]*/: { /* n:\"BrtBeginSXCrtFormats\", */ T:1 },\n\t/*::[*/0x01E4/*::]*/: { /* n:\"BrtEndSXCrtFormats\", */ T:-1 },\n\t/*::[*/0x01E5/*::]*/: { /* n:\"BrtWsFmtInfo\", */ f:parse_BrtWsFmtInfo },\n\t/*::[*/0x01E6/*::]*/: { /* n:\"BrtBeginMgs\", */ T:1 },\n\t/*::[*/0x01E7/*::]*/: { /* n:\"BrtEndMGs\", */ T:-1 },\n\t/*::[*/0x01E8/*::]*/: { /* n:\"BrtBeginMGMaps\", */ T:1 },\n\t/*::[*/0x01E9/*::]*/: { /* n:\"BrtEndMGMaps\", */ T:-1 },\n\t/*::[*/0x01EA/*::]*/: { /* n:\"BrtBeginMG\", */ T:1 },\n\t/*::[*/0x01EB/*::]*/: { /* n:\"BrtEndMG\", */ T:-1 },\n\t/*::[*/0x01EC/*::]*/: { /* n:\"BrtBeginMap\", */ T:1 },\n\t/*::[*/0x01ED/*::]*/: { /* n:\"BrtEndMap\", */ T:-1 },\n\t/*::[*/0x01EE/*::]*/: { /* n:\"BrtHLink\", */ f:parse_BrtHLink },\n\t/*::[*/0x01EF/*::]*/: { /* n:\"BrtBeginDCon\", */ T:1 },\n\t/*::[*/0x01F0/*::]*/: { /* n:\"BrtEndDCon\", */ T:-1 },\n\t/*::[*/0x01F1/*::]*/: { /* n:\"BrtBeginDRefs\", */ T:1 },\n\t/*::[*/0x01F2/*::]*/: { /* n:\"BrtEndDRefs\", */ T:-1 },\n\t/*::[*/0x01F3/*::]*/: { /* n:\"BrtDRef\" */ },\n\t/*::[*/0x01F4/*::]*/: { /* n:\"BrtBeginScenMan\", */ T:1 },\n\t/*::[*/0x01F5/*::]*/: { /* n:\"BrtEndScenMan\", */ T:-1 },\n\t/*::[*/0x01F6/*::]*/: { /* n:\"BrtBeginSct\", */ T:1 },\n\t/*::[*/0x01F7/*::]*/: { /* n:\"BrtEndSct\", */ T:-1 },\n\t/*::[*/0x01F8/*::]*/: { /* n:\"BrtSlc\" */ },\n\t/*::[*/0x01F9/*::]*/: { /* n:\"BrtBeginDXFs\", */ T:1 },\n\t/*::[*/0x01FA/*::]*/: { /* n:\"BrtEndDXFs\", */ T:-1 },\n\t/*::[*/0x01FB/*::]*/: { /* n:\"BrtDXF\" */ },\n\t/*::[*/0x01FC/*::]*/: { /* n:\"BrtBeginTableStyles\", */ T:1 },\n\t/*::[*/0x01FD/*::]*/: { /* n:\"BrtEndTableStyles\", */ T:-1 },\n\t/*::[*/0x01FE/*::]*/: { /* n:\"BrtBeginTableStyle\", */ T:1 },\n\t/*::[*/0x01FF/*::]*/: { /* n:\"BrtEndTableStyle\", */ T:-1 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"BrtTableStyleElement\" */ },\n\t/*::[*/0x0201/*::]*/: { /* n:\"BrtTableStyleClient\" */ },\n\t/*::[*/0x0202/*::]*/: { /* n:\"BrtBeginVolDeps\", */ T:1 },\n\t/*::[*/0x0203/*::]*/: { /* n:\"BrtEndVolDeps\", */ T:-1 },\n\t/*::[*/0x0204/*::]*/: { /* n:\"BrtBeginVolType\", */ T:1 },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BrtEndVolType\", */ T:-1 },\n\t/*::[*/0x0206/*::]*/: { /* n:\"BrtBeginVolMain\", */ T:1 },\n\t/*::[*/0x0207/*::]*/: { /* n:\"BrtEndVolMain\", */ T:-1 },\n\t/*::[*/0x0208/*::]*/: { /* n:\"BrtBeginVolTopic\", */ T:1 },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BrtEndVolTopic\", */ T:-1 },\n\t/*::[*/0x020A/*::]*/: { /* n:\"BrtVolSubtopic\" */ },\n\t/*::[*/0x020B/*::]*/: { /* n:\"BrtVolRef\" */ },\n\t/*::[*/0x020C/*::]*/: { /* n:\"BrtVolNum\" */ },\n\t/*::[*/0x020D/*::]*/: { /* n:\"BrtVolErr\" */ },\n\t/*::[*/0x020E/*::]*/: { /* n:\"BrtVolStr\" */ },\n\t/*::[*/0x020F/*::]*/: { /* n:\"BrtVolBool\" */ },\n\t/*::[*/0x0210/*::]*/: { /* n:\"BrtBeginCalcChain$\", */ T:1 },\n\t/*::[*/0x0211/*::]*/: { /* n:\"BrtEndCalcChain$\", */ T:-1 },\n\t/*::[*/0x0212/*::]*/: { /* n:\"BrtBeginSortState\", */ T:1 },\n\t/*::[*/0x0213/*::]*/: { /* n:\"BrtEndSortState\", */ T:-1 },\n\t/*::[*/0x0214/*::]*/: { /* n:\"BrtBeginSortCond\", */ T:1 },\n\t/*::[*/0x0215/*::]*/: { /* n:\"BrtEndSortCond\", */ T:-1 },\n\t/*::[*/0x0216/*::]*/: { /* n:\"BrtBookProtection\" */ },\n\t/*::[*/0x0217/*::]*/: { /* n:\"BrtSheetProtection\" */ },\n\t/*::[*/0x0218/*::]*/: { /* n:\"BrtRangeProtection\" */ },\n\t/*::[*/0x0219/*::]*/: { /* n:\"BrtPhoneticInfo\" */ },\n\t/*::[*/0x021A/*::]*/: { /* n:\"BrtBeginECTxtWiz\", */ T:1 },\n\t/*::[*/0x021B/*::]*/: { /* n:\"BrtEndECTxtWiz\", */ T:-1 },\n\t/*::[*/0x021C/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst\", */ T:1 },\n\t/*::[*/0x021D/*::]*/: { /* n:\"BrtEndECTWFldInfoLst\", */ T:-1 },\n\t/*::[*/0x021E/*::]*/: { /* n:\"BrtBeginECTwFldInfo\", */ T:1 },\n\t/*::[*/0x0224/*::]*/: { /* n:\"BrtFileSharing\" */ },\n\t/*::[*/0x0225/*::]*/: { /* n:\"BrtOleSize\" */ },\n\t/*::[*/0x0226/*::]*/: { /* n:\"BrtDrawing\", */ f:parse_RelID },\n\t/*::[*/0x0227/*::]*/: { /* n:\"BrtLegacyDrawing\" */ },\n\t/*::[*/0x0228/*::]*/: { /* n:\"BrtLegacyDrawingHF\" */ },\n\t/*::[*/0x0229/*::]*/: { /* n:\"BrtWebOpt\" */ },\n\t/*::[*/0x022A/*::]*/: { /* n:\"BrtBeginWebPubItems\", */ T:1 },\n\t/*::[*/0x022B/*::]*/: { /* n:\"BrtEndWebPubItems\", */ T:-1 },\n\t/*::[*/0x022C/*::]*/: { /* n:\"BrtBeginWebPubItem\", */ T:1 },\n\t/*::[*/0x022D/*::]*/: { /* n:\"BrtEndWebPubItem\", */ T:-1 },\n\t/*::[*/0x022E/*::]*/: { /* n:\"BrtBeginSXCondFmt\", */ T:1 },\n\t/*::[*/0x022F/*::]*/: { /* n:\"BrtEndSXCondFmt\", */ T:-1 },\n\t/*::[*/0x0230/*::]*/: { /* n:\"BrtBeginSXCondFmts\", */ T:1 },\n\t/*::[*/0x0231/*::]*/: { /* n:\"BrtEndSXCondFmts\", */ T:-1 },\n\t/*::[*/0x0232/*::]*/: { /* n:\"BrtBkHim\" */ },\n\t/*::[*/0x0234/*::]*/: { /* n:\"BrtColor\" */ },\n\t/*::[*/0x0235/*::]*/: { /* n:\"BrtBeginIndexedColors\", */ T:1 },\n\t/*::[*/0x0236/*::]*/: { /* n:\"BrtEndIndexedColors\", */ T:-1 },\n\t/*::[*/0x0239/*::]*/: { /* n:\"BrtBeginMRUColors\", */ T:1 },\n\t/*::[*/0x023A/*::]*/: { /* n:\"BrtEndMRUColors\", */ T:-1 },\n\t/*::[*/0x023C/*::]*/: { /* n:\"BrtMRUColor\" */ },\n\t/*::[*/0x023D/*::]*/: { /* n:\"BrtBeginDVals\", */ T:1 },\n\t/*::[*/0x023E/*::]*/: { /* n:\"BrtEndDVals\", */ T:-1 },\n\t/*::[*/0x0241/*::]*/: { /* n:\"BrtSupNameStart\" */ },\n\t/*::[*/0x0242/*::]*/: { /* n:\"BrtSupNameValueStart\" */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BrtSupNameValueEnd\" */ },\n\t/*::[*/0x0244/*::]*/: { /* n:\"BrtSupNameNum\" */ },\n\t/*::[*/0x0245/*::]*/: { /* n:\"BrtSupNameErr\" */ },\n\t/*::[*/0x0246/*::]*/: { /* n:\"BrtSupNameSt\" */ },\n\t/*::[*/0x0247/*::]*/: { /* n:\"BrtSupNameNil\" */ },\n\t/*::[*/0x0248/*::]*/: { /* n:\"BrtSupNameBool\" */ },\n\t/*::[*/0x0249/*::]*/: { /* n:\"BrtSupNameFmla\" */ },\n\t/*::[*/0x024A/*::]*/: { /* n:\"BrtSupNameBits\" */ },\n\t/*::[*/0x024B/*::]*/: { /* n:\"BrtSupNameEnd\" */ },\n\t/*::[*/0x024C/*::]*/: { /* n:\"BrtEndSupBook\", */ T:-1 },\n\t/*::[*/0x024D/*::]*/: { /* n:\"BrtCellSmartTagProperty\" */ },\n\t/*::[*/0x024E/*::]*/: { /* n:\"BrtBeginCellSmartTag\", */ T:1 },\n\t/*::[*/0x024F/*::]*/: { /* n:\"BrtEndCellSmartTag\", */ T:-1 },\n\t/*::[*/0x0250/*::]*/: { /* n:\"BrtBeginCellSmartTags\", */ T:1 },\n\t/*::[*/0x0251/*::]*/: { /* n:\"BrtEndCellSmartTags\", */ T:-1 },\n\t/*::[*/0x0252/*::]*/: { /* n:\"BrtBeginSmartTags\", */ T:1 },\n\t/*::[*/0x0253/*::]*/: { /* n:\"BrtEndSmartTags\", */ T:-1 },\n\t/*::[*/0x0254/*::]*/: { /* n:\"BrtSmartTagType\" */ },\n\t/*::[*/0x0255/*::]*/: { /* n:\"BrtBeginSmartTagTypes\", */ T:1 },\n\t/*::[*/0x0256/*::]*/: { /* n:\"BrtEndSmartTagTypes\", */ T:-1 },\n\t/*::[*/0x0257/*::]*/: { /* n:\"BrtBeginSXFilters\", */ T:1 },\n\t/*::[*/0x0258/*::]*/: { /* n:\"BrtEndSXFilters\", */ T:-1 },\n\t/*::[*/0x0259/*::]*/: { /* n:\"BrtBeginSXFILTER\", */ T:1 },\n\t/*::[*/0x025A/*::]*/: { /* n:\"BrtEndSXFilter\", */ T:-1 },\n\t/*::[*/0x025B/*::]*/: { /* n:\"BrtBeginFills\", */ T:1 },\n\t/*::[*/0x025C/*::]*/: { /* n:\"BrtEndFills\", */ T:-1 },\n\t/*::[*/0x025D/*::]*/: { /* n:\"BrtBeginCellWatches\", */ T:1 },\n\t/*::[*/0x025E/*::]*/: { /* n:\"BrtEndCellWatches\", */ T:-1 },\n\t/*::[*/0x025F/*::]*/: { /* n:\"BrtCellWatch\" */ },\n\t/*::[*/0x0260/*::]*/: { /* n:\"BrtBeginCRErrs\", */ T:1 },\n\t/*::[*/0x0261/*::]*/: { /* n:\"BrtEndCRErrs\", */ T:-1 },\n\t/*::[*/0x0262/*::]*/: { /* n:\"BrtCrashRecErr\" */ },\n\t/*::[*/0x0263/*::]*/: { /* n:\"BrtBeginFonts\", */ T:1 },\n\t/*::[*/0x0264/*::]*/: { /* n:\"BrtEndFonts\", */ T:-1 },\n\t/*::[*/0x0265/*::]*/: { /* n:\"BrtBeginBorders\", */ T:1 },\n\t/*::[*/0x0266/*::]*/: { /* n:\"BrtEndBorders\", */ T:-1 },\n\t/*::[*/0x0267/*::]*/: { /* n:\"BrtBeginFmts\", */ T:1 },\n\t/*::[*/0x0268/*::]*/: { /* n:\"BrtEndFmts\", */ T:-1 },\n\t/*::[*/0x0269/*::]*/: { /* n:\"BrtBeginCellXFs\", */ T:1 },\n\t/*::[*/0x026A/*::]*/: { /* n:\"BrtEndCellXFs\", */ T:-1 },\n\t/*::[*/0x026B/*::]*/: { /* n:\"BrtBeginStyles\", */ T:1 },\n\t/*::[*/0x026C/*::]*/: { /* n:\"BrtEndStyles\", */ T:-1 },\n\t/*::[*/0x0271/*::]*/: { /* n:\"BrtBigName\" */ },\n\t/*::[*/0x0272/*::]*/: { /* n:\"BrtBeginCellStyleXFs\", */ T:1 },\n\t/*::[*/0x0273/*::]*/: { /* n:\"BrtEndCellStyleXFs\", */ T:-1 },\n\t/*::[*/0x0274/*::]*/: { /* n:\"BrtBeginComments\", */ T:1 },\n\t/*::[*/0x0275/*::]*/: { /* n:\"BrtEndComments\", */ T:-1 },\n\t/*::[*/0x0276/*::]*/: { /* n:\"BrtBeginCommentAuthors\", */ T:1 },\n\t/*::[*/0x0277/*::]*/: { /* n:\"BrtEndCommentAuthors\", */ T:-1 },\n\t/*::[*/0x0278/*::]*/: { /* n:\"BrtCommentAuthor\", */ f:parse_BrtCommentAuthor },\n\t/*::[*/0x0279/*::]*/: { /* n:\"BrtBeginCommentList\", */ T:1 },\n\t/*::[*/0x027A/*::]*/: { /* n:\"BrtEndCommentList\", */ T:-1 },\n\t/*::[*/0x027B/*::]*/: { /* n:\"BrtBeginComment\", */ T:1, f:parse_BrtBeginComment},\n\t/*::[*/0x027C/*::]*/: { /* n:\"BrtEndComment\", */ T:-1 },\n\t/*::[*/0x027D/*::]*/: { /* n:\"BrtCommentText\", */ f:parse_BrtCommentText },\n\t/*::[*/0x027E/*::]*/: { /* n:\"BrtBeginOleObjects\", */ T:1 },\n\t/*::[*/0x027F/*::]*/: { /* n:\"BrtOleObject\" */ },\n\t/*::[*/0x0280/*::]*/: { /* n:\"BrtEndOleObjects\", */ T:-1 },\n\t/*::[*/0x0281/*::]*/: { /* n:\"BrtBeginSxrules\", */ T:1 },\n\t/*::[*/0x0282/*::]*/: { /* n:\"BrtEndSxRules\", */ T:-1 },\n\t/*::[*/0x0283/*::]*/: { /* n:\"BrtBeginActiveXControls\", */ T:1 },\n\t/*::[*/0x0284/*::]*/: { /* n:\"BrtActiveX\" */ },\n\t/*::[*/0x0285/*::]*/: { /* n:\"BrtEndActiveXControls\", */ T:-1 },\n\t/*::[*/0x0286/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembersSortBy\", */ T:1 },\n\t/*::[*/0x0288/*::]*/: { /* n:\"BrtBeginCellIgnoreECs\", */ T:1 },\n\t/*::[*/0x0289/*::]*/: { /* n:\"BrtCellIgnoreEC\" */ },\n\t/*::[*/0x028A/*::]*/: { /* n:\"BrtEndCellIgnoreECs\", */ T:-1 },\n\t/*::[*/0x028B/*::]*/: { /* n:\"BrtCsProp\", */ f:parse_BrtCsProp },\n\t/*::[*/0x028C/*::]*/: { /* n:\"BrtCsPageSetup\" */ },\n\t/*::[*/0x028D/*::]*/: { /* n:\"BrtBeginUserCsViews\", */ T:1 },\n\t/*::[*/0x028E/*::]*/: { /* n:\"BrtEndUserCsViews\", */ T:-1 },\n\t/*::[*/0x028F/*::]*/: { /* n:\"BrtBeginUserCsView\", */ T:1 },\n\t/*::[*/0x0290/*::]*/: { /* n:\"BrtEndUserCsView\", */ T:-1 },\n\t/*::[*/0x0291/*::]*/: { /* n:\"BrtBeginPcdSFCIEntries\", */ T:1 },\n\t/*::[*/0x0292/*::]*/: { /* n:\"BrtEndPCDSFCIEntries\", */ T:-1 },\n\t/*::[*/0x0293/*::]*/: { /* n:\"BrtPCDSFCIEntry\" */ },\n\t/*::[*/0x0294/*::]*/: { /* n:\"BrtBeginListParts\", */ T:1 },\n\t/*::[*/0x0295/*::]*/: { /* n:\"BrtListPart\" */ },\n\t/*::[*/0x0296/*::]*/: { /* n:\"BrtEndListParts\", */ T:-1 },\n\t/*::[*/0x0297/*::]*/: { /* n:\"BrtSheetCalcProp\" */ },\n\t/*::[*/0x0298/*::]*/: { /* n:\"BrtBeginFnGroup\", */ T:1 },\n\t/*::[*/0x0299/*::]*/: { /* n:\"BrtFnGroup\" */ },\n\t/*::[*/0x029A/*::]*/: { /* n:\"BrtEndFnGroup\", */ T:-1 },\n\t/*::[*/0x029B/*::]*/: { /* n:\"BrtSupAddin\" */ },\n\t/*::[*/0x029C/*::]*/: { /* n:\"BrtSXTDMPOrder\" */ },\n\t/*::[*/0x029D/*::]*/: { /* n:\"BrtCsProtection\" */ },\n\t/*::[*/0x029F/*::]*/: { /* n:\"BrtBeginWsSortMap\", */ T:1 },\n\t/*::[*/0x02A0/*::]*/: { /* n:\"BrtEndWsSortMap\", */ T:-1 },\n\t/*::[*/0x02A1/*::]*/: { /* n:\"BrtBeginRRSort\", */ T:1 },\n\t/*::[*/0x02A2/*::]*/: { /* n:\"BrtEndRRSort\", */ T:-1 },\n\t/*::[*/0x02A3/*::]*/: { /* n:\"BrtRRSortItem\" */ },\n\t/*::[*/0x02A4/*::]*/: { /* n:\"BrtFileSharingIso\" */ },\n\t/*::[*/0x02A5/*::]*/: { /* n:\"BrtBookProtectionIso\" */ },\n\t/*::[*/0x02A6/*::]*/: { /* n:\"BrtSheetProtectionIso\" */ },\n\t/*::[*/0x02A7/*::]*/: { /* n:\"BrtCsProtectionIso\" */ },\n\t/*::[*/0x02A8/*::]*/: { /* n:\"BrtRangeProtectionIso\" */ },\n\t/*::[*/0x02A9/*::]*/: { /* n:\"BrtDValList\" */ },\n\t/*::[*/0x0400/*::]*/: { /* n:\"BrtRwDescent\" */ },\n\t/*::[*/0x0401/*::]*/: { /* n:\"BrtKnownFonts\" */ },\n\t/*::[*/0x0402/*::]*/: { /* n:\"BrtBeginSXTupleSet\", */ T:1 },\n\t/*::[*/0x0403/*::]*/: { /* n:\"BrtEndSXTupleSet\", */ T:-1 },\n\t/*::[*/0x0404/*::]*/: { /* n:\"BrtBeginSXTupleSetHeader\", */ T:1 },\n\t/*::[*/0x0405/*::]*/: { /* n:\"BrtEndSXTupleSetHeader\", */ T:-1 },\n\t/*::[*/0x0406/*::]*/: { /* n:\"BrtSXTupleSetHeaderItem\" */ },\n\t/*::[*/0x0407/*::]*/: { /* n:\"BrtBeginSXTupleSetData\", */ T:1 },\n\t/*::[*/0x0408/*::]*/: { /* n:\"BrtEndSXTupleSetData\", */ T:-1 },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BrtBeginSXTupleSetRow\", */ T:1 },\n\t/*::[*/0x040A/*::]*/: { /* n:\"BrtEndSXTupleSetRow\", */ T:-1 },\n\t/*::[*/0x040B/*::]*/: { /* n:\"BrtSXTupleSetRowItem\" */ },\n\t/*::[*/0x040C/*::]*/: { /* n:\"BrtNameExt\" */ },\n\t/*::[*/0x040D/*::]*/: { /* n:\"BrtPCDH14\" */ },\n\t/*::[*/0x040E/*::]*/: { /* n:\"BrtBeginPCDCalcMem14\", */ T:1 },\n\t/*::[*/0x040F/*::]*/: { /* n:\"BrtEndPCDCalcMem14\", */ T:-1 },\n\t/*::[*/0x0410/*::]*/: { /* n:\"BrtSXTH14\" */ },\n\t/*::[*/0x0411/*::]*/: { /* n:\"BrtBeginSparklineGroup\", */ T:1 },\n\t/*::[*/0x0412/*::]*/: { /* n:\"BrtEndSparklineGroup\", */ T:-1 },\n\t/*::[*/0x0413/*::]*/: { /* n:\"BrtSparkline\" */ },\n\t/*::[*/0x0414/*::]*/: { /* n:\"BrtSXDI14\" */ },\n\t/*::[*/0x0415/*::]*/: { /* n:\"BrtWsFmtInfoEx14\" */ },\n\t/*::[*/0x0416/*::]*/: { /* n:\"BrtBeginConditionalFormatting14\", */ T:1 },\n\t/*::[*/0x0417/*::]*/: { /* n:\"BrtEndConditionalFormatting14\", */ T:-1 },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BrtBeginCFRule14\", */ T:1 },\n\t/*::[*/0x0419/*::]*/: { /* n:\"BrtEndCFRule14\", */ T:-1 },\n\t/*::[*/0x041A/*::]*/: { /* n:\"BrtCFVO14\" */ },\n\t/*::[*/0x041B/*::]*/: { /* n:\"BrtBeginDatabar14\", */ T:1 },\n\t/*::[*/0x041C/*::]*/: { /* n:\"BrtBeginIconSet14\", */ T:1 },\n\t/*::[*/0x041D/*::]*/: { /* n:\"BrtDVal14\", */ f: parse_BrtDVal14 },\n\t/*::[*/0x041E/*::]*/: { /* n:\"BrtBeginDVals14\", */ T:1 },\n\t/*::[*/0x041F/*::]*/: { /* n:\"BrtColor14\" */ },\n\t/*::[*/0x0420/*::]*/: { /* n:\"BrtBeginSparklines\", */ T:1 },\n\t/*::[*/0x0421/*::]*/: { /* n:\"BrtEndSparklines\", */ T:-1 },\n\t/*::[*/0x0422/*::]*/: { /* n:\"BrtBeginSparklineGroups\", */ T:1 },\n\t/*::[*/0x0423/*::]*/: { /* n:\"BrtEndSparklineGroups\", */ T:-1 },\n\t/*::[*/0x0425/*::]*/: { /* n:\"BrtSXVD14\" */ },\n\t/*::[*/0x0426/*::]*/: { /* n:\"BrtBeginSXView14\", */ T:1 },\n\t/*::[*/0x0427/*::]*/: { /* n:\"BrtEndSXView14\", */ T:-1 },\n\t/*::[*/0x0428/*::]*/: { /* n:\"BrtBeginSXView16\", */ T:1 },\n\t/*::[*/0x0429/*::]*/: { /* n:\"BrtEndSXView16\", */ T:-1 },\n\t/*::[*/0x042A/*::]*/: { /* n:\"BrtBeginPCD14\", */ T:1 },\n\t/*::[*/0x042B/*::]*/: { /* n:\"BrtEndPCD14\", */ T:-1 },\n\t/*::[*/0x042C/*::]*/: { /* n:\"BrtBeginExtConn14\", */ T:1 },\n\t/*::[*/0x042D/*::]*/: { /* n:\"BrtEndExtConn14\", */ T:-1 },\n\t/*::[*/0x042E/*::]*/: { /* n:\"BrtBeginSlicerCacheIDs\", */ T:1 },\n\t/*::[*/0x042F/*::]*/: { /* n:\"BrtEndSlicerCacheIDs\", */ T:-1 },\n\t/*::[*/0x0430/*::]*/: { /* n:\"BrtBeginSlicerCacheID\", */ T:1 },\n\t/*::[*/0x0431/*::]*/: { /* n:\"BrtEndSlicerCacheID\", */ T:-1 },\n\t/*::[*/0x0433/*::]*/: { /* n:\"BrtBeginSlicerCache\", */ T:1 },\n\t/*::[*/0x0434/*::]*/: { /* n:\"BrtEndSlicerCache\", */ T:-1 },\n\t/*::[*/0x0435/*::]*/: { /* n:\"BrtBeginSlicerCacheDef\", */ T:1 },\n\t/*::[*/0x0436/*::]*/: { /* n:\"BrtEndSlicerCacheDef\", */ T:-1 },\n\t/*::[*/0x0437/*::]*/: { /* n:\"BrtBeginSlicersEx\", */ T:1 },\n\t/*::[*/0x0438/*::]*/: { /* n:\"BrtEndSlicersEx\", */ T:-1 },\n\t/*::[*/0x0439/*::]*/: { /* n:\"BrtBeginSlicerEx\", */ T:1 },\n\t/*::[*/0x043A/*::]*/: { /* n:\"BrtEndSlicerEx\", */ T:-1 },\n\t/*::[*/0x043B/*::]*/: { /* n:\"BrtBeginSlicer\", */ T:1 },\n\t/*::[*/0x043C/*::]*/: { /* n:\"BrtEndSlicer\", */ T:-1 },\n\t/*::[*/0x043D/*::]*/: { /* n:\"BrtSlicerCachePivotTables\" */ },\n\t/*::[*/0x043E/*::]*/: { /* n:\"BrtBeginSlicerCacheOlapImpl\", */ T:1 },\n\t/*::[*/0x043F/*::]*/: { /* n:\"BrtEndSlicerCacheOlapImpl\", */ T:-1 },\n\t/*::[*/0x0440/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelsData\", */ T:1 },\n\t/*::[*/0x0441/*::]*/: { /* n:\"BrtEndSlicerCacheLevelsData\", */ T:-1 },\n\t/*::[*/0x0442/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelData\", */ T:1 },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BrtEndSlicerCacheLevelData\", */ T:-1 },\n\t/*::[*/0x0444/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRanges\", */ T:1 },\n\t/*::[*/0x0445/*::]*/: { /* n:\"BrtEndSlicerCacheSiRanges\", */ T:-1 },\n\t/*::[*/0x0446/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRange\", */ T:1 },\n\t/*::[*/0x0447/*::]*/: { /* n:\"BrtEndSlicerCacheSiRange\", */ T:-1 },\n\t/*::[*/0x0448/*::]*/: { /* n:\"BrtSlicerCacheOlapItem\" */ },\n\t/*::[*/0x0449/*::]*/: { /* n:\"BrtBeginSlicerCacheSelections\", */ T:1 },\n\t/*::[*/0x044A/*::]*/: { /* n:\"BrtSlicerCacheSelection\" */ },\n\t/*::[*/0x044B/*::]*/: { /* n:\"BrtEndSlicerCacheSelections\", */ T:-1 },\n\t/*::[*/0x044C/*::]*/: { /* n:\"BrtBeginSlicerCacheNative\", */ T:1 },\n\t/*::[*/0x044D/*::]*/: { /* n:\"BrtEndSlicerCacheNative\", */ T:-1 },\n\t/*::[*/0x044E/*::]*/: { /* n:\"BrtSlicerCacheNativeItem\" */ },\n\t/*::[*/0x044F/*::]*/: { /* n:\"BrtRangeProtection14\" */ },\n\t/*::[*/0x0450/*::]*/: { /* n:\"BrtRangeProtectionIso14\" */ },\n\t/*::[*/0x0451/*::]*/: { /* n:\"BrtCellIgnoreEC14\" */ },\n\t/*::[*/0x0457/*::]*/: { /* n:\"BrtList14\" */ },\n\t/*::[*/0x0458/*::]*/: { /* n:\"BrtCFIcon\" */ },\n\t/*::[*/0x0459/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x045A/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x045B/*::]*/: { /* n:\"BrtBeginSlicers\", */ T:1 },\n\t/*::[*/0x045C/*::]*/: { /* n:\"BrtEndSlicers\", */ T:-1 },\n\t/*::[*/0x045D/*::]*/: { /* n:\"BrtWbProp14\" */ },\n\t/*::[*/0x045E/*::]*/: { /* n:\"BrtBeginSXEdit\", */ T:1 },\n\t/*::[*/0x045F/*::]*/: { /* n:\"BrtEndSXEdit\", */ T:-1 },\n\t/*::[*/0x0460/*::]*/: { /* n:\"BrtBeginSXEdits\", */ T:1 },\n\t/*::[*/0x0461/*::]*/: { /* n:\"BrtEndSXEdits\", */ T:-1 },\n\t/*::[*/0x0462/*::]*/: { /* n:\"BrtBeginSXChange\", */ T:1 },\n\t/*::[*/0x0463/*::]*/: { /* n:\"BrtEndSXChange\", */ T:-1 },\n\t/*::[*/0x0464/*::]*/: { /* n:\"BrtBeginSXChanges\", */ T:1 },\n\t/*::[*/0x0465/*::]*/: { /* n:\"BrtEndSXChanges\", */ T:-1 },\n\t/*::[*/0x0466/*::]*/: { /* n:\"BrtSXTupleItems\" */ },\n\t/*::[*/0x0468/*::]*/: { /* n:\"BrtBeginSlicerStyle\", */ T:1 },\n\t/*::[*/0x0469/*::]*/: { /* n:\"BrtEndSlicerStyle\", */ T:-1 },\n\t/*::[*/0x046A/*::]*/: { /* n:\"BrtSlicerStyleElement\" */ },\n\t/*::[*/0x046B/*::]*/: { /* n:\"BrtBeginStyleSheetExt14\", */ T:1 },\n\t/*::[*/0x046C/*::]*/: { /* n:\"BrtEndStyleSheetExt14\", */ T:-1 },\n\t/*::[*/0x046D/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheID\", */ T:1 },\n\t/*::[*/0x046E/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheID\", */ T:-1 },\n\t/*::[*/0x046F/*::]*/: { /* n:\"BrtBeginConditionalFormattings\", */ T:1 },\n\t/*::[*/0x0470/*::]*/: { /* n:\"BrtEndConditionalFormattings\", */ T:-1 },\n\t/*::[*/0x0471/*::]*/: { /* n:\"BrtBeginPCDCalcMemExt\", */ T:1 },\n\t/*::[*/0x0472/*::]*/: { /* n:\"BrtEndPCDCalcMemExt\", */ T:-1 },\n\t/*::[*/0x0473/*::]*/: { /* n:\"BrtBeginPCDCalcMemsExt\", */ T:1 },\n\t/*::[*/0x0474/*::]*/: { /* n:\"BrtEndPCDCalcMemsExt\", */ T:-1 },\n\t/*::[*/0x0475/*::]*/: { /* n:\"BrtPCDField14\" */ },\n\t/*::[*/0x0476/*::]*/: { /* n:\"BrtBeginSlicerStyles\", */ T:1 },\n\t/*::[*/0x0477/*::]*/: { /* n:\"BrtEndSlicerStyles\", */ T:-1 },\n\t/*::[*/0x0478/*::]*/: { /* n:\"BrtBeginSlicerStyleElements\", */ T:1 },\n\t/*::[*/0x0479/*::]*/: { /* n:\"BrtEndSlicerStyleElements\", */ T:-1 },\n\t/*::[*/0x047A/*::]*/: { /* n:\"BrtCFRuleExt\" */ },\n\t/*::[*/0x047B/*::]*/: { /* n:\"BrtBeginSXCondFmt14\", */ T:1 },\n\t/*::[*/0x047C/*::]*/: { /* n:\"BrtEndSXCondFmt14\", */ T:-1 },\n\t/*::[*/0x047D/*::]*/: { /* n:\"BrtBeginSXCondFmts14\", */ T:1 },\n\t/*::[*/0x047E/*::]*/: { /* n:\"BrtEndSXCondFmts14\", */ T:-1 },\n\t/*::[*/0x0480/*::]*/: { /* n:\"BrtBeginSortCond14\", */ T:1 },\n\t/*::[*/0x0481/*::]*/: { /* n:\"BrtEndSortCond14\", */ T:-1 },\n\t/*::[*/0x0482/*::]*/: { /* n:\"BrtEndDVals14\", */ T:-1 },\n\t/*::[*/0x0483/*::]*/: { /* n:\"BrtEndIconSet14\", */ T:-1 },\n\t/*::[*/0x0484/*::]*/: { /* n:\"BrtEndDatabar14\", */ T:-1 },\n\t/*::[*/0x0485/*::]*/: { /* n:\"BrtBeginColorScale14\", */ T:1 },\n\t/*::[*/0x0486/*::]*/: { /* n:\"BrtEndColorScale14\", */ T:-1 },\n\t/*::[*/0x0487/*::]*/: { /* n:\"BrtBeginSxrules14\", */ T:1 },\n\t/*::[*/0x0488/*::]*/: { /* n:\"BrtEndSxrules14\", */ T:-1 },\n\t/*::[*/0x0489/*::]*/: { /* n:\"BrtBeginPRule14\", */ T:1 },\n\t/*::[*/0x048A/*::]*/: { /* n:\"BrtEndPRule14\", */ T:-1 },\n\t/*::[*/0x048B/*::]*/: { /* n:\"BrtBeginPRFilters14\", */ T:1 },\n\t/*::[*/0x048C/*::]*/: { /* n:\"BrtEndPRFilters14\", */ T:-1 },\n\t/*::[*/0x048D/*::]*/: { /* n:\"BrtBeginPRFilter14\", */ T:1 },\n\t/*::[*/0x048E/*::]*/: { /* n:\"BrtEndPRFilter14\", */ T:-1 },\n\t/*::[*/0x048F/*::]*/: { /* n:\"BrtBeginPRFItem14\", */ T:1 },\n\t/*::[*/0x0490/*::]*/: { /* n:\"BrtEndPRFItem14\", */ T:-1 },\n\t/*::[*/0x0491/*::]*/: { /* n:\"BrtBeginCellIgnoreECs14\", */ T:1 },\n\t/*::[*/0x0492/*::]*/: { /* n:\"BrtEndCellIgnoreECs14\", */ T:-1 },\n\t/*::[*/0x0493/*::]*/: { /* n:\"BrtDxf14\" */ },\n\t/*::[*/0x0494/*::]*/: { /* n:\"BrtBeginDxF14s\", */ T:1 },\n\t/*::[*/0x0495/*::]*/: { /* n:\"BrtEndDxf14s\", */ T:-1 },\n\t/*::[*/0x0499/*::]*/: { /* n:\"BrtFilter14\" */ },\n\t/*::[*/0x049A/*::]*/: { /* n:\"BrtBeginCustomFilters14\", */ T:1 },\n\t/*::[*/0x049C/*::]*/: { /* n:\"BrtCustomFilter14\" */ },\n\t/*::[*/0x049D/*::]*/: { /* n:\"BrtIconFilter14\" */ },\n\t/*::[*/0x049E/*::]*/: { /* n:\"BrtPivotCacheConnectionName\" */ },\n\t/*::[*/0x0800/*::]*/: { /* n:\"BrtBeginDecoupledPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0801/*::]*/: { /* n:\"BrtEndDecoupledPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0802/*::]*/: { /* n:\"BrtDecoupledPivotCacheID\" */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"BrtBeginPivotTableRefs\", */ T:1 },\n\t/*::[*/0x0804/*::]*/: { /* n:\"BrtEndPivotTableRefs\", */ T:-1 },\n\t/*::[*/0x0805/*::]*/: { /* n:\"BrtPivotTableRef\" */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"BrtSlicerCacheBookPivotTables\" */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"BrtBeginSxvcells\", */ T:1 },\n\t/*::[*/0x0808/*::]*/: { /* n:\"BrtEndSxvcells\", */ T:-1 },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BrtBeginSxRow\", */ T:1 },\n\t/*::[*/0x080A/*::]*/: { /* n:\"BrtEndSxRow\", */ T:-1 },\n\t/*::[*/0x080C/*::]*/: { /* n:\"BrtPcdCalcMem15\" */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"BrtQsi15\" */ },\n\t/*::[*/0x0814/*::]*/: { /* n:\"BrtBeginWebExtensions\", */ T:1 },\n\t/*::[*/0x0815/*::]*/: { /* n:\"BrtEndWebExtensions\", */ T:-1 },\n\t/*::[*/0x0816/*::]*/: { /* n:\"BrtWebExtension\" */ },\n\t/*::[*/0x0817/*::]*/: { /* n:\"BrtAbsPath15\" */ },\n\t/*::[*/0x0818/*::]*/: { /* n:\"BrtBeginPivotTableUISettings\", */ T:1 },\n\t/*::[*/0x0819/*::]*/: { /* n:\"BrtEndPivotTableUISettings\", */ T:-1 },\n\t/*::[*/0x081B/*::]*/: { /* n:\"BrtTableSlicerCacheIDs\" */ },\n\t/*::[*/0x081C/*::]*/: { /* n:\"BrtTableSlicerCacheID\" */ },\n\t/*::[*/0x081D/*::]*/: { /* n:\"BrtBeginTableSlicerCache\", */ T:1 },\n\t/*::[*/0x081E/*::]*/: { /* n:\"BrtEndTableSlicerCache\", */ T:-1 },\n\t/*::[*/0x081F/*::]*/: { /* n:\"BrtSxFilter15\" */ },\n\t/*::[*/0x0820/*::]*/: { /* n:\"BrtBeginTimelineCachePivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0821/*::]*/: { /* n:\"BrtEndTimelineCachePivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0822/*::]*/: { /* n:\"BrtTimelineCachePivotCacheID\" */ },\n\t/*::[*/0x0823/*::]*/: { /* n:\"BrtBeginTimelineCacheIDs\", */ T:1 },\n\t/*::[*/0x0824/*::]*/: { /* n:\"BrtEndTimelineCacheIDs\", */ T:-1 },\n\t/*::[*/0x0825/*::]*/: { /* n:\"BrtBeginTimelineCacheID\", */ T:1 },\n\t/*::[*/0x0826/*::]*/: { /* n:\"BrtEndTimelineCacheID\", */ T:-1 },\n\t/*::[*/0x0827/*::]*/: { /* n:\"BrtBeginTimelinesEx\", */ T:1 },\n\t/*::[*/0x0828/*::]*/: { /* n:\"BrtEndTimelinesEx\", */ T:-1 },\n\t/*::[*/0x0829/*::]*/: { /* n:\"BrtBeginTimelineEx\", */ T:1 },\n\t/*::[*/0x082A/*::]*/: { /* n:\"BrtEndTimelineEx\", */ T:-1 },\n\t/*::[*/0x082B/*::]*/: { /* n:\"BrtWorkBookPr15\" */ },\n\t/*::[*/0x082C/*::]*/: { /* n:\"BrtPCDH15\" */ },\n\t/*::[*/0x082D/*::]*/: { /* n:\"BrtBeginTimelineStyle\", */ T:1 },\n\t/*::[*/0x082E/*::]*/: { /* n:\"BrtEndTimelineStyle\", */ T:-1 },\n\t/*::[*/0x082F/*::]*/: { /* n:\"BrtTimelineStyleElement\" */ },\n\t/*::[*/0x0830/*::]*/: { /* n:\"BrtBeginTimelineStylesheetExt15\", */ T:1 },\n\t/*::[*/0x0831/*::]*/: { /* n:\"BrtEndTimelineStylesheetExt15\", */ T:-1 },\n\t/*::[*/0x0832/*::]*/: { /* n:\"BrtBeginTimelineStyles\", */ T:1 },\n\t/*::[*/0x0833/*::]*/: { /* n:\"BrtEndTimelineStyles\", */ T:-1 },\n\t/*::[*/0x0834/*::]*/: { /* n:\"BrtBeginTimelineStyleElements\", */ T:1 },\n\t/*::[*/0x0835/*::]*/: { /* n:\"BrtEndTimelineStyleElements\", */ T:-1 },\n\t/*::[*/0x0836/*::]*/: { /* n:\"BrtDxf15\" */ },\n\t/*::[*/0x0837/*::]*/: { /* n:\"BrtBeginDxfs15\", */ T:1 },\n\t/*::[*/0x0838/*::]*/: { /* n:\"BrtEndDxfs15\", */ T:-1 },\n\t/*::[*/0x0839/*::]*/: { /* n:\"BrtSlicerCacheHideItemsWithNoData\" */ },\n\t/*::[*/0x083A/*::]*/: { /* n:\"BrtBeginItemUniqueNames\", */ T:1 },\n\t/*::[*/0x083B/*::]*/: { /* n:\"BrtEndItemUniqueNames\", */ T:-1 },\n\t/*::[*/0x083C/*::]*/: { /* n:\"BrtItemUniqueName\" */ },\n\t/*::[*/0x083D/*::]*/: { /* n:\"BrtBeginExtConn15\", */ T:1 },\n\t/*::[*/0x083E/*::]*/: { /* n:\"BrtEndExtConn15\", */ T:-1 },\n\t/*::[*/0x083F/*::]*/: { /* n:\"BrtBeginOledbPr15\", */ T:1 },\n\t/*::[*/0x0840/*::]*/: { /* n:\"BrtEndOledbPr15\", */ T:-1 },\n\t/*::[*/0x0841/*::]*/: { /* n:\"BrtBeginDataFeedPr15\", */ T:1 },\n\t/*::[*/0x0842/*::]*/: { /* n:\"BrtEndDataFeedPr15\", */ T:-1 },\n\t/*::[*/0x0843/*::]*/: { /* n:\"BrtTextPr15\" */ },\n\t/*::[*/0x0844/*::]*/: { /* n:\"BrtRangePr15\" */ },\n\t/*::[*/0x0845/*::]*/: { /* n:\"BrtDbCommand15\" */ },\n\t/*::[*/0x0846/*::]*/: { /* n:\"BrtBeginDbTables15\", */ T:1 },\n\t/*::[*/0x0847/*::]*/: { /* n:\"BrtEndDbTables15\", */ T:-1 },\n\t/*::[*/0x0848/*::]*/: { /* n:\"BrtDbTable15\" */ },\n\t/*::[*/0x0849/*::]*/: { /* n:\"BrtBeginDataModel\", */ T:1 },\n\t/*::[*/0x084A/*::]*/: { /* n:\"BrtEndDataModel\", */ T:-1 },\n\t/*::[*/0x084B/*::]*/: { /* n:\"BrtBeginModelTables\", */ T:1 },\n\t/*::[*/0x084C/*::]*/: { /* n:\"BrtEndModelTables\", */ T:-1 },\n\t/*::[*/0x084D/*::]*/: { /* n:\"BrtModelTable\" */ },\n\t/*::[*/0x084E/*::]*/: { /* n:\"BrtBeginModelRelationships\", */ T:1 },\n\t/*::[*/0x084F/*::]*/: { /* n:\"BrtEndModelRelationships\", */ T:-1 },\n\t/*::[*/0x0850/*::]*/: { /* n:\"BrtModelRelationship\" */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"BrtBeginECTxtWiz15\", */ T:1 },\n\t/*::[*/0x0852/*::]*/: { /* n:\"BrtEndECTxtWiz15\", */ T:-1 },\n\t/*::[*/0x0853/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst15\", */ T:1 },\n\t/*::[*/0x0854/*::]*/: { /* n:\"BrtEndECTWFldInfoLst15\", */ T:-1 },\n\t/*::[*/0x0855/*::]*/: { /* n:\"BrtBeginECTWFldInfo15\", */ T:1 },\n\t/*::[*/0x0856/*::]*/: { /* n:\"BrtFieldListActiveItem\" */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"BrtPivotCacheIdVersion\" */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"BrtSXDI15\" */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"BrtBeginModelTimeGroupings\", */ T:1 },\n\t/*::[*/0x085A/*::]*/: { /* n:\"BrtEndModelTimeGroupings\", */ T:-1 },\n\t/*::[*/0x085B/*::]*/: { /* n:\"BrtBeginModelTimeGrouping\", */ T:1 },\n\t/*::[*/0x085C/*::]*/: { /* n:\"BrtEndModelTimeGrouping\", */ T:-1 },\n\t/*::[*/0x085D/*::]*/: { /* n:\"BrtModelTimeGroupingCalcCol\" */ },\n\t/*::[*/0x0C00/*::]*/: { /* n:\"BrtUid\" */ },\n\t/*::[*/0x0C01/*::]*/: { /* n:\"BrtRevisionPtr\" */ },\n\t/*::[*/0x1000/*::]*/: { /* n:\"BrtBeginDynamicArrayPr\", */ T:1 },\n\t/*::[*/0x1001/*::]*/: { /* n:\"BrtEndDynamicArrayPr\", */ T:-1 },\n\t/*::[*/0x138A/*::]*/: { /* n:\"BrtBeginRichValueBlock\", */ T:1 },\n\t/*::[*/0x138B/*::]*/: { /* n:\"BrtEndRichValueBlock\", */ T:-1 },\n\t/*::[*/0x13D9/*::]*/: { /* n:\"BrtBeginRichFilters\", */ T:1 },\n\t/*::[*/0x13DA/*::]*/: { /* n:\"BrtEndRichFilters\", */ T:-1 },\n\t/*::[*/0x13DB/*::]*/: { /* n:\"BrtRichFilter\" */ },\n\t/*::[*/0x13DC/*::]*/: { /* n:\"BrtBeginRichFilterColumn\", */ T:1 },\n\t/*::[*/0x13DD/*::]*/: { /* n:\"BrtEndRichFilterColumn\", */ T:-1 },\n\t/*::[*/0x13DE/*::]*/: { /* n:\"BrtBeginCustomRichFilters\", */ T:1 },\n\t/*::[*/0x13DF/*::]*/: { /* n:\"BrtEndCustomRichFilters\", */ T:-1 },\n\t/*::[*/0x13E0/*::]*/: { /* n:\"BrtCustomRichFilter\" */ },\n\t/*::[*/0x13E1/*::]*/: { /* n:\"BrtTop10RichFilter\" */ },\n\t/*::[*/0x13E2/*::]*/: { /* n:\"BrtDynamicRichFilter\" */ },\n\t/*::[*/0x13E4/*::]*/: { /* n:\"BrtBeginRichSortCondition\", */ T:1 },\n\t/*::[*/0x13E5/*::]*/: { /* n:\"BrtEndRichSortCondition\", */ T:-1 },\n\t/*::[*/0x13E6/*::]*/: { /* n:\"BrtRichFilterDateGroupItem\" */ },\n\t/*::[*/0x13E7/*::]*/: { /* n:\"BrtBeginCalcFeatures\", */ T:1 },\n\t/*::[*/0x13E8/*::]*/: { /* n:\"BrtEndCalcFeatures\", */ T:-1 },\n\t/*::[*/0x13E9/*::]*/: { /* n:\"BrtCalcFeature\" */ },\n\t/*::[*/0x13EB/*::]*/: { /* n:\"BrtExternalLinksPr\" */ },\n\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n};\n\n/* [MS-XLS] 2.3 Record Enumeration (and other sources) */\nvar XLSRecordEnum = {\n\t/* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */\n\t/*::[*/0x0006/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x000a/*::]*/: { /* n:\"EOF\", */ f:parsenoop2 },\n\t/*::[*/0x000c/*::]*/: { /* n:\"CalcCount\", */ f:parseuint16 }, //\n\t/*::[*/0x000d/*::]*/: { /* n:\"CalcMode\", */ f:parseuint16 }, //\n\t/*::[*/0x000e/*::]*/: { /* n:\"CalcPrecision\", */ f:parsebool }, //\n\t/*::[*/0x000f/*::]*/: { /* n:\"CalcRefMode\", */ f:parsebool }, //\n\t/*::[*/0x0010/*::]*/: { /* n:\"CalcDelta\", */ f:parse_Xnum }, //\n\t/*::[*/0x0011/*::]*/: { /* n:\"CalcIter\", */ f:parsebool }, //\n\t/*::[*/0x0012/*::]*/: { /* n:\"Protect\", */ f:parsebool },\n\t/*::[*/0x0013/*::]*/: { /* n:\"Password\", */ f:parseuint16 },\n\t/*::[*/0x0014/*::]*/: { /* n:\"Header\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0015/*::]*/: { /* n:\"Footer\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0017/*::]*/: { /* n:\"ExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x0018/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0019/*::]*/: { /* n:\"WinProtect\", */ f:parsebool },\n\t/*::[*/0x001a/*::]*/: { /* n:\"VerticalPageBreaks\", */ },\n\t/*::[*/0x001b/*::]*/: { /* n:\"HorizontalPageBreaks\", */ },\n\t/*::[*/0x001c/*::]*/: { /* n:\"Note\", */ f:parse_Note },\n\t/*::[*/0x001d/*::]*/: { /* n:\"Selection\", */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"Date1904\", */ f:parsebool },\n\t/*::[*/0x0023/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0026/*::]*/: { /* n:\"LeftMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0027/*::]*/: { /* n:\"RightMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0028/*::]*/: { /* n:\"TopMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0029/*::]*/: { /* n:\"BottomMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x002a/*::]*/: { /* n:\"PrintRowCol\", */ f:parsebool },\n\t/*::[*/0x002b/*::]*/: { /* n:\"PrintGrid\", */ f:parsebool },\n\t/*::[*/0x002f/*::]*/: { /* n:\"FilePass\", */ f:parse_FilePass },\n\t/*::[*/0x0031/*::]*/: { /* n:\"Font\", */ f:parse_Font },\n\t/*::[*/0x0033/*::]*/: { /* n:\"PrintSize\", */ f:parseuint16 },\n\t/*::[*/0x003c/*::]*/: { /* n:\"Continue\", */ },\n\t/*::[*/0x003d/*::]*/: { /* n:\"Window1\", */ f:parse_Window1 },\n\t/*::[*/0x0040/*::]*/: { /* n:\"Backup\", */ f:parsebool },\n\t/*::[*/0x0041/*::]*/: { /* n:\"Pane\", */ f:parse_Pane },\n\t/*::[*/0x0042/*::]*/: { /* n:\"CodePage\", */ f:parseuint16 },\n\t/*::[*/0x004d/*::]*/: { /* n:\"Pls\", */ },\n\t/*::[*/0x0050/*::]*/: { /* n:\"DCon\", */ },\n\t/*::[*/0x0051/*::]*/: { /* n:\"DConRef\", */ },\n\t/*::[*/0x0052/*::]*/: { /* n:\"DConName\", */ },\n\t/*::[*/0x0055/*::]*/: { /* n:\"DefColWidth\", */ f:parseuint16 },\n\t/*::[*/0x0059/*::]*/: { /* n:\"XCT\", */ },\n\t/*::[*/0x005a/*::]*/: { /* n:\"CRN\", */ },\n\t/*::[*/0x005b/*::]*/: { /* n:\"FileSharing\", */ },\n\t/*::[*/0x005c/*::]*/: { /* n:\"WriteAccess\", */ f:parse_WriteAccess },\n\t/*::[*/0x005d/*::]*/: { /* n:\"Obj\", */ f:parse_Obj },\n\t/*::[*/0x005e/*::]*/: { /* n:\"Uncalced\", */ },\n\t/*::[*/0x005f/*::]*/: { /* n:\"CalcSaveRecalc\", */ f:parsebool }, //\n\t/*::[*/0x0060/*::]*/: { /* n:\"Template\", */ },\n\t/*::[*/0x0061/*::]*/: { /* n:\"Intl\", */ },\n\t/*::[*/0x0063/*::]*/: { /* n:\"ObjProtect\", */ f:parsebool },\n\t/*::[*/0x007d/*::]*/: { /* n:\"ColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x0080/*::]*/: { /* n:\"Guts\", */ f:parse_Guts },\n\t/*::[*/0x0081/*::]*/: { /* n:\"WsBool\", */ f:parse_WsBool },\n\t/*::[*/0x0082/*::]*/: { /* n:\"GridSet\", */ f:parseuint16 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"HCenter\", */ f:parsebool },\n\t/*::[*/0x0084/*::]*/: { /* n:\"VCenter\", */ f:parsebool },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BoundSheet8\", */ f:parse_BoundSheet8 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"WriteProtect\", */ },\n\t/*::[*/0x008c/*::]*/: { /* n:\"Country\", */ f:parse_Country },\n\t/*::[*/0x008d/*::]*/: { /* n:\"HideObj\", */ f:parseuint16 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"Sort\", */ },\n\t/*::[*/0x0092/*::]*/: { /* n:\"Palette\", */ f:parse_Palette },\n\t/*::[*/0x0097/*::]*/: { /* n:\"Sync\", */ },\n\t/*::[*/0x0098/*::]*/: { /* n:\"LPr\", */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"DxGCol\", */ },\n\t/*::[*/0x009a/*::]*/: { /* n:\"FnGroupName\", */ },\n\t/*::[*/0x009b/*::]*/: { /* n:\"FilterMode\", */ },\n\t/*::[*/0x009c/*::]*/: { /* n:\"BuiltInFnGroupCount\", */ f:parseuint16 },\n\t/*::[*/0x009d/*::]*/: { /* n:\"AutoFilterInfo\", */ },\n\t/*::[*/0x009e/*::]*/: { /* n:\"AutoFilter\", */ },\n\t/*::[*/0x00a0/*::]*/: { /* n:\"Scl\", */ f:parse_Scl },\n\t/*::[*/0x00a1/*::]*/: { /* n:\"Setup\", */ f:parse_Setup },\n\t/*::[*/0x00ae/*::]*/: { /* n:\"ScenMan\", */ },\n\t/*::[*/0x00af/*::]*/: { /* n:\"SCENARIO\", */ },\n\t/*::[*/0x00b0/*::]*/: { /* n:\"SxView\", */ },\n\t/*::[*/0x00b1/*::]*/: { /* n:\"Sxvd\", */ },\n\t/*::[*/0x00b2/*::]*/: { /* n:\"SXVI\", */ },\n\t/*::[*/0x00b4/*::]*/: { /* n:\"SxIvd\", */ },\n\t/*::[*/0x00b5/*::]*/: { /* n:\"SXLI\", */ },\n\t/*::[*/0x00b6/*::]*/: { /* n:\"SXPI\", */ },\n\t/*::[*/0x00b8/*::]*/: { /* n:\"DocRoute\", */ },\n\t/*::[*/0x00b9/*::]*/: { /* n:\"RecipName\", */ },\n\t/*::[*/0x00bd/*::]*/: { /* n:\"MulRk\", */ f:parse_MulRk },\n\t/*::[*/0x00be/*::]*/: { /* n:\"MulBlank\", */ f:parse_MulBlank },\n\t/*::[*/0x00c1/*::]*/: { /* n:\"Mms\", */ f:parsenoop2 },\n\t/*::[*/0x00c5/*::]*/: { /* n:\"SXDI\", */ },\n\t/*::[*/0x00c6/*::]*/: { /* n:\"SXDB\", */ },\n\t/*::[*/0x00c7/*::]*/: { /* n:\"SXFDB\", */ },\n\t/*::[*/0x00c8/*::]*/: { /* n:\"SXDBB\", */ },\n\t/*::[*/0x00c9/*::]*/: { /* n:\"SXNum\", */ },\n\t/*::[*/0x00ca/*::]*/: { /* n:\"SxBool\", */ f:parsebool },\n\t/*::[*/0x00cb/*::]*/: { /* n:\"SxErr\", */ },\n\t/*::[*/0x00cc/*::]*/: { /* n:\"SXInt\", */ },\n\t/*::[*/0x00cd/*::]*/: { /* n:\"SXString\", */ },\n\t/*::[*/0x00ce/*::]*/: { /* n:\"SXDtr\", */ },\n\t/*::[*/0x00cf/*::]*/: { /* n:\"SxNil\", */ },\n\t/*::[*/0x00d0/*::]*/: { /* n:\"SXTbl\", */ },\n\t/*::[*/0x00d1/*::]*/: { /* n:\"SXTBRGIITM\", */ },\n\t/*::[*/0x00d2/*::]*/: { /* n:\"SxTbpg\", */ },\n\t/*::[*/0x00d3/*::]*/: { /* n:\"ObProj\", */ },\n\t/*::[*/0x00d5/*::]*/: { /* n:\"SXStreamID\", */ },\n\t/*::[*/0x00d7/*::]*/: { /* n:\"DBCell\", */ },\n\t/*::[*/0x00d8/*::]*/: { /* n:\"SXRng\", */ },\n\t/*::[*/0x00d9/*::]*/: { /* n:\"SxIsxoper\", */ },\n\t/*::[*/0x00da/*::]*/: { /* n:\"BookBool\", */ f:parseuint16 },\n\t/*::[*/0x00dc/*::]*/: { /* n:\"DbOrParamQry\", */ },\n\t/*::[*/0x00dd/*::]*/: { /* n:\"ScenarioProtect\", */ f:parsebool },\n\t/*::[*/0x00de/*::]*/: { /* n:\"OleObjectSize\", */ },\n\t/*::[*/0x00e0/*::]*/: { /* n:\"XF\", */ f:parse_XF },\n\t/*::[*/0x00e1/*::]*/: { /* n:\"InterfaceHdr\", */ f:parse_InterfaceHdr },\n\t/*::[*/0x00e2/*::]*/: { /* n:\"InterfaceEnd\", */ f:parsenoop2 },\n\t/*::[*/0x00e3/*::]*/: { /* n:\"SXVS\", */ },\n\t/*::[*/0x00e5/*::]*/: { /* n:\"MergeCells\", */ f:parse_MergeCells },\n\t/*::[*/0x00e9/*::]*/: { /* n:\"BkHim\", */ },\n\t/*::[*/0x00eb/*::]*/: { /* n:\"MsoDrawingGroup\", */ },\n\t/*::[*/0x00ec/*::]*/: { /* n:\"MsoDrawing\", */ },\n\t/*::[*/0x00ed/*::]*/: { /* n:\"MsoDrawingSelection\", */ },\n\t/*::[*/0x00ef/*::]*/: { /* n:\"PhoneticInfo\", */ },\n\t/*::[*/0x00f0/*::]*/: { /* n:\"SxRule\", */ },\n\t/*::[*/0x00f1/*::]*/: { /* n:\"SXEx\", */ },\n\t/*::[*/0x00f2/*::]*/: { /* n:\"SxFilt\", */ },\n\t/*::[*/0x00f4/*::]*/: { /* n:\"SxDXF\", */ },\n\t/*::[*/0x00f5/*::]*/: { /* n:\"SxItm\", */ },\n\t/*::[*/0x00f6/*::]*/: { /* n:\"SxName\", */ },\n\t/*::[*/0x00f7/*::]*/: { /* n:\"SxSelect\", */ },\n\t/*::[*/0x00f8/*::]*/: { /* n:\"SXPair\", */ },\n\t/*::[*/0x00f9/*::]*/: { /* n:\"SxFmla\", */ },\n\t/*::[*/0x00fb/*::]*/: { /* n:\"SxFormat\", */ },\n\t/*::[*/0x00fc/*::]*/: { /* n:\"SST\", */ f:parse_SST },\n\t/*::[*/0x00fd/*::]*/: { /* n:\"LabelSst\", */ f:parse_LabelSst },\n\t/*::[*/0x00ff/*::]*/: { /* n:\"ExtSST\", */ f:parse_ExtSST },\n\t/*::[*/0x0100/*::]*/: { /* n:\"SXVDEx\", */ },\n\t/*::[*/0x0103/*::]*/: { /* n:\"SXFormula\", */ },\n\t/*::[*/0x0122/*::]*/: { /* n:\"SXDBEx\", */ },\n\t/*::[*/0x0137/*::]*/: { /* n:\"RRDInsDel\", */ },\n\t/*::[*/0x0138/*::]*/: { /* n:\"RRDHead\", */ },\n\t/*::[*/0x013b/*::]*/: { /* n:\"RRDChgCell\", */ },\n\t/*::[*/0x013d/*::]*/: { /* n:\"RRTabId\", */ f:parseuint16a },\n\t/*::[*/0x013e/*::]*/: { /* n:\"RRDRenSheet\", */ },\n\t/*::[*/0x013f/*::]*/: { /* n:\"RRSort\", */ },\n\t/*::[*/0x0140/*::]*/: { /* n:\"RRDMove\", */ },\n\t/*::[*/0x014a/*::]*/: { /* n:\"RRFormat\", */ },\n\t/*::[*/0x014b/*::]*/: { /* n:\"RRAutoFmt\", */ },\n\t/*::[*/0x014d/*::]*/: { /* n:\"RRInsertSh\", */ },\n\t/*::[*/0x014e/*::]*/: { /* n:\"RRDMoveBegin\", */ },\n\t/*::[*/0x014f/*::]*/: { /* n:\"RRDMoveEnd\", */ },\n\t/*::[*/0x0150/*::]*/: { /* n:\"RRDInsDelBegin\", */ },\n\t/*::[*/0x0151/*::]*/: { /* n:\"RRDInsDelEnd\", */ },\n\t/*::[*/0x0152/*::]*/: { /* n:\"RRDConflict\", */ },\n\t/*::[*/0x0153/*::]*/: { /* n:\"RRDDefName\", */ },\n\t/*::[*/0x0154/*::]*/: { /* n:\"RRDRstEtxp\", */ },\n\t/*::[*/0x015f/*::]*/: { /* n:\"LRng\", */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"UsesELFs\", */ f:parsebool },\n\t/*::[*/0x0161/*::]*/: { /* n:\"DSF\", */ f:parsenoop2 },\n\t/*::[*/0x0191/*::]*/: { /* n:\"CUsr\", */ },\n\t/*::[*/0x0192/*::]*/: { /* n:\"CbUsr\", */ },\n\t/*::[*/0x0193/*::]*/: { /* n:\"UsrInfo\", */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"UsrExcl\", */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"FileLock\", */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"RRDInfo\", */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BCUsrs\", */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"UsrChk\", */ },\n\t/*::[*/0x01a9/*::]*/: { /* n:\"UserBView\", */ },\n\t/*::[*/0x01aa/*::]*/: { /* n:\"UserSViewBegin\", */ },\n\t/*::[*/0x01ab/*::]*/: { /* n:\"UserSViewEnd\", */ },\n\t/*::[*/0x01ac/*::]*/: { /* n:\"RRDUserView\", */ },\n\t/*::[*/0x01ad/*::]*/: { /* n:\"Qsi\", */ },\n\t/*::[*/0x01ae/*::]*/: { /* n:\"SupBook\", */ f:parse_SupBook },\n\t/*::[*/0x01af/*::]*/: { /* n:\"Prot4Rev\", */ f:parsebool },\n\t/*::[*/0x01b0/*::]*/: { /* n:\"CondFmt\", */ },\n\t/*::[*/0x01b1/*::]*/: { /* n:\"CF\", */ },\n\t/*::[*/0x01b2/*::]*/: { /* n:\"DVal\", */ },\n\t/*::[*/0x01b5/*::]*/: { /* n:\"DConBin\", */ },\n\t/*::[*/0x01b6/*::]*/: { /* n:\"TxO\", */ f:parse_TxO },\n\t/*::[*/0x01b7/*::]*/: { /* n:\"RefreshAll\", */ f:parsebool }, //\n\t/*::[*/0x01b8/*::]*/: { /* n:\"HLink\", */ f:parse_HLink },\n\t/*::[*/0x01b9/*::]*/: { /* n:\"Lel\", */ },\n\t/*::[*/0x01ba/*::]*/: { /* n:\"CodeName\", */ f:parse_XLUnicodeString },\n\t/*::[*/0x01bb/*::]*/: { /* n:\"SXFDBType\", */ },\n\t/*::[*/0x01bc/*::]*/: { /* n:\"Prot4RevPass\", */ f:parseuint16 },\n\t/*::[*/0x01bd/*::]*/: { /* n:\"ObNoMacros\", */ },\n\t/*::[*/0x01be/*::]*/: { /* n:\"Dv\", */ },\n\t/*::[*/0x01c0/*::]*/: { /* n:\"Excel9File\", */ f:parsenoop2 },\n\t/*::[*/0x01c1/*::]*/: { /* n:\"RecalcId\", */ f:parse_RecalcId, r:2},\n\t/*::[*/0x01c2/*::]*/: { /* n:\"EntExU2\", */ f:parsenoop2 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0201/*::]*/: { /* n:\"Blank\", */ f:parse_Blank },\n\t/*::[*/0x0203/*::]*/: { /* n:\"Number\", */ f:parse_Number },\n\t/*::[*/0x0204/*::]*/: { /* n:\"Label\", */ f:parse_Label },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0207/*::]*/: { /* n:\"String\", */ f:parse_String },\n\t/*::[*/0x0208/*::]*/: { /* n:\"Row\", */ f:parse_Row },\n\t/*::[*/0x020b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0221/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0225/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t/*::[*/0x0236/*::]*/: { /* n:\"Table\", */ },\n\t/*::[*/0x023e/*::]*/: { /* n:\"Window2\", */ f:parse_Window2 },\n\t/*::[*/0x027e/*::]*/: { /* n:\"RK\", */ f:parse_RK },\n\t/*::[*/0x0293/*::]*/: { /* n:\"Style\", */ },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BigName\", */ },\n\t/*::[*/0x041e/*::]*/: { /* n:\"Format\", */ f:parse_Format },\n\t/*::[*/0x043c/*::]*/: { /* n:\"ContinueBigName\", */ },\n\t/*::[*/0x04bc/*::]*/: { /* n:\"ShrFmla\", */ f:parse_ShrFmla },\n\t/*::[*/0x0800/*::]*/: { /* n:\"HLinkTooltip\", */ f:parse_HLinkTooltip },\n\t/*::[*/0x0801/*::]*/: { /* n:\"WebPub\", */ },\n\t/*::[*/0x0802/*::]*/: { /* n:\"QsiSXTag\", */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"DBQueryExt\", */ },\n\t/*::[*/0x0804/*::]*/: { /* n:\"ExtString\", */ },\n\t/*::[*/0x0805/*::]*/: { /* n:\"TxtQry\", */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"Qsir\", */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"Qsif\", */ },\n\t/*::[*/0x0808/*::]*/: { /* n:\"RRDTQSIF\", */ },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x080a/*::]*/: { /* n:\"OleDbConn\", */ },\n\t/*::[*/0x080b/*::]*/: { /* n:\"WOpt\", */ },\n\t/*::[*/0x080c/*::]*/: { /* n:\"SXViewEx\", */ },\n\t/*::[*/0x080d/*::]*/: { /* n:\"SXTH\", */ },\n\t/*::[*/0x080e/*::]*/: { /* n:\"SXPIEx\", */ },\n\t/*::[*/0x080f/*::]*/: { /* n:\"SXVDTEx\", */ },\n\t/*::[*/0x0810/*::]*/: { /* n:\"SXViewEx9\", */ },\n\t/*::[*/0x0812/*::]*/: { /* n:\"ContinueFrt\", */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"RealTimeData\", */ },\n\t/*::[*/0x0850/*::]*/: { /* n:\"ChartFrtInfo\", */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"FrtWrapper\", */ },\n\t/*::[*/0x0852/*::]*/: { /* n:\"StartBlock\", */ },\n\t/*::[*/0x0853/*::]*/: { /* n:\"EndBlock\", */ },\n\t/*::[*/0x0854/*::]*/: { /* n:\"StartObject\", */ },\n\t/*::[*/0x0855/*::]*/: { /* n:\"EndObject\", */ },\n\t/*::[*/0x0856/*::]*/: { /* n:\"CatLab\", */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"YMult\", */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"SXViewLink\", */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"PivotChartBits\", */ },\n\t/*::[*/0x085a/*::]*/: { /* n:\"FrtFontList\", */ },\n\t/*::[*/0x0862/*::]*/: { /* n:\"SheetExt\", */ },\n\t/*::[*/0x0863/*::]*/: { /* n:\"BookExt\", */ r:12},\n\t/*::[*/0x0864/*::]*/: { /* n:\"SXAddl\", */ },\n\t/*::[*/0x0865/*::]*/: { /* n:\"CrErr\", */ },\n\t/*::[*/0x0866/*::]*/: { /* n:\"HFPicture\", */ },\n\t/*::[*/0x0867/*::]*/: { /* n:\"FeatHdr\", */ f:parsenoop2 },\n\t/*::[*/0x0868/*::]*/: { /* n:\"Feat\", */ },\n\t/*::[*/0x086a/*::]*/: { /* n:\"DataLabExt\", */ },\n\t/*::[*/0x086b/*::]*/: { /* n:\"DataLabExtContents\", */ },\n\t/*::[*/0x086c/*::]*/: { /* n:\"CellWatch\", */ },\n\t/*::[*/0x0871/*::]*/: { /* n:\"FeatHdr11\", */ },\n\t/*::[*/0x0872/*::]*/: { /* n:\"Feature11\", */ },\n\t/*::[*/0x0874/*::]*/: { /* n:\"DropDownObjIds\", */ },\n\t/*::[*/0x0875/*::]*/: { /* n:\"ContinueFrt11\", */ },\n\t/*::[*/0x0876/*::]*/: { /* n:\"DConn\", */ },\n\t/*::[*/0x0877/*::]*/: { /* n:\"List12\", */ },\n\t/*::[*/0x0878/*::]*/: { /* n:\"Feature12\", */ },\n\t/*::[*/0x0879/*::]*/: { /* n:\"CondFmt12\", */ },\n\t/*::[*/0x087a/*::]*/: { /* n:\"CF12\", */ },\n\t/*::[*/0x087b/*::]*/: { /* n:\"CFEx\", */ },\n\t/*::[*/0x087c/*::]*/: { /* n:\"XFCRC\", */ f:parse_XFCRC, r:12 },\n\t/*::[*/0x087d/*::]*/: { /* n:\"XFExt\", */ f:parse_XFExt, r:12 },\n\t/*::[*/0x087e/*::]*/: { /* n:\"AutoFilter12\", */ },\n\t/*::[*/0x087f/*::]*/: { /* n:\"ContinueFrt12\", */ },\n\t/*::[*/0x0884/*::]*/: { /* n:\"MDTInfo\", */ },\n\t/*::[*/0x0885/*::]*/: { /* n:\"MDXStr\", */ },\n\t/*::[*/0x0886/*::]*/: { /* n:\"MDXTuple\", */ },\n\t/*::[*/0x0887/*::]*/: { /* n:\"MDXSet\", */ },\n\t/*::[*/0x0888/*::]*/: { /* n:\"MDXProp\", */ },\n\t/*::[*/0x0889/*::]*/: { /* n:\"MDXKPI\", */ },\n\t/*::[*/0x088a/*::]*/: { /* n:\"MDB\", */ },\n\t/*::[*/0x088b/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x088c/*::]*/: { /* n:\"Compat12\", */ f:parsebool, r:12 },\n\t/*::[*/0x088d/*::]*/: { /* n:\"DXF\", */ },\n\t/*::[*/0x088e/*::]*/: { /* n:\"TableStyles\", */ r:12 },\n\t/*::[*/0x088f/*::]*/: { /* n:\"TableStyle\", */ },\n\t/*::[*/0x0890/*::]*/: { /* n:\"TableStyleElement\", */ },\n\t/*::[*/0x0892/*::]*/: { /* n:\"StyleExt\", */ },\n\t/*::[*/0x0893/*::]*/: { /* n:\"NamePublish\", */ },\n\t/*::[*/0x0894/*::]*/: { /* n:\"NameCmt\", */ f:parse_NameCmt, r:12 },\n\t/*::[*/0x0895/*::]*/: { /* n:\"SortData\", */ },\n\t/*::[*/0x0896/*::]*/: { /* n:\"Theme\", */ f:parse_Theme, r:12 },\n\t/*::[*/0x0897/*::]*/: { /* n:\"GUIDTypeLib\", */ },\n\t/*::[*/0x0898/*::]*/: { /* n:\"FnGrp12\", */ },\n\t/*::[*/0x0899/*::]*/: { /* n:\"NameFnGrp12\", */ },\n\t/*::[*/0x089a/*::]*/: { /* n:\"MTRSettings\", */ f:parse_MTRSettings, r:12 },\n\t/*::[*/0x089b/*::]*/: { /* n:\"CompressPictures\", */ f:parsenoop2 },\n\t/*::[*/0x089c/*::]*/: { /* n:\"HeaderFooter\", */ },\n\t/*::[*/0x089d/*::]*/: { /* n:\"CrtLayout12\", */ },\n\t/*::[*/0x089e/*::]*/: { /* n:\"CrtMlFrt\", */ },\n\t/*::[*/0x089f/*::]*/: { /* n:\"CrtMlFrtContinue\", */ },\n\t/*::[*/0x08a3/*::]*/: { /* n:\"ForceFullCalculation\", */ f:parse_ForceFullCalculation },\n\t/*::[*/0x08a4/*::]*/: { /* n:\"ShapePropsStream\", */ },\n\t/*::[*/0x08a5/*::]*/: { /* n:\"TextPropsStream\", */ },\n\t/*::[*/0x08a6/*::]*/: { /* n:\"RichTextStream\", */ },\n\t/*::[*/0x08a7/*::]*/: { /* n:\"CrtLayout12A\", */ },\n\t/*::[*/0x1001/*::]*/: { /* n:\"Units\", */ },\n\t/*::[*/0x1002/*::]*/: { /* n:\"Chart\", */ },\n\t/*::[*/0x1003/*::]*/: { /* n:\"Series\", */ },\n\t/*::[*/0x1006/*::]*/: { /* n:\"DataFormat\", */ },\n\t/*::[*/0x1007/*::]*/: { /* n:\"LineFormat\", */ },\n\t/*::[*/0x1009/*::]*/: { /* n:\"MarkerFormat\", */ },\n\t/*::[*/0x100a/*::]*/: { /* n:\"AreaFormat\", */ },\n\t/*::[*/0x100b/*::]*/: { /* n:\"PieFormat\", */ },\n\t/*::[*/0x100c/*::]*/: { /* n:\"AttachedLabel\", */ },\n\t/*::[*/0x100d/*::]*/: { /* n:\"SeriesText\", */ },\n\t/*::[*/0x1014/*::]*/: { /* n:\"ChartFormat\", */ },\n\t/*::[*/0x1015/*::]*/: { /* n:\"Legend\", */ },\n\t/*::[*/0x1016/*::]*/: { /* n:\"SeriesList\", */ },\n\t/*::[*/0x1017/*::]*/: { /* n:\"Bar\", */ },\n\t/*::[*/0x1018/*::]*/: { /* n:\"Line\", */ },\n\t/*::[*/0x1019/*::]*/: { /* n:\"Pie\", */ },\n\t/*::[*/0x101a/*::]*/: { /* n:\"Area\", */ },\n\t/*::[*/0x101b/*::]*/: { /* n:\"Scatter\", */ },\n\t/*::[*/0x101c/*::]*/: { /* n:\"CrtLine\", */ },\n\t/*::[*/0x101d/*::]*/: { /* n:\"Axis\", */ },\n\t/*::[*/0x101e/*::]*/: { /* n:\"Tick\", */ },\n\t/*::[*/0x101f/*::]*/: { /* n:\"ValueRange\", */ },\n\t/*::[*/0x1020/*::]*/: { /* n:\"CatSerRange\", */ },\n\t/*::[*/0x1021/*::]*/: { /* n:\"AxisLine\", */ },\n\t/*::[*/0x1022/*::]*/: { /* n:\"CrtLink\", */ },\n\t/*::[*/0x1024/*::]*/: { /* n:\"DefaultText\", */ },\n\t/*::[*/0x1025/*::]*/: { /* n:\"Text\", */ },\n\t/*::[*/0x1026/*::]*/: { /* n:\"FontX\", */ f:parseuint16 },\n\t/*::[*/0x1027/*::]*/: { /* n:\"ObjectLink\", */ },\n\t/*::[*/0x1032/*::]*/: { /* n:\"Frame\", */ },\n\t/*::[*/0x1033/*::]*/: { /* n:\"Begin\", */ },\n\t/*::[*/0x1034/*::]*/: { /* n:\"End\", */ },\n\t/*::[*/0x1035/*::]*/: { /* n:\"PlotArea\", */ },\n\t/*::[*/0x103a/*::]*/: { /* n:\"Chart3d\", */ },\n\t/*::[*/0x103c/*::]*/: { /* n:\"PicF\", */ },\n\t/*::[*/0x103d/*::]*/: { /* n:\"DropBar\", */ },\n\t/*::[*/0x103e/*::]*/: { /* n:\"Radar\", */ },\n\t/*::[*/0x103f/*::]*/: { /* n:\"Surf\", */ },\n\t/*::[*/0x1040/*::]*/: { /* n:\"RadarArea\", */ },\n\t/*::[*/0x1041/*::]*/: { /* n:\"AxisParent\", */ },\n\t/*::[*/0x1043/*::]*/: { /* n:\"LegendException\", */ },\n\t/*::[*/0x1044/*::]*/: { /* n:\"ShtProps\", */ f:parse_ShtProps },\n\t/*::[*/0x1045/*::]*/: { /* n:\"SerToCrt\", */ },\n\t/*::[*/0x1046/*::]*/: { /* n:\"AxesUsed\", */ },\n\t/*::[*/0x1048/*::]*/: { /* n:\"SBaseRef\", */ },\n\t/*::[*/0x104a/*::]*/: { /* n:\"SerParent\", */ },\n\t/*::[*/0x104b/*::]*/: { /* n:\"SerAuxTrend\", */ },\n\t/*::[*/0x104e/*::]*/: { /* n:\"IFmtRecord\", */ },\n\t/*::[*/0x104f/*::]*/: { /* n:\"Pos\", */ },\n\t/*::[*/0x1050/*::]*/: { /* n:\"AlRuns\", */ },\n\t/*::[*/0x1051/*::]*/: { /* n:\"BRAI\", */ },\n\t/*::[*/0x105b/*::]*/: { /* n:\"SerAuxErrBar\", */ },\n\t/*::[*/0x105c/*::]*/: { /* n:\"ClrtClient\", */ f:parse_ClrtClient },\n\t/*::[*/0x105d/*::]*/: { /* n:\"SerFmt\", */ },\n\t/*::[*/0x105f/*::]*/: { /* n:\"Chart3DBarShape\", */ },\n\t/*::[*/0x1060/*::]*/: { /* n:\"Fbi\", */ },\n\t/*::[*/0x1061/*::]*/: { /* n:\"BopPop\", */ },\n\t/*::[*/0x1062/*::]*/: { /* n:\"AxcExt\", */ },\n\t/*::[*/0x1063/*::]*/: { /* n:\"Dat\", */ },\n\t/*::[*/0x1064/*::]*/: { /* n:\"PlotGrowth\", */ },\n\t/*::[*/0x1065/*::]*/: { /* n:\"SIIndex\", */ },\n\t/*::[*/0x1066/*::]*/: { /* n:\"GelFrame\", */ },\n\t/*::[*/0x1067/*::]*/: { /* n:\"BopPopCustom\", */ },\n\t/*::[*/0x1068/*::]*/: { /* n:\"Fbi2\", */ },\n\n\t/*::[*/0x0000/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BIFF2BLANK\", */ },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BIFF2INT\", */ f:parse_BIFF2INT },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BIFF2NUM\", */ f:parse_BIFF2NUM },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BIFF2STR\", */ f:parse_BIFF2STR },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0007/*::]*/: { /* n:\"String\", */ f:parse_BIFF2STRING },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BIFF2ROW\", */ },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x000b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"ExternCount\", */ f:parseuint16 },\n\t/*::[*/0x001e/*::]*/: { /* n:\"BIFF2FORMAT\", */ f:parse_BIFF2Format },\n\t/*::[*/0x001f/*::]*/: { /* n:\"BIFF2FMTCNT\", */ }, /* 16-bit cnt of BIFF2FORMAT records */\n\t/*::[*/0x0020/*::]*/: { /* n:\"BIFF2COLINFO\", */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0024/*::]*/: { /* n:\"COLWIDTH\", */ },\n\t/*::[*/0x0025/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t// 0x2c ??\n\t// 0x2d ??\n\t// 0x2e ??\n\t// 0x30 FONTCOUNT: number of fonts\n\t/*::[*/0x0032/*::]*/: { /* n:\"BIFF2FONTXTRA\", */ f:parse_BIFF2FONTXTRA },\n\t// 0x35: INFOOPTS\n\t// 0x36: TABLE (BIFF2 only)\n\t// 0x37: TABLE2 (BIFF2 only)\n\t// 0x38: WNDESK\n\t// 0x39 ??\n\t// 0x3a: BEGINPREF\n\t// 0x3b: ENDPREF\n\t/*::[*/0x003e/*::]*/: { /* n:\"BIFF2WINDOW2\", */ },\n\t// 0x3f ??\n\t// 0x46: SHOWSCROLL\n\t// 0x47: SHOWFORMULA\n\t// 0x48: STATUSBAR\n\t// 0x49: SHORTMENUS\n\t// 0x4A:\n\t// 0x4B:\n\t// 0x4C:\n\t// 0x4E:\n\t// 0x4F:\n\t// 0x58: TOOLBAR (BIFF3)\n\n\t/* - - - */\n\t/*::[*/0x0034/*::]*/: { /* n:\"DDEObjName\", */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BIFF2XF\", */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BIFF2XFINDEX\", */ f:parseuint16 },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BIFF2FONTCLR\", */ },\n\t/*::[*/0x0056/*::]*/: { /* n:\"BIFF4FMTCNT\", */ }, /* 16-bit cnt, similar to BIFF2 */\n\t/*::[*/0x007e/*::]*/: { /* n:\"RK\", */ }, /* Not necessarily same as 0x027e */\n\t/*::[*/0x007f/*::]*/: { /* n:\"ImData\", */ f:parse_ImData },\n\t/*::[*/0x0087/*::]*/: { /* n:\"Addin\", */ },\n\t/*::[*/0x0088/*::]*/: { /* n:\"Edg\", */ },\n\t/*::[*/0x0089/*::]*/: { /* n:\"Pub\", */ },\n\t// 0x8A\n\t// 0x8B LH: alternate menu key flag (BIFF3/4)\n\t// 0x8E\n\t// 0x8F\n\t/*::[*/0x0091/*::]*/: { /* n:\"Sub\", */ },\n\t// 0x93 STYLE\n\t/*::[*/0x0094/*::]*/: { /* n:\"LHRecord\", */ },\n\t/*::[*/0x0095/*::]*/: { /* n:\"LHNGraph\", */ },\n\t/*::[*/0x0096/*::]*/: { /* n:\"Sound\", */ },\n\t// 0xA2 FNPROTO: function prototypes (BIFF4)\n\t// 0xA3\n\t// 0xA8\n\t/*::[*/0x00a9/*::]*/: { /* n:\"CoordList\", */ },\n\t/*::[*/0x00ab/*::]*/: { /* n:\"GCW\", */ },\n\t/*::[*/0x00bc/*::]*/: { /* n:\"ShrFmla\", */ }, /* Not necessarily same as 0x04bc */\n\t/*::[*/0x00bf/*::]*/: { /* n:\"ToolbarHdr\", */ },\n\t/*::[*/0x00c0/*::]*/: { /* n:\"ToolbarEnd\", */ },\n\t/*::[*/0x00c2/*::]*/: { /* n:\"AddMenu\", */ },\n\t/*::[*/0x00c3/*::]*/: { /* n:\"DelMenu\", */ },\n\t/*::[*/0x00d6/*::]*/: { /* n:\"RString\", */ f:parse_RString },\n\t/*::[*/0x00df/*::]*/: { /* n:\"UDDesc\", */ },\n\t/*::[*/0x00ea/*::]*/: { /* n:\"TabIdConf\", */ },\n\t/*::[*/0x0162/*::]*/: { /* n:\"XL5Modify\", */ },\n\t/*::[*/0x01a5/*::]*/: { /* n:\"FileSharing2\", */ },\n\t/*::[*/0x0206/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0218/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0223/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0231/*::]*/: { /* n:\"Font\", */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BIFF3XF\", */ },\n\t/*::[*/0x0406/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BIFF4XF\", */ },\n\t/*::[*/0x086d/*::]*/: { /* n:\"FeatInfo\", */ },\n\t/*::[*/0x0873/*::]*/: { /* n:\"FeatInfo11\", */ },\n\t/*::[*/0x0881/*::]*/: { /* n:\"SXAddl12\", */ },\n\t/*::[*/0x08c0/*::]*/: { /* n:\"AutoWebPub\", */ },\n\t/*::[*/0x08c1/*::]*/: { /* n:\"ListObj\", */ },\n\t/*::[*/0x08c2/*::]*/: { /* n:\"ListField\", */ },\n\t/*::[*/0x08c3/*::]*/: { /* n:\"ListDV\", */ },\n\t/*::[*/0x08c4/*::]*/: { /* n:\"ListCondFmt\", */ },\n\t/*::[*/0x08c5/*::]*/: { /* n:\"ListCF\", */ },\n\t/*::[*/0x08c6/*::]*/: { /* n:\"FMQry\", */ },\n\t/*::[*/0x08c7/*::]*/: { /* n:\"FMSQry\", */ },\n\t/*::[*/0x08c8/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x08c9/*::]*/: { /* n:\"LnExt\", */ },\n\t/*::[*/0x08ca/*::]*/: { /* n:\"MkrExt\", */ },\n\t/*::[*/0x08cb/*::]*/: { /* n:\"CrtCoopt\", */ },\n\t/*::[*/0x08d6/*::]*/: { /* n:\"FRTArchId$\", */ r:12 },\n\n\t/*::[*/0x7262/*::]*/: {}\n};\n\nfunction write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar t/*:number*/ = type;\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = type;\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r/*:number*/, c/*:number*/) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\twrite_Bes(val, t || 'b', out);\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, (cell.v||\"\").slice(0,255)));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref/*:string*/, rr = \"\", cols/*:Array*/ = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i*/ = [];\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\");\n\tvar MAX_ROWS = b8 ? 65536 : 16384;\n\tif(range.e.c > 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, 0x000d /* CalcMode */, writeuint16(1));\n\twrite_biff_rec(ba, 0x000c /* CalcCount */, writeuint16(100));\n\twrite_biff_rec(ba, 0x000f /* CalcRefMode */, writebool(true));\n\twrite_biff_rec(ba, 0x0011 /* CalcIter */, writebool(false));\n\twrite_biff_rec(ba, 0x0010 /* CalcDelta */, write_Xnum(0.001));\n\twrite_biff_rec(ba, 0x005f /* CalcSaveRecalc */, writebool(true));\n\twrite_biff_rec(ba, 0x002a /* PrintRowCol */, writebool(false));\n\twrite_biff_rec(ba, 0x002b /* PrintGrid */, writebool(false));\n\twrite_biff_rec(ba, 0x0082 /* GridSet */, writeuint16(1));\n\twrite_biff_rec(ba, 0x0080 /* Guts */, write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, 0x0083 /* HCenter */, writebool(false));\n\twrite_biff_rec(ba, 0x0084 /* VCenter */, writebool(false));\n\t/* ... */\n\tif(b8) write_ws_cols_biff8(ba, ws[\"!cols\"]);\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname/*:string*/ = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, 0x000a /* EOF */);\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) {\n\tvar A = buf_array();\n\tvar _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/);\n\tvar _sheets/*:Array*/ = (_WB.Sheets||[]);\n\tvar _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:\"ThisWorkbook\"*/}/*:: ):any)*/;\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, 0x0087 /* Addin */);\n\twrite_biff_rec(A, 0x00e1 /* InterfaceHdr */, b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, 0x00c1 /* Mms */, writezeroes(2));\n\tif(b5) write_biff_rec(A, 0x00bf /* ToolbarHdr */);\n\tif(b5) write_biff_rec(A, 0x00c0 /* ToolbarEnd */);\n\twrite_biff_rec(A, 0x00e2 /* InterfaceEnd */);\n\twrite_biff_rec(A, 0x005c /* WriteAccess */, write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, 0x0042 /* CodePage */, writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, 0x0161 /* DSF */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01c0 /* Excel9File */);\n\twrite_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, 0x00d3 /* ObProj */);\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname/*:string*/ = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, 0x009c /* BuiltInFnGroupCount */, writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, 0x0019 /* WinProtect */, writebool(false));\n\twrite_biff_rec(A, 0x0012 /* Protect */, writebool(false));\n\twrite_biff_rec(A, 0x0013 /* Password */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01af /* Prot4Rev */, writebool(false));\n\tif(b8) write_biff_rec(A, 0x01bc /* Prot4RevPass */, writeuint16(0));\n\twrite_biff_rec(A, 0x003d /* Window1 */, write_Window1(opts));\n\twrite_biff_rec(A, 0x0040 /* Backup */, writebool(false));\n\twrite_biff_rec(A, 0x008d /* HideObj */, writeuint16(0));\n\twrite_biff_rec(A, 0x0022 /* Date1904 */, writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, 0x000e /* CalcPrecision */, writebool(true));\n\tif(b8) write_biff_rec(A, 0x01b7 /* RefreshAll */, writebool(false));\n\twrite_biff_rec(A, 0x00DA /* BookBool */, writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, 0x0160 /* UsesELFs */, writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, 0x008C, write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, 0x00FC, write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, 0x000A /* EOF */);\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/);\n\t\twrite_biff_rec(B, 0x0085 /* BoundSheet8 */, write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn bconcat(out);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn bconcat(bufs);\n}\n\nfunction write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tfor(var i = 0; i <= wb.SheetNames.length; ++i) {\n\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tif(range.e.c > 255) { // note: 255 is IV\n\t\tif(typeof console != \"undefined\" && console.error) console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond column IV (255). Data may be lost.\");\n\t\t}\n\t}\n\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nfunction html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tstr = str.replace(//g, \"\");\n\tvar mtch/*:any*/ = str.match(/\");\n\tvar mtch2/*:any*/ = str.match(/<\\/table/i);\n\tvar i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length;\n\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\tvar R = -1, C = 0, RS = 0, CS = 0;\n\tvar range/*:Range*/ = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\tvar merges/*:Array*/ = [];\n\tfor(i = 0; i < rows.length; ++i) {\n\t\tvar row = rows[i].trim();\n\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\tif(hd == \"/i);\n\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\tvar cell = cells[j].trim();\n\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar _merge/*:Range*/ = merges[midx];\n\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t}\n\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar _t/*:string*/ = tag.t || tag[\"data-t\"] || \"\";\n\t\t\t/* TODO: generate stub cells */\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tm = htmldecode(m);\n\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tvar o/*:Cell*/ = {t:'s', v:m};\n\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\to = ({t:'d', v:parseDate(m)}/*:any*/);\n\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t}\n\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\tC += CS;\n\t\t}\n\t}\n\tws['!ref'] = encode_range(range);\n\tif(merges.length) ws[\"!merges\"] = merges;\n\treturn ws;\n}\nfunction make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar M/*:Array*/ = (ws['!merges'] ||[]);\n\tvar oo/*:Array*/ = [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar RS = 0, CS = 0;\n\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t}\n\t\tif(RS < 0) continue;\n\t\tvar coord = encode_cell({r:R,c:C});\n\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t/* TODO: html entities */\n\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\tvar sp = ({}/*:any*/);\n\t\tif(RS > 1) sp.rowspan = RS;\n\t\tif(CS > 1) sp.colspan = CS;\n\t\tif(o.editable) w = '' + w + '';\n\t\telse if(cell) {\n\t\t\tsp[\"data-t\"] = cell && cell.t || 'z';\n\t\t\tif(cell.v != null) sp[\"data-v\"] = cell.v;\n\t\t\tif(cell.z != null) sp[\"data-z\"] = cell.z;\n\t\t\tif(cell.l && (cell.l.Target || \"#\").charAt(0) != \"#\") w = '' + w + '';\n\t\t}\n\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\too.push(writextag('td', w, sp));\n\t}\n\tvar preamble = \"\";\n\treturn preamble + oo.join(\"\") + \"\";\n}\n\nvar HTML_BEGIN = 'SheetJS Table Export';\nvar HTML_END = '';\n\nfunction html_to_workbook(str/*:string*/, opts)/*:Workbook*/ {\n\tvar mtch = str.match(/[\\s\\S]*?<\\/table>/gi);\n\tif(!mtch || mtch.length == 0) throw new Error(\"Invalid HTML: could not find
\");\n\tif(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts);\n\tvar wb = book_new();\n\tmtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), \"Sheet\" + (idx+1)); });\n\treturn wb;\n}\n\nfunction make_html_preamble(ws/*:Worksheet*/, R/*:Range*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\treturn out.join(\"\") + '';\n}\n\nfunction sheet_to_html(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*//*, wb:?Workbook*/)/*:string*/ {\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tvar out/*:Array*/ = [header];\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tout.push(make_html_preamble(ws, r, o));\n\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\tout.push(\"
\" + footer);\n\treturn out.join(\"\");\n}\n\nfunction sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\n\tvar rows/*:HTMLCollection*/ = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range/*:Range*/ = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range/*:Range*/ = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges/*:Array*/ = [], midx = 0;\n\tvar rowinfo/*:Array*/ = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row/*:HTMLTableRowElement*/ = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts/*:HTMLCollection*/ = (row.children/*:any*/);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt/*:HTMLTableCellElement*/ = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v/*:?string*/ = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z/*:?string*/ = elt.getAttribute('data-z') || elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m/*:Range*/ = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o/*:Cell*/ = {t:'s', v:v};\n\t\t\tvar _t/*:string*/ = elt.getAttribute(\"data-t\") || elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)}/*:any*/);\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\t/* The first link is used. Links are assumed to be fully specified.\n\t\t\t * TODO: The right way to process relative links is to make a new */\n\t\t\tvar l = \"\", Aelts = elt.getElementsByTagName(\"A\");\n\t\t\tif(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti)\tif(Aelts[Aelti].hasAttribute(\"href\")) {\n\t\t\t\tl = Aelts[Aelti].getAttribute(\"href\"); if(l.charAt(0) != \"#\") break;\n\t\t\t}\n\t\t\tif(l && l.charAt(0) != \"#\") o.l = ({ Target: l });\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table/*:HTMLElement*/, opts/*:?any*/)/*:Workbook*/ {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element/*:HTMLElement*/)/*:boolean*/ {\n\tvar display/*:string*/ = '';\n\tvar get_computed_style/*:?function*/ = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style && element.style.display;\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nfunction parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ {\n\t/* 6.1.2 White Space Characters */\n\tvar fixed = text\n\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t.replace(//g,\" \")\n\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t.replace(//g,\"\\n\");\n\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\treturn [v];\n}\n\nvar number_formats_ods = {\n\t/* ods name: [short ssf fmt, long ssf fmt] */\n\tday: [\"d\", \"dd\"],\n\tmonth: [\"m\", \"mm\"],\n\tyear: [\"y\", \"yy\"],\n\thours: [\"h\", \"hh\"],\n\tminutes: [\"m\", \"mm\"],\n\tseconds: [\"s\", \"ss\"],\n\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\tera: [\"e\", \"ee\"],\n\t/* there is no native representation of LO \"Q\" format */\n\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n};\n\n\nfunction parse_content_xml(d/*:string*/, _opts)/*:Workbook*/ {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state/*:Array*/ = [], tmp;\n\t\tvar tag/*:: = {}*/;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag/*:: = {name:\"\", '名称':\"\"}*/;\n\t\tvar rowtag/*:: = {'行号':\"\"}*/;\n\t\tvar Sheets = {}, SheetNames/*:Array*/ = [];\n\t\tvar ws = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar Rn, q/*:: :any = ({t:\"\", v:null, z:null, w:\"\",c:[],}:any)*/;\n\t\tvar ctag = ({value:\"\"}/*:any*/);\n\t\tvar textp = \"\", textpidx = 0, textptag/*:: = {}*/;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges/*:Array*/ = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo/*:Array*/ = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({}/*:any*/);\n\t\tvar _Ref/*:[string, string]*/ = [\"\", \"\"];\n\t\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]/*:any*/) : ({}/*:any*/); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({}/*:any*/);\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400;\n\t\t\t\t\t\t\tif(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); }\n\t\t\t\t\t\t\tq.z = 'HH:MM:SS'; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {/*:: t:\"\", v:null, z:null, w:\"\",c:[]*/};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({}/*:any*/);\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': // 3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) /*::(*/comment/*:: :any)*/.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]}/*:any*/);\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = unescapexml(atag.href); delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t} else if(atag.Target.match(/^\\.\\.[\\\\\\/]/)) atag.Target = atag.Target.slice(3);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ',\n\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t'',\n\t\t''\n\t].join(\"\");\n\n\tvar payload = '' + master_styles + '';\n\n\treturn function wso(/*::wb, opts*/) {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text/*:string*/)/*:string*/ {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb/*:Workbook*/, i/*:number*//*::, opts*/)/*:string*/ {\n\t\t/* Section 9 Tables */\n\t\tvar o/*:Array*/ = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']||\"A1\");\n\t\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tif(ws[\"!cols\"]) {\n\t\t\tfor(C = 0; C <= range.e.c; ++C) o.push(' \\n');\n\t\t}\n\t\tvar H = \"\", ROWS = ws[\"!rows\"]||[];\n\t\tfor(R = 0; R < range.s.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t}\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target;\n\t\t\t\t\t_tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\t// TODO: choose correct parent path format based on link delimiters\n\t\t\t\t\tif(_tgt.charAt(0) != \"#\" && !_tgt.match(/^\\w+:/)) _tgt = '../' + _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, \"&\")});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o/*:Array*/, wb) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* column styles */\n\t\tvar cidx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!cols\"]) {\n\t\t\t\tfor(var C = 0; C < ws[\"!cols\"].length; ++C) if(ws[\"!cols\"][C]) {\n\t\t\t\t\tvar colobj = ws[\"!cols\"][C];\n\t\t\t\t\tif(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue;\n\t\t\t\t\tprocess_col(colobj);\n\t\t\t\t\tcolobj.ods = cidx;\n\t\t\t\t\tvar w = ws[\"!cols\"][C].wpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++cidx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* row styles */\n\t\tvar ridx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!rows\"]) {\n\t\t\t\tfor(var R = 0; R < ws[\"!rows\"].length; ++R) if(ws[\"!rows\"][R]) {\n\t\t\t\t\tws[\"!rows\"][R].ods = ridx;\n\t\t\t\t\tvar h = ws[\"!rows\"][R].hpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++ridx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* table */\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") {\n\t\t\to.push('\\n');\n\t\t\to.push(write_meta_ods().replace(/office:document-meta/g, \"office:meta\"));\n\t\t\t// TODO: settings (equiv of settings.xml for ODS)\n\t\t} else o.push('\\n');\n\t\t// o.push(' \\n');\n\t\twrite_automatic_styles_ods(o, wb);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb/*:any*/, opts/*:any*/) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\n\tvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest/*:Array >*/ = [];\n\tvar rdf/*:Array<[string, string]>*/ = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, XML_HEADER + write_meta_ods(/*::wb, opts*/));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\n/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */\nfunction u8_to_dataview(array) {\n return new DataView(array.buffer, array.byteOffset, array.byteLength);\n}\nfunction u8str(u8) {\n return typeof TextDecoder != \"undefined\" ? new TextDecoder().decode(u8) : utf8read(a2s(u8));\n}\nfunction stru8(str) {\n return typeof TextEncoder != \"undefined\" ? new TextEncoder().encode(str) : s2a(utf8write(str));\n}\nfunction u8contains(body, search) {\n outer:\n for (var L = 0; L <= body.length - search.length; ++L) {\n for (var j = 0; j < search.length; ++j)\n if (body[L + j] != search[j])\n continue outer;\n return true;\n }\n return false;\n}\nfunction u8concat(u8a) {\n var len = u8a.reduce(function(acc, x) {\n return acc + x.length;\n }, 0);\n var out = new Uint8Array(len);\n var off = 0;\n u8a.forEach(function(u8) {\n out.set(u8, off);\n off += u8.length;\n });\n return out;\n}\nfunction popcnt(x) {\n x -= x >> 1 & 1431655765;\n x = (x & 858993459) + (x >> 2 & 858993459);\n return (x + (x >> 4) & 252645135) * 16843009 >>> 24;\n}\nfunction readDecimal128LE(buf, offset) {\n var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1;\n var mantissa = buf[offset + 14] & 1;\n for (var j = offset + 13; j >= offset; --j)\n mantissa = mantissa * 256 + buf[j];\n return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176);\n}\nfunction writeDecimal128LE(buf, offset, value) {\n var exp = Math.floor(value == 0 ? 0 : Math.LOG10E * Math.log(Math.abs(value))) + 6176 - 20;\n var mantissa = value / Math.pow(10, exp - 6176);\n buf[offset + 15] |= exp >> 7;\n buf[offset + 14] |= (exp & 127) << 1;\n for (var i = 0; mantissa >= 1; ++i, mantissa /= 256)\n buf[offset + i] = mantissa & 255;\n buf[offset + 15] |= value >= 0 ? 0 : 128;\n}\nfunction parse_varint49(buf, ptr) {\n var l = ptr ? ptr[0] : 0;\n var usz = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n usz |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 28);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 35);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 42);\n ++l;\n if (buf[l++] < 128)\n break varint;\n }\n if (ptr)\n ptr[0] = l;\n return usz;\n}\nfunction write_varint49(v) {\n var usz = new Uint8Array(7);\n usz[0] = v & 127;\n var L = 1;\n sz:\n if (v > 127) {\n usz[L - 1] |= 128;\n usz[L] = v >> 7 & 127;\n ++L;\n if (v <= 16383)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 14 & 127;\n ++L;\n if (v <= 2097151)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 21 & 127;\n ++L;\n if (v <= 268435455)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 256 >>> 21 & 127;\n ++L;\n if (v <= 34359738367)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 65536 >>> 21 & 127;\n ++L;\n if (v <= 4398046511103)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 16777216 >>> 21 & 127;\n ++L;\n }\n return usz.slice(0, L);\n}\nfunction varint_to_i32(buf) {\n var l = 0, i32 = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n i32 |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 28;\n }\n return i32;\n}\nfunction parse_shallow(buf) {\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var off = ptr[0];\n var num = parse_varint49(buf, ptr);\n var type = num & 7;\n num = Math.floor(num / 8);\n var len = 0;\n var res;\n if (num == 0)\n break;\n switch (type) {\n case 0:\n {\n var l = ptr[0];\n while (buf[ptr[0]++] >= 128)\n ;\n res = buf.slice(l, ptr[0]);\n }\n break;\n case 5:\n len = 4;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 1:\n len = 8;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 2:\n len = parse_varint49(buf, ptr);\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 3:\n case 4:\n default:\n throw new Error(\"PB Type \".concat(type, \" for Field \").concat(num, \" at offset \").concat(off));\n }\n var v = { data: res, type: type };\n if (out[num] == null)\n out[num] = [v];\n else\n out[num].push(v);\n }\n return out;\n}\nfunction write_shallow(proto) {\n var out = [];\n proto.forEach(function(field, idx) {\n field.forEach(function(item) {\n if (!item.data)\n return;\n out.push(write_varint49(idx * 8 + item.type));\n if (item.type == 2)\n out.push(write_varint49(item.data.length));\n out.push(item.data);\n });\n });\n return u8concat(out);\n}\nfunction mappa(data, cb) {\n return (data == null ? void 0 : data.map(function(d) {\n return cb(d.data);\n })) || [];\n}\nfunction parse_iwa_file(buf) {\n var _a;\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var len = parse_varint49(buf, ptr);\n var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n var res = {\n id: varint_to_i32(ai[1][0].data),\n messages: []\n };\n ai[2].forEach(function(b) {\n var mi = parse_shallow(b.data);\n var fl = varint_to_i32(mi[3][0].data);\n res.messages.push({\n meta: mi,\n data: buf.slice(ptr[0], ptr[0] + fl)\n });\n ptr[0] += fl;\n });\n if ((_a = ai[3]) == null ? void 0 : _a[0])\n res.merge = varint_to_i32(ai[3][0].data) >>> 0 > 0;\n out.push(res);\n }\n return out;\n}\nfunction write_iwa_file(ias) {\n var bufs = [];\n ias.forEach(function(ia) {\n var ai = [];\n ai[1] = [{ data: write_varint49(ia.id), type: 0 }];\n ai[2] = [];\n if (ia.merge != null)\n ai[3] = [{ data: write_varint49(+!!ia.merge), type: 0 }];\n var midata = [];\n ia.messages.forEach(function(mi) {\n midata.push(mi.data);\n mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }];\n ai[2].push({ data: write_shallow(mi.meta), type: 2 });\n });\n var aipayload = write_shallow(ai);\n bufs.push(write_varint49(aipayload.length));\n bufs.push(aipayload);\n midata.forEach(function(mid) {\n return bufs.push(mid);\n });\n });\n return u8concat(bufs);\n}\nfunction parse_snappy_chunk(type, buf) {\n if (type != 0)\n throw new Error(\"Unexpected Snappy chunk type \".concat(type));\n var ptr = [0];\n var usz = parse_varint49(buf, ptr);\n var chunks = [];\n while (ptr[0] < buf.length) {\n var tag = buf[ptr[0]] & 3;\n if (tag == 0) {\n var len = buf[ptr[0]++] >> 2;\n if (len < 60)\n ++len;\n else {\n var c = len - 59;\n len = buf[ptr[0]];\n if (c > 1)\n len |= buf[ptr[0] + 1] << 8;\n if (c > 2)\n len |= buf[ptr[0] + 2] << 16;\n if (c > 3)\n len |= buf[ptr[0] + 3] << 24;\n len >>>= 0;\n len++;\n ptr[0] += c;\n }\n chunks.push(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n continue;\n } else {\n var offset = 0, length = 0;\n if (tag == 1) {\n length = (buf[ptr[0]] >> 2 & 7) + 4;\n offset = (buf[ptr[0]++] & 224) << 3;\n offset |= buf[ptr[0]++];\n } else {\n length = (buf[ptr[0]++] >> 2) + 1;\n if (tag == 2) {\n offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8;\n ptr[0] += 2;\n } else {\n offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0;\n ptr[0] += 4;\n }\n }\n chunks = [u8concat(chunks)];\n if (offset == 0)\n throw new Error(\"Invalid offset 0\");\n if (offset > chunks[0].length)\n throw new Error(\"Invalid offset beyond length\");\n if (length >= offset) {\n chunks.push(chunks[0].slice(-offset));\n length -= offset;\n while (length >= chunks[chunks.length - 1].length) {\n chunks.push(chunks[chunks.length - 1]);\n length -= chunks[chunks.length - 1].length;\n }\n }\n chunks.push(chunks[0].slice(-offset, -offset + length));\n }\n }\n var o = u8concat(chunks);\n if (o.length != usz)\n throw new Error(\"Unexpected length: \".concat(o.length, \" != \").concat(usz));\n return o;\n}\nfunction decompress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var t = buf[l++];\n var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16;\n l += 3;\n out.push(parse_snappy_chunk(t, buf.slice(l, l + len)));\n l += len;\n }\n if (l !== buf.length)\n throw new Error(\"data is not a valid framed stream!\");\n return u8concat(out);\n}\nfunction compress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var c = Math.min(buf.length - l, 268435455);\n var frame = new Uint8Array(4);\n out.push(frame);\n var usz = write_varint49(c);\n var L = usz.length;\n out.push(usz);\n if (c <= 60) {\n L++;\n out.push(new Uint8Array([c - 1 << 2]));\n } else if (c <= 256) {\n L += 2;\n out.push(new Uint8Array([240, c - 1 & 255]));\n } else if (c <= 65536) {\n L += 3;\n out.push(new Uint8Array([244, c - 1 & 255, c - 1 >> 8 & 255]));\n } else if (c <= 16777216) {\n L += 4;\n out.push(new Uint8Array([248, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255]));\n } else if (c <= 4294967296) {\n L += 5;\n out.push(new Uint8Array([252, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255, c - 1 >>> 24 & 255]));\n }\n out.push(buf.slice(l, l + c));\n L += c;\n frame[0] = 0;\n frame[1] = L & 255;\n frame[2] = L >> 8 & 255;\n frame[3] = L >> 16 & 255;\n l += c;\n }\n return u8concat(out);\n}\nfunction parse_old_storage(buf, sst, rsst, v) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(4, true);\n var data_offset = (v > 1 ? 12 : 8) + popcnt(flags & (v > 1 ? 3470 : 398)) * 4;\n var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 512) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n data_offset += popcnt(flags & (v > 1 ? 12288 : 4096)) * 4;\n if (flags & 16) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 32) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 64) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n var ret;\n switch (buf[2]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: ieee };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else if (sidx > -1)\n ret = { t: \"s\", v: sst[sidx] };\n else if (!isNaN(ieee))\n ret = { t: \"n\", v: ieee };\n else\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction parse_new_storage(buf, sst, rsst) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(8, true);\n var data_offset = 12;\n var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 1) {\n d128 = readDecimal128LE(buf, data_offset);\n data_offset += 16;\n }\n if (flags & 2) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 4) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n if (flags & 8) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 16) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n var ret;\n switch (buf[1]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: d128 };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n break;\n case 10:\n ret = { t: \"n\", v: d128 };\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction write_new_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 5;\n switch (cell.t) {\n case \"n\":\n out[1] = 2;\n writeDecimal128LE(out, l, cell.v);\n flags |= 1;\n l += 16;\n break;\n case \"b\":\n out[1] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 2;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[1] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 8;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(8, flags, true);\n return out.slice(0, l);\n}\nfunction write_old_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 3;\n switch (cell.t) {\n case \"n\":\n out[2] = 2;\n dv.setFloat64(l, cell.v, true);\n flags |= 32;\n l += 8;\n break;\n case \"b\":\n out[2] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 32;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[2] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 16;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(4, flags, true);\n return out.slice(0, l);\n}\nfunction parse_cell_storage(buf, sst, rsst) {\n switch (buf[0]) {\n case 0:\n case 1:\n case 2:\n case 3:\n return parse_old_storage(buf, sst, rsst, buf[0]);\n case 5:\n return parse_new_storage(buf, sst, rsst);\n default:\n throw new Error(\"Unsupported payload version \".concat(buf[0]));\n }\n}\nfunction parse_TSP_Reference(buf) {\n var pb = parse_shallow(buf);\n return parse_varint49(pb[1][0].data);\n}\nfunction write_TSP_Reference(idx) {\n var out = [];\n out[1] = [{ type: 0, data: write_varint49(idx) }];\n return write_shallow(out);\n}\nfunction parse_TST_TableDataList(M, root) {\n var pb = parse_shallow(root.data);\n var type = varint_to_i32(pb[1][0].data);\n var entries = pb[3];\n var data = [];\n (entries || []).forEach(function(entry) {\n var le = parse_shallow(entry.data);\n var key = varint_to_i32(le[1][0].data) >>> 0;\n switch (type) {\n case 1:\n data[key] = u8str(le[3][0].data);\n break;\n case 8:\n {\n var rt = M[parse_TSP_Reference(le[9][0].data)][0];\n var rtp = parse_shallow(rt.data);\n var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0];\n var mtype = varint_to_i32(rtpref.meta[1][0].data);\n if (mtype != 2001)\n throw new Error(\"2000 unexpected reference to \".concat(mtype));\n var tswpsa = parse_shallow(rtpref.data);\n data[key] = tswpsa[3].map(function(x) {\n return u8str(x.data);\n }).join(\"\");\n }\n break;\n }\n });\n return data;\n}\nfunction parse_TST_TileRowInfo(u8, type) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n var pb = parse_shallow(u8);\n var R = varint_to_i32(pb[1][0].data) >>> 0;\n var cnt = varint_to_i32(pb[2][0].data) >>> 0;\n var wide_offsets = ((_b = (_a = pb[8]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) && varint_to_i32(pb[8][0].data) > 0 || false;\n var used_storage_u8, used_storage;\n if (((_d = (_c = pb[7]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && type != 0) {\n used_storage_u8 = (_f = (_e = pb[7]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data;\n used_storage = (_h = (_g = pb[6]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data;\n } else if (((_j = (_i = pb[4]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && type != 1) {\n used_storage_u8 = (_l = (_k = pb[4]) == null ? void 0 : _k[0]) == null ? void 0 : _l.data;\n used_storage = (_n = (_m = pb[3]) == null ? void 0 : _m[0]) == null ? void 0 : _n.data;\n } else\n throw \"NUMBERS Tile missing \".concat(type, \" cell storage\");\n var width = wide_offsets ? 4 : 1;\n var used_storage_offsets = u8_to_dataview(used_storage_u8);\n var offsets = [];\n for (var C = 0; C < used_storage_u8.length / 2; ++C) {\n var off = used_storage_offsets.getUint16(C * 2, true);\n if (off < 65535)\n offsets.push([C, off]);\n }\n if (offsets.length != cnt)\n throw \"Expected \".concat(cnt, \" cells, found \").concat(offsets.length);\n var cells = [];\n for (C = 0; C < offsets.length - 1; ++C)\n cells[offsets[C][0]] = used_storage.subarray(offsets[C][1] * width, offsets[C + 1][1] * width);\n if (offsets.length >= 1)\n cells[offsets[offsets.length - 1][0]] = used_storage.subarray(offsets[offsets.length - 1][1] * width);\n return { R: R, cells: cells };\n}\nfunction parse_TST_Tile(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var storage = ((_a = pb == null ? void 0 : pb[7]) == null ? void 0 : _a[0]) ? varint_to_i32(pb[7][0].data) >>> 0 > 0 ? 1 : 0 : -1;\n var ri = mappa(pb[5], function(u8) {\n return parse_TST_TileRowInfo(u8, storage);\n });\n return {\n nrows: varint_to_i32(pb[4][0].data) >>> 0,\n data: ri.reduce(function(acc, x) {\n if (!acc[x.R])\n acc[x.R] = [];\n x.cells.forEach(function(cell, C) {\n if (acc[x.R][C])\n throw new Error(\"Duplicate cell r=\".concat(x.R, \" c=\").concat(C));\n acc[x.R][C] = cell;\n });\n return acc;\n }, [])\n };\n}\nfunction parse_TST_TableModelArchive(M, root, ws) {\n var _a;\n var pb = parse_shallow(root.data);\n var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };\n range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1;\n if (range.e.r < 0)\n throw new Error(\"Invalid row varint \".concat(pb[6][0].data));\n range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1;\n if (range.e.c < 0)\n throw new Error(\"Invalid col varint \".concat(pb[7][0].data));\n ws[\"!ref\"] = encode_range(range);\n var store = parse_shallow(pb[4][0].data);\n var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]);\n var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : [];\n var tile = parse_shallow(store[3][0].data);\n var _R = 0;\n tile[1].forEach(function(t) {\n var tl = parse_shallow(t.data);\n var ref = M[parse_TSP_Reference(tl[2][0].data)][0];\n var mtype = varint_to_i32(ref.meta[1][0].data);\n if (mtype != 6002)\n throw new Error(\"6001 unexpected reference to \".concat(mtype));\n var _tile = parse_TST_Tile(M, ref);\n _tile.data.forEach(function(row, R) {\n row.forEach(function(buf, C) {\n var addr = encode_cell({ r: _R + R, c: C });\n var res = parse_cell_storage(buf, sst, rsst);\n if (res)\n ws[addr] = res;\n });\n });\n _R += _tile.nrows;\n });\n}\nfunction parse_TST_TableInfoArchive(M, root) {\n var pb = parse_shallow(root.data);\n var out = { \"!ref\": \"A1\" };\n var tableref = M[parse_TSP_Reference(pb[2][0].data)];\n var mtype = varint_to_i32(tableref[0].meta[1][0].data);\n if (mtype != 6001)\n throw new Error(\"6000 unexpected reference to \".concat(mtype));\n parse_TST_TableModelArchive(M, tableref[0], out);\n return out;\n}\nfunction parse_TN_SheetArchive(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var out = {\n name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : \"\",\n sheets: []\n };\n var shapeoffs = mappa(pb[2], parse_TSP_Reference);\n shapeoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 6e3)\n out.sheets.push(parse_TST_TableInfoArchive(M, m));\n });\n });\n return out;\n}\nfunction parse_TN_DocumentArchive(M, root) {\n var out = book_new();\n var pb = parse_shallow(root.data);\n var sheetoffs = mappa(pb[1], parse_TSP_Reference);\n sheetoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 2) {\n var root2 = parse_TN_SheetArchive(M, m);\n root2.sheets.forEach(function(sheet, idx) {\n book_append_sheet(out, sheet, idx == 0 ? root2.name : root2.name + \"_\" + idx, true);\n });\n }\n });\n });\n if (out.SheetNames.length == 0)\n throw new Error(\"Empty NUMBERS file\");\n return out;\n}\nfunction parse_numbers_iwa(cfb) {\n var _a, _b, _c, _d;\n var M = {}, indices = [];\n cfb.FullPaths.forEach(function(p) {\n if (p.match(/\\.iwpv2/))\n throw new Error(\"Unsupported password protection\");\n });\n cfb.FileIndex.forEach(function(s) {\n if (!s.name.match(/\\.iwa$/))\n return;\n var o;\n try {\n o = decompress_iwa_file(s.content);\n } catch (e) {\n return console.log(\"?? \" + s.content.length + \" \" + (e.message || e));\n }\n var packets;\n try {\n packets = parse_iwa_file(o);\n } catch (e) {\n return console.log(\"## \" + (e.message || e));\n }\n packets.forEach(function(packet) {\n M[packet.id] = packet.messages;\n indices.push(packet.id);\n });\n });\n if (!indices.length)\n throw new Error(\"File has no messages\");\n var docroot = ((_d = (_c = (_b = (_a = M == null ? void 0 : M[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.meta) == null ? void 0 : _c[1]) == null ? void 0 : _d[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1 && M[1][0];\n if (!docroot)\n indices.forEach(function(idx) {\n M[idx].forEach(function(iwam) {\n var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0;\n if (mtype == 1) {\n if (!docroot)\n docroot = iwam;\n else\n throw new Error(\"Document has multiple roots\");\n }\n });\n });\n if (!docroot)\n throw new Error(\"Cannot find Document root\");\n return parse_TN_DocumentArchive(M, docroot);\n}\nfunction write_tile_row(tri, data, SST) {\n var _a, _b, _c, _d;\n if (!((_a = tri[6]) == null ? void 0 : _a[0]) || !((_b = tri[7]) == null ? void 0 : _b[0]))\n throw \"Mutation only works on post-BNC storages!\";\n var wide_offsets = ((_d = (_c = tri[8]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && varint_to_i32(tri[8][0].data) > 0 || false;\n if (wide_offsets)\n throw \"Math only works with normal offsets\";\n var cnt = 0;\n var dv = u8_to_dataview(tri[7][0].data), last_offset = 0, cell_storage = [];\n var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = [];\n for (var C = 0; C < data.length; ++C) {\n if (data[C] == null) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535);\n continue;\n }\n dv.setUint16(C * 2, last_offset, true);\n _dv.setUint16(C * 2, _last_offset, true);\n var celload, _celload;\n switch (typeof data[C]) {\n case \"string\":\n celload = write_new_storage({ t: \"s\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"s\", v: data[C] }, SST);\n break;\n case \"number\":\n celload = write_new_storage({ t: \"n\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"n\", v: data[C] }, SST);\n break;\n case \"boolean\":\n celload = write_new_storage({ t: \"b\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"b\", v: data[C] }, SST);\n break;\n default:\n throw new Error(\"Unsupported value \" + data[C]);\n }\n cell_storage.push(celload);\n last_offset += celload.length;\n _cell_storage.push(_celload);\n _last_offset += _celload.length;\n ++cnt;\n }\n tri[2][0].data = write_varint49(cnt);\n for (; C < tri[7][0].data.length / 2; ++C) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535, true);\n }\n tri[6][0].data = u8concat(cell_storage);\n tri[3][0].data = u8concat(_cell_storage);\n return cnt;\n}\nfunction write_numbers_iwa(wb, opts) {\n if (!opts || !opts.numbers)\n throw new Error(\"Must pass a `numbers` option -- check the README\");\n var ws = wb.Sheets[wb.SheetNames[0]];\n if (wb.SheetNames.length > 1)\n console.error(\"The Numbers writer currently writes only the first table\");\n var range = decode_range(ws[\"!ref\"]);\n range.s.r = range.s.c = 0;\n var trunc = false;\n if (range.e.c > 9) {\n trunc = true;\n range.e.c = 9;\n }\n if (range.e.r > 49) {\n trunc = true;\n range.e.r = 49;\n }\n if (trunc)\n console.error(\"The Numbers writer is currently limited to \".concat(encode_range(range)));\n var data = sheet_to_json(ws, { range: range, header: 1 });\n var SST = [\"~Sh33tJ5~\"];\n data.forEach(function(row) {\n return row.forEach(function(cell) {\n if (typeof cell == \"string\")\n SST.push(cell);\n });\n });\n var dependents = {};\n var indices = [];\n var cfb = CFB.read(opts.numbers, { type: \"base64\" });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (fi.type != 2)\n return;\n if (!fi.name.match(/\\.iwa/))\n return;\n var old_content = fi.content;\n var raw1 = decompress_iwa_file(old_content);\n var x2 = parse_iwa_file(raw1);\n x2.forEach(function(packet2) {\n indices.push(packet2.id);\n dependents[packet2.id] = { deps: [], location: fp, type: varint_to_i32(packet2.messages[0].meta[1][0].data) };\n });\n });\n indices.sort(function(x2, y2) {\n return x2 - y2;\n });\n var indices_varint = indices.filter(function(x2) {\n return x2 > 1;\n }).map(function(x2) {\n return [x2, write_varint49(x2)];\n });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (!fi.name.match(/\\.iwa/))\n return;\n var x2 = parse_iwa_file(decompress_iwa_file(fi.content));\n x2.forEach(function(ia) {\n ia.messages.forEach(function(m) {\n indices_varint.forEach(function(ivi) {\n if (ia.messages.some(function(mess) {\n return varint_to_i32(mess.meta[1][0].data) != 11006 && u8contains(mess.data, ivi[1]);\n })) {\n dependents[ivi[0]].deps.push(ia.id);\n }\n });\n });\n });\n });\n function get_unique_msgid() {\n for (var i = 927262; i < 2e6; ++i)\n if (!dependents[i])\n return i;\n throw new Error(\"Too many messages\");\n }\n var entry = CFB.find(cfb, dependents[1].location);\n var x = parse_iwa_file(decompress_iwa_file(entry.content));\n var docroot;\n for (var xi = 0; xi < x.length; ++xi) {\n var packet = x[xi];\n if (packet.id == 1)\n docroot = packet;\n }\n var sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[1][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n var pb = parse_shallow(docroot.messages[0].data);\n {\n pb[6][0].data = write_varint49(range.e.r + 1);\n pb[7][0].data = write_varint49(range.e.c + 1);\n var cruidsref = parse_TSP_Reference(pb[46][0].data);\n var oldbucket = CFB.find(cfb, dependents[cruidsref].location);\n var _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n for (var j = 0; j < _x.length; ++j) {\n if (_x[j].id == cruidsref)\n break;\n }\n if (_x[j].id != cruidsref)\n throw \"Bad ColumnRowUIDMapArchive\";\n var cruids = parse_shallow(_x[j].messages[0].data);\n cruids[1] = [];\n cruids[2] = [], cruids[3] = [];\n for (var C = 0; C <= range.e.c; ++C) {\n var uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(C + 420690) }];\n cruids[1].push({ type: 2, data: write_shallow(uuid) });\n cruids[2].push({ type: 0, data: write_varint49(C) });\n cruids[3].push({ type: 0, data: write_varint49(C) });\n }\n cruids[4] = [];\n cruids[5] = [], cruids[6] = [];\n for (var R = 0; R <= range.e.r; ++R) {\n uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(R + 726270) }];\n cruids[4].push({ type: 2, data: write_shallow(uuid) });\n cruids[5].push({ type: 0, data: write_varint49(R) });\n cruids[6].push({ type: 0, data: write_varint49(R) });\n }\n _x[j].messages[0].data = write_shallow(cruids);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n delete pb[46];\n var store = parse_shallow(pb[4][0].data);\n {\n store[7][0].data = write_varint49(range.e.r + 1);\n var row_headers = parse_shallow(store[1][0].data);\n var row_header_ref = parse_TSP_Reference(row_headers[2][0].data);\n oldbucket = CFB.find(cfb, dependents[row_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != row_header_ref)\n throw \"Bad HeaderStorageBucket\";\n var base_bucket = parse_shallow(_x[0].messages[0].data);\n for (R = 0; R < data.length; ++R) {\n var _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(R);\n _bucket[4][0].data = write_varint49(data[R].length);\n base_bucket[2][R] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var col_header_ref = parse_TSP_Reference(store[2][0].data);\n oldbucket = CFB.find(cfb, dependents[col_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != col_header_ref)\n throw \"Bad HeaderStorageBucket\";\n base_bucket = parse_shallow(_x[0].messages[0].data);\n for (C = 0; C <= range.e.c; ++C) {\n _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(C);\n _bucket[4][0].data = write_varint49(range.e.r + 1);\n base_bucket[2][C] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var sstref = parse_TSP_Reference(store[4][0].data);\n (function() {\n var sentry = CFB.find(cfb, dependents[sstref].location);\n var sx = parse_iwa_file(decompress_iwa_file(sentry.content));\n var sstroot;\n for (var sxi = 0; sxi < sx.length; ++sxi) {\n var packet2 = sx[sxi];\n if (packet2.id == sstref)\n sstroot = packet2;\n }\n var sstdata = parse_shallow(sstroot.messages[0].data);\n {\n sstdata[3] = [];\n var newsst = [];\n SST.forEach(function(str, i) {\n newsst[1] = [{ type: 0, data: write_varint49(i) }];\n newsst[2] = [{ type: 0, data: write_varint49(1) }];\n newsst[3] = [{ type: 2, data: stru8(str) }];\n sstdata[3].push({ type: 2, data: write_shallow(newsst) });\n });\n }\n sstroot.messages[0].data = write_shallow(sstdata);\n var sy = write_iwa_file(sx);\n var raw32 = compress_iwa_file(sy);\n sentry.content = raw32;\n sentry.size = sentry.content.length;\n })();\n var tile = parse_shallow(store[3][0].data);\n {\n var t = tile[1][0];\n delete tile[2];\n var tl = parse_shallow(t.data);\n {\n var tileref = parse_TSP_Reference(tl[2][0].data);\n (function() {\n var tentry = CFB.find(cfb, dependents[tileref].location);\n var tx = parse_iwa_file(decompress_iwa_file(tentry.content));\n var tileroot;\n for (var sxi = 0; sxi < tx.length; ++sxi) {\n var packet2 = tx[sxi];\n if (packet2.id == tileref)\n tileroot = packet2;\n }\n var tiledata = parse_shallow(tileroot.messages[0].data);\n {\n delete tiledata[6];\n delete tile[7];\n var rowload = new Uint8Array(tiledata[5][0].data);\n tiledata[5] = [];\n var cnt = 0;\n for (var R2 = 0; R2 <= range.e.r; ++R2) {\n var tilerow = parse_shallow(rowload);\n cnt += write_tile_row(tilerow, data[R2], SST);\n tilerow[1][0].data = write_varint49(R2);\n tiledata[5].push({ data: write_shallow(tilerow), type: 2 });\n }\n tiledata[1] = [{ type: 0, data: write_varint49(range.e.c + 1) }];\n tiledata[2] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n tiledata[3] = [{ type: 0, data: write_varint49(cnt) }];\n tiledata[4] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n }\n tileroot.messages[0].data = write_shallow(tiledata);\n var ty = write_iwa_file(tx);\n var raw32 = compress_iwa_file(ty);\n tentry.content = raw32;\n tentry.size = tentry.content.length;\n })();\n }\n t.data = write_shallow(tl);\n }\n store[3][0].data = write_shallow(tile);\n }\n pb[4][0].data = write_shallow(store);\n }\n docroot.messages[0].data = write_shallow(pb);\n var y = write_iwa_file(x);\n var raw3 = compress_iwa_file(y);\n entry.content = raw3;\n entry.size = entry.content.length;\n return cfb;\n}\nfunction fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nfunction fix_read_opts(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\n\nfunction fix_write_opts(opts) {\nfix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\nfunction get_sheet_type(n/*:string*/)/*:string*/ {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments and threaded comments */\n\t\tvar tcomments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tvar dfile = \"\";\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tvar comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments, false);\n\t\t\t}\n\t\t\tif(sheetRels[sheet][n].Type == RELS.TCMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\ttcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts));\n\t\t\t}\n\t\t});\n\t\tif(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []);\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x/*:string*/)/*:string*/ { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tmake_ssf();\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) {\n\t\tif(typeof Uint8Array == \"undefined\") throw new Error('NUMBERS file parsing requires Uint8Array support');\n\t\tif(typeof parse_numbers_iwa != \"undefined\") {\n\t\t\tif(zip.FileIndex) return parse_numbers_iwa(zip);\n\t\t\tvar _zip = CFB.utils.cfb_new();\n\t\t\tzipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); });\n\t\t\treturn parse_numbers_iwa(_zip);\n\t\t}\n\t\tthrow new Error('Unsupported NUMBERS file');\n\t}\n\tif(!safegetzipfile(zip, '[Content_Types].xml')) {\n\t\tif(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');\n\t\tif(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');\n\t\tthrow new Error('Unsupported ZIP file');\n\t}\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({}/*:any*/);\n\tvar styles = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({}/*:any*/);\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({}/*:any*/);\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile.replace(/_rels.*/, \"s5s\"));\n\n\tif((dir.metadata || []).length >= 1) {\n\t\t/* TODO: MDX and other types of metadata */\n\t\topts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts);\n\t}\n\n\tif((dir.people || []).length >= 1) {\n\t\topts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts);\n\t}\n\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: dup(table_fmt)\n\t}/*:any*/);\n\tif(opts && opts.bookFiles) {\n\t\tif(zip.files) {\n\t\t\tout.keys = entries;\n\t\t\tout.files = zip.files;\n\t\t} else {\n\t\t\tout.keys = [];\n\t\t\tout.files = {};\n\t\t\tzip.FullPaths.forEach(function(p, idx) {\n\t\t\t\tp = p.replace(/^Root Entry[\\/]/, \"\");\n\t\t\t\tout.keys.push(p);\n\t\t\t\tout.files[p] = zip.FileIndex[idx];\n\t\t\t});\n\t\t}\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\n/*:: declare var decrypt_agile:any; */\n\tif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\n/*:: declare var decrypt_std76:any; */\n\tif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(opts.bookType == \"numbers\") return write_numbers_iwa(wb, opts);\n\tif(opts.bookType == \"xlsb\") return write_zip_xlsxb(wb, opts);\n\treturn write_zip_xlsx(wb, opts);\n}\n\n/* XLSX and XLSB writing are very similar. Originally they were unified in one\n export function. This is horrible for tree shaking in the common case (most\n applications need to export files in one format) so this function supports\n both formats while write_zip_xlsx only handles XLSX */\nfunction write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta(f));\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tvar people = [\"SheetJ5\"];\n\topts.tcid = 0;\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws_xml(rId-1, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar needtc = false;\n\t\t\t\tcomments.forEach(function(carr) {\n\t\t\t\t\tcarr[1].forEach(function(c) { if(c.T == true) needtc = true; });\n\t\t\t\t});\n\t\t\t\tif(needtc) {\n\t\t\t\t\tcf = \"xl/threadedComments/threadedComment\" + rId + \".\" + wbext;\n\t\t\t\t\tzip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));\n\t\t\t\t\tct.threadedcomments.push(cf);\n\t\t\t\t\tadd_rels(wsrels, -1, \"../threadedComments/threadedComment\" + rId + \".\" + wbext, RELS.TCMNT);\n\t\t\t\t}\n\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_comments_xml(comments, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst_xml(opts.Strings, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb_xml(wb, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty_xml(wb, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta_xml());\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tif(people.length > 1) {\n\t\tf = \"xl/persons/person.xml\";\n\t\tzip_add_file(zip, f, write_people_xml(people, opts));\n\t\tct.people.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"persons/person.xml\", RELS.PEOPLE);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:Array*/ {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64_decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data/*:string*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64_decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\to.type = \"binary\";\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64_decode(d);\n\td = $cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data/*:string*/)/*:string*/ {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\treset_cp();\n\tvar o = opts||{};\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = \"array\", o));\n\tif(typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && !o.type) o.type = typeof Deno !== \"undefined\" ? \"buffer\" : \"array\";\n\tvar d = data, n = [0,0,0,0], str = false;\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); if(typeof Uint8Array !== 'undefined' && !has_buf) o.type = \"array\"; }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49:\n\t\t\tif(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error(\"TIFF Image File is not a spreadsheet\");\n\t\t\tif(n[1] === 0x44) return read_wb_ID(d, o);\n\t\t\tbreak;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF:\n\t\t\tif(n[1] === 0xFE) { return read_utf16(d, o); }\n\t\t\telse if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\tbreak;\n\t\tcase 0x00:\n\t\t\tif(n[1] === 0x00) {\n\t\t\t\tif(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\t\tif(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t\tcase 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error(\"PNG Image File is not a spreadsheet\"); break;\n\t}\n\tif(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\n/*:: declare var encrypt_agile:any; */\nfunction write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_typeXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip_xlsx(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_denouement(z/*:any*/, o/*:?WriteOpts*/)/*:any*/ {\n\tvar oopts = {};\n\tvar ftype = has_buf ? \"nodebuffer\" : (typeof Uint8Array !== \"undefined\" ? \"array\" : \"string\");\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = ftype;\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = ftype; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: /*::(*/{\"nodebuffer\": \"buffer\", \"string\": \"binary\"}/*:: :any)*/[oopts.type] || oopts.type, compression: !!o.compression}) : z.generate(oopts);\n\tif(typeof Deno !== \"undefined\") {\n\t\tif(typeof out == \"string\") {\n\t\t\tif(o.type == \"binary\" || o.type == \"base64\") return out;\n\t\t\tout = new Uint8Array(s2ab(out));\n\t\t}\n\t}\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(/*::(*/out/*:: :any)*/) : out;\n}\n\nfunction write_cfb_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = opts||{};\n\tvar cfb/*:CFBContainer*/ = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out/*:string*/, opts/*:WriteOpts*/, bom/*:?string*/)/*:any*/ {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse if(typeof TextEncoder !== \"undefined\") return new TextEncoder().encode(o);\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out/*:string*/, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64_encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSyncXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSyncXLSX(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\treturn write_zip_typeXLSX(wb, o);\n}\n\nfunction writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\tvar idx = 0;\n\tif(o.sheet) {\n\t\tif(typeof o.sheet == \"number\") idx = o.sheet;\n\t\telse idx = wb.SheetNames.indexOf(o.sheet);\n\t\tif(!wb.SheetNames[idx]) throw new Error(\"Sheet not found: \" + o.sheet + \" : \" + (typeof o.sheet));\n\t}\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(sheet_to_html(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'numbers':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o/*:WriteFileOpts*/) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileSyncXLSX(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSyncXLSX(wb, o);\n}\n\n\nfunction writeFileAsync(filename/*:string*/, wb/*:Workbook*/, opts/*:?WriteFileOpts*/, cb/*:?(e?:ErrnoError)=>void*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts/*:any*/);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\n/*::\ntype MJRObject = {\n\trow: any;\n\tisempty: boolean;\n};\n*/\nfunction make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, header/*:number*/, hdr/*:Array*/, dense/*:boolean*/, o/*:Sheet2JSONOpts*/)/*:MJRObject*/ {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row/*:any*/ = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = (v == 0 ? null : void 0); break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(val.t == \"e\" && v === null) row[hdr[C]] = null;\n\t\t\t\telse if(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw && (val.t !== \"n\" || (val.t === \"n\" && o.rawNumbers !== false)) ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar out/*:Array*/ = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, fs/*:number*/, rs/*:number*/, FS/*:string*/, o/*:Sheet2CSVOpts*/)/*:?string*/ {\n\tvar isempty = true;\n\tvar row/*:Array*/ = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar w = 0;\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tif(row || (o.blankrows !== false)) out.push((w++ ? RS : \"\") + row);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof $cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = $cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols/*:Array*/ = [], C;\n\tvar cmds/*:Array*/ = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws/*:Worksheet*/ = _ws || ({}/*:any*/);\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell/*:Cell*/;\n\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr/*:Array*/ = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R/*:number*/) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = ws_get_cell_stub(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || table_fmt[14]);\n\t\t\t\t}\n\t\t\t\telse if(v === null && o.nullError) { t = 'e'; v = 0; }\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v}/*:any*/);\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nfunction book_new()/*:Workbook*/ {\n\treturn { SheetNames: [], Sheets: {} };\n}\n\n/* add a worksheet to the end of a given workbook */\nfunction book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/, roll/*:?boolean*/)/*:string*/ {\n\tvar i = 1;\n\tif(!name) for(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tif(roll && wb.SheetNames.indexOf(name) >= 0) {\n\t\tvar m = name.match(/(^.*?)(\\d+)$/);\n\t\ti = m && +m[2] || 0;\n\t\tvar root = m && m[1] || name;\n\t\tfor(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break;\n\t}\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n\treturn name;\n}\n\n/* set sheet visibility (visible/hidden/very hidden) */\nfunction book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) {\n\tif(!wb.Workbook) wb.Workbook = {};\n\tif(!wb.Workbook.Sheets) wb.Workbook.Sheets = [];\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tif(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {};\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n}\n\n/* set number format */\nfunction cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) {\n\tcell.z = fmt;\n\treturn cell;\n}\n\n/* set cell hyperlink */\nfunction cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target }/*:Hyperlink*/);\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n}\nfunction cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, \"#\" + range, tooltip); }\n\n/* add to cell comments */\nfunction cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n}\n\n/* set array formula and flush related cells */\nfunction sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) {\n\t\t\tcell.f = formula;\n\t\t\tif(dynamic) cell.D = true;\n\t\t}\n\t}\n\treturn ws;\n}\n\nvar utils/*:any*/ = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: sheet_to_html,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json,\n\tsheet_get_cell: ws_get_cell_stub,\n\tbook_new: book_new,\n\tbook_append_sheet: book_append_sheet,\n\tbook_set_sheet_visibility: book_set_sheet_visibility,\n\tcell_set_number_format: cell_set_number_format,\n\tcell_set_hyperlink: cell_set_hyperlink,\n\tcell_set_internal_link: cell_set_internal_link,\n\tcell_add_comment: cell_add_comment,\n\tsheet_set_array_formula: sheet_set_array_formula,\n\tconsts: {\n\t\tSHEET_VISIBLE: 0,\n\t\tSHEET_HIDDEN: 1,\n\t\tSHEET_VERY_HIDDEN: 2\n\t}\n};\n\nvar _Readable;\nfunction set_readable(R) { _Readable = R; }\n\nfunction write_csv_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable();\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row/*:?string*/ = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar R = r.s.r;\n\tvar BOM = false, w = 0;\n\tstream._read = function() {\n\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\twhile(R <= r.e.r) {\n\t\t\t++R;\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\tif(row != null) {\n\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\tif(row || (o.blankrows !== false)) return stream.push((w++ ? RS : \"\") + row);\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nfunction write_html_stream(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*/) {\n\tvar stream = _Readable();\n\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tstream.push(header);\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tstream.push(make_html_preamble(ws, r, o));\n\tvar R = r.s.r;\n\tvar end = false;\n\tstream._read = function() {\n\t\tif(R > r.e.r) {\n\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\treturn stream.push(null);\n\t\t}\n\t\twhile(R <= r.e.r) {\n\t\t\tstream.push(make_html_row(ws, r, R, o));\n\t\t\t++R;\n\t\t\tbreak;\n\t\t}\n\t};\n\treturn stream;\n}\n\nfunction write_json_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable({objectMode:true});\n\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tR = r.s.r + offset;\n\tstream._read = function() {\n\t\twhile(R <= r.e.r) {\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t++R;\n\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\tstream.push(row.row);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nvar __stream = {\n\tto_json: write_json_stream,\n\tto_html: write_html_stream,\n\tto_csv: write_csv_stream,\n set_readable: set_readable\n};\nexport const version = XLSX.version;\nexport {\n\tparse_xlscfb,\n\tparse_zip,\n\treadSync as read,\n\treadFileSync as readFile,\n\treadFileSync,\n\twriteSync as write,\n\twriteFileSync as writeFile,\n\twriteFileSync,\n\twriteFileAsync,\n\twriteSyncXLSX as writeXLSX,\n\twriteFileSyncXLSX as writeFileXLSX,\n\tutils,\n\t__stream as stream,\n\tSSF,\n\tCFB\n};\n","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Much of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// Many optimizations have been made, so the bundle size is ultimately smaller but performance is similar.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var u = ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([c], { type: 'text/javascript' })));\n var w = new Worker(u);\n w.onerror = function (e) { return cb(e.error, null); };\n w.onmessage = function (e) { return cb(null, e.data); };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, u32 = Uint32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\n// see fleb note\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new u32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return [b, r];\n};\nvar _a = freb(fleb, 2), fl = _a[0], revfl = _a[1];\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b[0], revfd = _b[1];\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >>> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >>> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >>> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >>> 8) | ((x & 0x00FF) << 8)) >>> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i)\n ++l[cd[i] - 1];\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 0; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >>> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i)\n co[i] = rev[le[cd[i] - 1]++] >>> (15 - cd[i]);\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8)) >>> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >>> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p / 8) >> 0) + (p & 7 && 1); };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s);\n n.set(v.subarray(s, e));\n return n;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, buf, st) {\n // source length\n var sl = dat.length;\n // have to estimate size\n var noBuf = !buf || st;\n // no state\n var noSt = !st || st.i;\n if (!st)\n st = {};\n // Assumes roughly 33% compression ratio average\n if (!buf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n st.f = final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n throw 'unexpected EOF';\n break;\n }\n // ensure size\n if (noBuf)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n if (!noSt && pos + tl * (clb + 7) > tbts)\n break;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >>> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n throw 'invalid block type';\n if (pos > tbts)\n throw 'unexpected EOF';\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17;\n if (noBuf)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var mxa = lbt + dbt + 18;\n while (noSt || pos + mxa < tbts) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >>> 4;\n pos += c & 15;\n if (pos > tbts)\n throw 'unexpected EOF';\n if (!c)\n throw 'invalid length/literal';\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;\n if (!d)\n throw 'invalid distance';\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & ((1 << b) - 1), pos += b;\n }\n if (pos > tbts)\n throw 'unexpected EOF';\n if (noBuf)\n cbuf(bt + 131072);\n var end = bt + add;\n for (; bt < end; bt += 4) {\n buf[bt] = buf[bt - dt];\n buf[bt + 1] = buf[bt + 1 - dt];\n buf[bt + 2] = buf[bt + 2 - dt];\n buf[bt + 3] = buf[bt + 3 - dt];\n }\n bt = end;\n }\n }\n st.l = lm, st.p = pos, st.b = bt;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n return bt == buf.length ? buf : slc(buf, 0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n d[o + 2] |= v >>> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return [new u8(0), 0];\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return [v, 1];\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return [new u8(tr), mbt];\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return [cl.subarray(0, cli), s];\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >>> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a[0], mlb = _a[1];\n var _b = hTree(df, 15), ddt = _b[0], mdb = _b[1];\n var _c = lc(dlt), lclt = _c[0], nlc = _c[1];\n var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n lcfreq[lclt[i] & 31]++;\n for (var i = 0; i < lcdt.length; ++i)\n lcfreq[lcdt[i] & 31]++;\n var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);\n if (flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >>> 5) & 127), p += clct[i] >>> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n if (syms[i] > 255) {\n var len = (syms[i] >>> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (syms[i] >>> 23) & 31), p += fleb[len];\n var dst = syms[i] & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (syms[i] >>> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new u32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, lst) {\n var s = dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.floor(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var pos = 0;\n if (!lvl || s < 8) {\n for (var i = 0; i <= s; i += 65535) {\n // end\n var e = i + 65535;\n if (e < s) {\n // write full block\n pos = wfblk(w, pos, dat.subarray(i, e));\n }\n else {\n // write final block\n w[i] = lst;\n pos = wfblk(w, pos, dat.subarray(i, s));\n }\n }\n }\n else {\n var opt = deo[lvl - 1];\n var n = opt >>> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = new u16(32768), head = new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new u32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx bitpos\n var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;\n for (; i < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768\n var imod = i & 32767;\n // previous index with this value\n var pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && rem > 423) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = (imod - pimod) & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = (i - dif + j + 32768) & 32767;\n var pti = prev[ti];\n var cd = (ti - pti + 32768) & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += (imod - pimod + 32768) & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one Uint32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n // this is the easiest way to avoid needing to maintain state\n if (!lst)\n pos = wfblk(w, pos, et);\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new u32(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && 0xEDB88320) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = 0xFFFFFFFF;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return c ^ 0xFFFFFFFF; }\n };\n};\n// Alder32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 5552, l);\n for (; i < e; ++i)\n n += d[i], m += n;\n n %= 65521, m %= 65521;\n }\n a = n, b = m;\n },\n d: function () { return ((a >>> 8) << 16 | (b & 255) << 8 | (b >>> 8)) + ((a & 255) << 23) * 2; }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, !st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/ /g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return [fnStr, td];\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k] instanceof u8 || v[k] instanceof u16 || v[k] instanceof u32)\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n var _a;\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n _a = wcln(fns[i], fnStr, td_1), fnStr = _a[0], td_1 = _a[1];\n ch[id] = wcln(fns[m], fnStr, td_1);\n }\n var td = mrg({}, ch[id][1]);\n return wk(ch[id][0] + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, u32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, hMap, max, bits, bits16, shft, slc, inflt, inflateSync, pbf, gu8]; };\nvar bDflt = function () { return [u8, u16, u32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zlv]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get u8\nvar gu8 = function (o) { return o && o.size && new u8(o.size); };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n if (!opts.consume)\n dat = new u8(dat);\n w.postMessage([dat, opts], [dat.buffer]);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) { return strm.push(ev.data[0], ev.data[1]); };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.push = function (d, f) {\n if (t)\n throw 'stream finished';\n if (!strm.ondata)\n throw 'no stream handler';\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16)) + (d[b + 3] << 23) * 2; };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n throw 'invalid gzip data';\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += d[10] | (d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16) + (2 * (d[l - 1] << 23));\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + ((o.filename && (o.filename.length + 1)) || 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (fl ? (32 - 2 * fl) : 1);\n};\n// zlib valid\nvar zlv = function (d) {\n if ((d[0] & 15) != 8 || (d[0] >>> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n throw 'invalid zlib data';\n if (d[1] & 32)\n throw 'invalid zlib data: preset dictionaries not supported';\n};\nfunction AsyncCmpStrm(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n// zlib footer: -4 to -0 is Adler32\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, !f), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n this.d = final;\n this.p(chunk, final || false);\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n return dopt(data, opts, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n /**\n * Creates an inflation stream\n * @param cb The callback to call whenever data is inflated\n */\n function Inflate(cb) {\n this.s = {};\n this.p = new u8(0);\n this.ondata = cb;\n }\n Inflate.prototype.e = function (c) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n var l = this.p.length;\n var n = new u8(l + c.length);\n n.set(this.p), n.set(c, l), this.p = n;\n };\n Inflate.prototype.c = function (final) {\n this.d = this.s.i = final || false;\n var bts = this.s.b;\n var dt = inflt(this.p, this.o, this.s);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) >> 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous inflation stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncInflate(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, 0, function () {\n var strm = new Inflate();\n onmessage = astrm(strm);\n }, 7);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gu8(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, out) {\n return inflt(data, out);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n this.c.p(c);\n this.l += c.length;\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, !f);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n /**\n * Creates a GUNZIP stream\n * @param cb The callback to call whenever data is inflated\n */\n function Gunzip(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n var s = gzs(this.p);\n if (s >= this.p.length && !final)\n return;\n this.p = this.p.subarray(s), this.v = 0;\n }\n if (final) {\n if (this.p.length < 8)\n throw 'invalid gzip stream';\n this.p = this.p.subarray(0, -8);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous GUNZIP stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncGunzip(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, 0, function () {\n var strm = new Gunzip();\n onmessage = astrm(strm);\n }, 9);\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param out Where to write the data. GZIP already encodes the output size, so providing this doesn't save memory.\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, out) {\n return inflt(data.subarray(gzs(data), -8), out || new u8(gzl(data)));\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n this.c.p(c);\n var raw = dopt(c, this.o, this.v && 2, f && 4, !f);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n /**\n * Creates a Zlib decompression stream\n * @param cb The callback to call whenever data is inflated\n */\n function Unzlib(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 2 && !final)\n return;\n this.p = this.p.subarray(2), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n throw 'invalid zlib stream';\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous Zlib decompression stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncUnzlib(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, 0, function () {\n var strm = new Unzlib();\n onmessage = astrm(strm);\n }, 11);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gu8(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, out) {\n return inflt((zlv(data), data.subarray(2, -4)), out);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n /**\n * Creates a decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function Decompress(cb) {\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n throw 'no stream handler';\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n var _this_1 = this;\n var cb = function () { _this_1.ondata.apply(_this_1, arguments); };\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(cb)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(cb)\n : new this.Z(cb);\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function AsyncDecompress(cb) {\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, out) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, out)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, out)\n : unzlibSync(data, out);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k;\n if (val instanceof u8)\n t[n] = [val, o];\n else if (Array.isArray(val))\n t[n] = [val[0], mrg(o, val[1])];\n else\n fltn(val, n + '/', t, o);\n }\n};\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n var l = str.length;\n if (!latin1 && typeof TextEncoder != 'undefined')\n return new TextEncoder().encode(str);\n var ar = new u8(str.length + (str.length >>> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >>> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >>> 18)), w(128 | ((c >>> 12) & 63)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >>> 12)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n var r = '';\n if (!latin1 && typeof TextDecoder != 'undefined')\n return new TextDecoder().decode(dat);\n for (var i = 0; i < dat.length;) {\n var c = dat[i++];\n if (c < 128 || latin1)\n r += String.fromCharCode(c);\n else if (c < 224)\n r += String.fromCharCode((c & 31) << 6 | (dat[i++] & 63));\n else if (c < 240)\n r += String.fromCharCode((c & 15) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63));\n else\n c = ((c & 15) << 18 | (dat[i++] & 63) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n return r;\n}\n;\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl;\n var _a = z ? z64e(d, es) : [b4(d, b + 20), b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b4(d, b + 12), b4(d, b + 4), b4(d, b + 20)];\n};\n// write zip header\nvar wzh = function (d, b, c, cmp, su, fn, u, o, ce, t) {\n var fl = fn.length, l = cmp.length;\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b] = 20, b += 2;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (t == 8 && (o.level == 1 ? 6 : o.level < 6 ? 4 : o.level == 9 ? 2 : 0)), d[b++] = u && 8;\n d[b] = t, b += 2;\n var dt = new Date(o.mtime || Date.now()), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n throw 'date not in range 1980-2099';\n wbytes(d, b, ((y << 24) * 2) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >>> 1));\n b += 4;\n wbytes(d, b, c);\n wbytes(d, b + 4, l);\n wbytes(d, b + 8, su);\n wbytes(d, b + 12, fl), b += 16; // skip extra field, comment\n if (ce != null)\n wbytes(d, b += 10, ce), b += 4;\n d.set(fn, b);\n b += fl;\n if (ce == null)\n d.set(cmp, b);\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n wzh(out, tot, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, tot, f.t), o += 46 + f.n.length, tot += 30 + f.n.length + f.d.length;\n }\n catch (e) {\n return cb(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cb(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), m = file.length;\n c.p(file);\n var n = strToU8(fn), s = n.length;\n var t = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n var l = d.length;\n files[i] = {\n t: t,\n d: d,\n m: m,\n c: c.d(),\n u: fn.length != l,\n n: n,\n p: p\n };\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n if (!--lft)\n cbf();\n }\n };\n if (n.length > 65535)\n cbl('filename too long', null);\n if (!t)\n cbl(null, file);\n else if (m < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var t = p.level == 0 ? 0 : 8;\n var n = strToU8(fn), s = n.length;\n if (n.length > 65535)\n throw 'filename too long';\n var d = t ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push({\n t: t,\n d: d,\n m: file.length,\n c: c.d(),\n u: fn.length != s,\n n: n,\n o: o,\n p: p\n });\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, f.o, f.t), o += 46 + f.n.length;\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Asynchronously decompresses a ZIP archive\n * @param data The raw compressed ZIP file\n * @param cb The callback to call with the decompressed files\n * @returns A function that can be used to immediately terminate the unzipping\n */\nexport function unzip(data, cb) {\n if (typeof cb != 'function')\n throw 'no callback';\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cb('invalid zip file', null);\n return;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (!lft)\n cb(null, {});\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = lft = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n var _loop_2 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n files[fn] = d;\n if (!--lft)\n cb(null, files);\n }\n };\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n if (sc < 320000) {\n try {\n cbl(null, inflateSync(infl, new u8(su)));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl('unknown compression type ' + c_1, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_2(i);\n }\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @returns The decompressed files\n */\nexport function unzipSync(data) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n throw 'invalid zip file';\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), new u8(su));\n else\n throw 'unknown compression type ' + c_2;\n }\n return files;\n}\n","export var globalObject = (function() {\n return \"undefined\" !== typeof window\n ? window\n : \"undefined\" !== typeof global\n ? global\n : \"undefined\" !== typeof self\n ? self\n : this;\n})();\n","import { globalObject } from \"./globalObject.js\";\n\nfunction consoleLog() {\n if (globalObject.console && typeof globalObject.console.log === \"function\") {\n globalObject.console.log.apply(globalObject.console, arguments);\n }\n}\n\nfunction consoleWarn(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.warn === \"function\") {\n globalObject.console.warn.apply(globalObject.console, arguments);\n } else {\n consoleLog.call(null, arguments);\n }\n }\n}\n\nfunction consoleError(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.error === \"function\") {\n globalObject.console.error.apply(globalObject.console, arguments);\n } else {\n consoleLog(str);\n }\n }\n}\nexport var console = {\n log: consoleLog,\n warn: consoleWarn,\n error: consoleError\n};\n","/**\n * @license\n * FileSaver.js\n * A saveAs() FileSaver implementation.\n *\n * By Eli Grey, http://eligrey.com\n *\n * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n * source : http://purl.eligrey.com/github/FileSaver.js\n */\n\nimport { globalObject as _global } from \"./globalObject.js\";\nimport { console } from \"./console.js\";\n\nfunction bom(blob, opts) {\n if (typeof opts === \"undefined\") opts = { autoBom: false };\n else if (typeof opts !== \"object\") {\n console.warn(\"Deprecated: Expected third argument to be a object\");\n opts = { autoBom: !opts };\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (\n opts.autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(\n blob.type\n )\n ) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\n\nfunction download(url, name, opts) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.onload = function() {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function() {\n console.error(\"could not download file\");\n };\n xhr.send();\n}\n\nfunction corsEnabled(url) {\n var xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open(\"HEAD\", url, false);\n try {\n xhr.send();\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299;\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent(\"click\"));\n } catch (e) {\n var evt = document.createEvent(\"MouseEvents\");\n evt.initMouseEvent(\n \"click\",\n true,\n true,\n window,\n 0,\n 0,\n 0,\n 80,\n 20,\n false,\n false,\n false,\n false,\n 0,\n null\n );\n node.dispatchEvent(evt);\n }\n}\n\nvar saveAs =\n _global.saveAs ||\n // probably in some web worker\n (typeof window !== \"object\" || window !== _global\n ? function saveAs() {\n /* noop */\n }\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a native app\n typeof HTMLAnchorElement !== \"undefined\" &&\n \"download\" in HTMLAnchorElement.prototype\n ? function saveAs(blob, name, opts) {\n var URL = _global.URL || _global.webkitURL;\n var a = document.createElement(\"a\");\n name = name || blob.name || \"download\";\n\n a.download = name;\n a.rel = \"noopener\"; // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === \"string\") {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, (a.target = \"_blank\"));\n } else {\n click(a);\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function() {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function() {\n click(a);\n }, 0);\n }\n }\n : // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in navigator\n ? function saveAs(blob, name, opts) {\n name = name || blob.name || \"download\";\n\n if (typeof blob === \"string\") {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n } else {\n var a = document.createElement(\"a\");\n a.href = blob;\n a.target = \"_blank\";\n setTimeout(function() {\n click(a);\n });\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n }\n : // Fallback to using FileReader and a popup\n function saveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open(\"\", \"_blank\");\n if (popup) {\n popup.document.title = popup.document.body.innerText =\n \"downloading...\";\n }\n\n if (typeof blob === \"string\") return download(blob, name, opts);\n\n var force = blob.type === \"application/octet-stream\";\n var isSafari =\n /constructor/i.test(_global.HTMLElement) || _global.safari;\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n\n if (\n (isChromeIOS || (force && isSafari)) &&\n typeof FileReader === \"object\"\n ) {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader();\n reader.onloadend = function() {\n var url = reader.result;\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, \"data:attachment/file;\");\n if (popup) popup.location.href = url;\n else location = url;\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n } else {\n var URL = _global.URL || _global.webkitURL;\n var url = URL.createObjectURL(blob);\n if (popup) popup.location = url;\n else location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function() {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n });\n\nexport { saveAs };\n","import { globalObject } from \"./globalObject.js\";\n\nvar atob, btoa;\n\n(function() {\n atob = globalObject.atob.bind(globalObject);\n btoa = globalObject.btoa.bind(globalObject);\n return;\n\n})();\n\nexport { atob, btoa };\n","/**\n * A class to parse color values\n * @author Stoyan Stefanov \n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */\n\nfunction RGBColor(color_string) {\n color_string = color_string || \"\";\n this.ok = false;\n\n // strip any leading #\n if (color_string.charAt(0) == \"#\") {\n // remove # if any\n color_string = color_string.substr(1, 6);\n }\n\n color_string = color_string.replace(/ /g, \"\");\n color_string = color_string.toLowerCase();\n\n var channels;\n\n // before getting into regexps, try simple matches\n // and overwrite the input\n var simple_colors = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"00ffff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000000\",\n blanchedalmond: \"ffebcd\",\n blue: \"0000ff\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"00ffff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dodgerblue: \"1e90ff\",\n feldspar: \"d19275\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"ff00ff\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgrey: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslateblue: \"8470ff\",\n lightslategray: \"778899\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"00ff00\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"ff00ff\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370d8\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"d87093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n red: \"ff0000\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n violetred: \"d02090\",\n wheat: \"f5deb3\",\n white: \"ffffff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ffff00\",\n yellowgreen: \"9acd32\"\n };\n color_string = simple_colors[color_string] || color_string;\n\n // array of color definition objects\n var color_defs = [\n {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n example: [\"rgb(123, 234, 45)\", \"rgb(255,234,245)\"],\n process: function(bits) {\n return [parseInt(bits[1]), parseInt(bits[2]), parseInt(bits[3])];\n }\n },\n {\n re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n example: [\"#00ff00\", \"336699\"],\n process: function(bits) {\n return [\n parseInt(bits[1], 16),\n parseInt(bits[2], 16),\n parseInt(bits[3], 16)\n ];\n }\n },\n {\n re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n example: [\"#fb0\", \"f0f\"],\n process: function(bits) {\n return [\n parseInt(bits[1] + bits[1], 16),\n parseInt(bits[2] + bits[2], 16),\n parseInt(bits[3] + bits[3], 16)\n ];\n }\n }\n ];\n\n // search through the definitions to find a match\n for (var i = 0; i < color_defs.length; i++) {\n var re = color_defs[i].re;\n var processor = color_defs[i].process;\n var bits = re.exec(color_string);\n if (bits) {\n channels = processor(bits);\n this.r = channels[0];\n this.g = channels[1];\n this.b = channels[2];\n this.ok = true;\n }\n }\n\n // validate/cleanup values\n this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r;\n this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g;\n this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b;\n\n // some getters\n this.toRGB = function() {\n return \"rgb(\" + this.r + \", \" + this.g + \", \" + this.b + \")\";\n };\n this.toHex = function() {\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n if (r.length == 1) r = \"0\" + r;\n if (g.length == 1) g = \"0\" + g;\n if (b.length == 1) b = \"0\" + b;\n return \"#\" + r + g + b;\n };\n}\n\nexport { RGBColor };\n","/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\n\nfunction md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a = ff(a, b, c, d, k[0], 7, -680876936);\n d = ff(d, a, b, c, k[1], 12, -389564586);\n c = ff(c, d, a, b, k[2], 17, 606105819);\n b = ff(b, c, d, a, k[3], 22, -1044525330);\n a = ff(a, b, c, d, k[4], 7, -176418897);\n d = ff(d, a, b, c, k[5], 12, 1200080426);\n c = ff(c, d, a, b, k[6], 17, -1473231341);\n b = ff(b, c, d, a, k[7], 22, -45705983);\n a = ff(a, b, c, d, k[8], 7, 1770035416);\n d = ff(d, a, b, c, k[9], 12, -1958414417);\n c = ff(c, d, a, b, k[10], 17, -42063);\n b = ff(b, c, d, a, k[11], 22, -1990404162);\n a = ff(a, b, c, d, k[12], 7, 1804603682);\n d = ff(d, a, b, c, k[13], 12, -40341101);\n c = ff(c, d, a, b, k[14], 17, -1502002290);\n b = ff(b, c, d, a, k[15], 22, 1236535329);\n\n a = gg(a, b, c, d, k[1], 5, -165796510);\n d = gg(d, a, b, c, k[6], 9, -1069501632);\n c = gg(c, d, a, b, k[11], 14, 643717713);\n b = gg(b, c, d, a, k[0], 20, -373897302);\n a = gg(a, b, c, d, k[5], 5, -701558691);\n d = gg(d, a, b, c, k[10], 9, 38016083);\n c = gg(c, d, a, b, k[15], 14, -660478335);\n b = gg(b, c, d, a, k[4], 20, -405537848);\n a = gg(a, b, c, d, k[9], 5, 568446438);\n d = gg(d, a, b, c, k[14], 9, -1019803690);\n c = gg(c, d, a, b, k[3], 14, -187363961);\n b = gg(b, c, d, a, k[8], 20, 1163531501);\n a = gg(a, b, c, d, k[13], 5, -1444681467);\n d = gg(d, a, b, c, k[2], 9, -51403784);\n c = gg(c, d, a, b, k[7], 14, 1735328473);\n b = gg(b, c, d, a, k[12], 20, -1926607734);\n\n a = hh(a, b, c, d, k[5], 4, -378558);\n d = hh(d, a, b, c, k[8], 11, -2022574463);\n c = hh(c, d, a, b, k[11], 16, 1839030562);\n b = hh(b, c, d, a, k[14], 23, -35309556);\n a = hh(a, b, c, d, k[1], 4, -1530992060);\n d = hh(d, a, b, c, k[4], 11, 1272893353);\n c = hh(c, d, a, b, k[7], 16, -155497632);\n b = hh(b, c, d, a, k[10], 23, -1094730640);\n a = hh(a, b, c, d, k[13], 4, 681279174);\n d = hh(d, a, b, c, k[0], 11, -358537222);\n c = hh(c, d, a, b, k[3], 16, -722521979);\n b = hh(b, c, d, a, k[6], 23, 76029189);\n a = hh(a, b, c, d, k[9], 4, -640364487);\n d = hh(d, a, b, c, k[12], 11, -421815835);\n c = hh(c, d, a, b, k[15], 16, 530742520);\n b = hh(b, c, d, a, k[2], 23, -995338651);\n\n a = ii(a, b, c, d, k[0], 6, -198630844);\n d = ii(d, a, b, c, k[7], 10, 1126891415);\n c = ii(c, d, a, b, k[14], 15, -1416354905);\n b = ii(b, c, d, a, k[5], 21, -57434055);\n a = ii(a, b, c, d, k[12], 6, 1700485571);\n d = ii(d, a, b, c, k[3], 10, -1894986606);\n c = ii(c, d, a, b, k[10], 15, -1051523);\n b = ii(b, c, d, a, k[1], 21, -2054922799);\n a = ii(a, b, c, d, k[8], 6, 1873313359);\n d = ii(d, a, b, c, k[15], 10, -30611744);\n c = ii(c, d, a, b, k[6], 15, -1560198380);\n b = ii(b, c, d, a, k[13], 21, 1309151649);\n a = ii(a, b, c, d, k[4], 6, -145523070);\n d = ii(d, a, b, c, k[11], 10, -1120210379);\n c = ii(c, d, a, b, k[2], 15, 718787259);\n b = ii(b, c, d, a, k[9], 21, -343485551);\n\n x[0] = add32(a, x[0]);\n x[1] = add32(b, x[1]);\n x[2] = add32(c, x[2]);\n x[3] = add32(d, x[3]);\n}\n\nfunction cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n}\n\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\n\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\n\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nfunction md51(s) {\n // txt = '';\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i;\n for (i = 64; i <= s.length; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < s.length; i++)\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i++) tail[i] = 0;\n }\n tail[14] = n * 8;\n md5cycle(state, tail);\n return state;\n}\n\n/* there needs to be support for Unicode here,\n * unless we pretend that we can redefine the MD-5\n * algorithm for multi-byte characters (perhaps\n * by adding every four 16-bit characters and\n * shortening the sum to 32 bits). Otherwise\n * I suggest performing MD-5 as if every character\n * was two bytes--e.g., 0040 0025 = @%--but then\n * how will an ordinary MD-5 sum be matched?\n * There is no way to standardize text to something\n * like UTF-8 before transformation; speed cost is\n * utterly prohibitive. The JavaScript standard\n * itself needs to look at this: it should start\n * providing access to strings as preformed UTF-8\n * 8-bit unsigned value arrays.\n */\nfunction md5blk(s) {\n /* I figured global was faster. */\n var md5blks = [],\n i; /* Andy King said do it this way. */\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] =\n s.charCodeAt(i) +\n (s.charCodeAt(i + 1) << 8) +\n (s.charCodeAt(i + 2) << 16) +\n (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n}\n\nvar hex_chr = \"0123456789abcdef\".split(\"\");\n\nfunction rhex(n) {\n var s = \"\",\n j = 0;\n for (; j < 4; j++)\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0f] + hex_chr[(n >> (j * 8)) & 0x0f];\n return s;\n}\n\nfunction hex(x) {\n for (var i = 0; i < x.length; i++) x[i] = rhex(x[i]);\n return x.join(\"\");\n}\n\n// Converts a 4-byte number to byte string\nfunction singleToByteString(n) {\n return String.fromCharCode(\n (n & 0xff) >> 0,\n (n & 0xff00) >> 8,\n (n & 0xff0000) >> 16,\n (n & 0xff000000) >> 24\n );\n}\n\n// Converts an array of numbers to a byte string\nfunction toByteString(x) {\n return x.map(singleToByteString).join(\"\");\n}\n\n// Returns the MD5 hash as a byte string\nfunction md5Bin(s) {\n return toByteString(md51(s));\n}\n\n// Returns MD5 hash as a hex string\nfunction md5(s) {\n return hex(md51(s));\n}\n\nvar md5Check = md5(\"hello\") != \"5d41402abc4b2a76b9719d911017c592\";\n\nfunction add32(a, b) {\n if (md5Check) {\n /* if the md5Check does not match\n the expected value, we're dealing\n with an old browser and need\n this function. */\n var lsw = (a & 0xffff) + (b & 0xffff),\n msw = (a >> 16) + (b >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xffff);\n } else {\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n return (a + b) & 0xffffffff;\n }\n}\n\nexport { md5, md5Bin };\n","/**\r\n * @license\r\n * FPDF is released under a permissive license: there is no usage restriction.\r\n * You may embed it freely in your application (commercial or not), with or\r\n * without modifications.\r\n *\r\n * Reference: http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nfunction repeat(str, num) {\r\n return new Array(num + 1).join(str);\r\n}\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name rc4\r\n * @function\r\n * @param {string} key Byte string of encryption key\r\n * @param {string} data Byte string of data to be encrypted\r\n * @returns {string} Encrypted string\r\n */\r\nfunction rc4(key, data) {\r\n var lastKey, lastState;\r\n if (key !== lastKey) {\r\n var k = repeat(key, ((256 / key.length) >> 0) + 1);\r\n var state = [];\r\n for (var i = 0; i < 256; i++) {\r\n state[i] = i;\r\n }\r\n var j = 0;\r\n for (var i = 0; i < 256; i++) {\r\n var t = state[i];\r\n j = (j + t + k.charCodeAt(i)) % 256;\r\n state[i] = state[j];\r\n state[j] = t;\r\n }\r\n lastKey = key;\r\n lastState = state;\r\n } else {\r\n state = lastState;\r\n }\r\n var length = data.length;\r\n var a = 0;\r\n var b = 0;\r\n var out = \"\";\r\n for (var i = 0; i < length; i++) {\r\n a = (a + 1) % 256;\r\n t = state[a];\r\n b = (b + t) % 256;\r\n state[a] = state[b];\r\n state[b] = t;\r\n k = state[(state[a] + state[b]) % 256];\r\n out += String.fromCharCode(data.charCodeAt(i) ^ k);\r\n }\r\n return out;\r\n}\r\n\r\nexport { rc4 };\r\n","/**\r\n * @license\r\n * Licensed under the MIT License.\r\n * http://opensource.org/licenses/mit-license\r\n * Author: Owen Leong (@owenl131)\r\n * Date: 15 Oct 2020\r\n * References:\r\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\r\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\r\n * http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nimport { md5Bin } from \"./md5.js\";\r\nimport { rc4 } from \"./rc4.js\";\r\n\r\nvar permissionOptions = {\r\n print: 4,\r\n modify: 8,\r\n copy: 16,\r\n \"annot-forms\": 32\r\n};\r\n\r\n/**\r\n * Initializes encryption settings\r\n *\r\n * @name constructor\r\n * @function\r\n * @param {Array} permissions Permissions allowed for user, \"print\", \"modify\", \"copy\" and \"annot-forms\".\r\n * @param {String} userPassword Permissions apply to this user. Leaving this empty means the document\r\n * is not password protected but viewer has the above permissions.\r\n * @param {String} ownerPassword Owner has full functionalities to the file.\r\n * @param {String} fileId As hex string, should be same as the file ID in the trailer.\r\n * @example\r\n * var security = new PDFSecurity([\"print\"])\r\n */\r\nfunction PDFSecurity(permissions, userPassword, ownerPassword, fileId) {\r\n this.v = 1; // algorithm 1, future work can add in more recent encryption schemes\r\n this.r = 2; // revision 2\r\n\r\n // set flags for what functionalities the user can access\r\n let protection = 192;\r\n permissions.forEach(function(perm) {\r\n if (typeof permissionOptions.perm !== \"undefined\") {\r\n throw new Error(\"Invalid permission: \" + perm);\r\n }\r\n protection += permissionOptions[perm];\r\n });\r\n\r\n // padding is used to pad the passwords to 32 bytes, also is hashed and stored in the final PDF\r\n this.padding =\r\n \"\\x28\\xBF\\x4E\\x5E\\x4E\\x75\\x8A\\x41\\x64\\x00\\x4E\\x56\\xFF\\xFA\\x01\\x08\" +\r\n \"\\x2E\\x2E\\x00\\xB6\\xD0\\x68\\x3E\\x80\\x2F\\x0C\\xA9\\xFE\\x64\\x53\\x69\\x7A\";\r\n let paddedUserPassword = (userPassword + this.padding).substr(0, 32);\r\n let paddedOwnerPassword = (ownerPassword + this.padding).substr(0, 32);\r\n\r\n this.O = this.processOwnerPassword(paddedUserPassword, paddedOwnerPassword);\r\n this.P = -((protection ^ 255) + 1);\r\n this.encryptionKey = md5Bin(\r\n paddedUserPassword +\r\n this.O +\r\n this.lsbFirstWord(this.P) +\r\n this.hexToBytes(fileId)\r\n ).substr(0, 5);\r\n this.U = rc4(this.encryptionKey, this.padding);\r\n}\r\n\r\n/**\r\n * Breaks down a 4-byte number into its individual bytes, with the least significant bit first\r\n *\r\n * @name lsbFirstWord\r\n * @function\r\n * @param {number} data 32-bit number\r\n * @returns {Array}\r\n */\r\nPDFSecurity.prototype.lsbFirstWord = function(data) {\r\n return String.fromCharCode(\r\n (data >> 0) & 0xff,\r\n (data >> 8) & 0xff,\r\n (data >> 16) & 0xff,\r\n (data >> 24) & 0xff\r\n );\r\n};\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name toHexString\r\n * @function\r\n * @param {String} byteString Byte string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.toHexString = function(byteString) {\r\n return byteString\r\n .split(\"\")\r\n .map(function(byte) {\r\n return (\"0\" + (byte.charCodeAt(0) & 0xff).toString(16)).slice(-2);\r\n })\r\n .join(\"\");\r\n};\r\n\r\n/**\r\n * Converts a hex string to a byte string\r\n *\r\n * @name hexToBytes\r\n * @function\r\n * @param {String} hex Hex string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.hexToBytes = function(hex) {\r\n for (var bytes = [], c = 0; c < hex.length; c += 2)\r\n bytes.push(String.fromCharCode(parseInt(hex.substr(c, 2), 16)));\r\n return bytes.join(\"\");\r\n};\r\n\r\n/**\r\n * Computes the 'O' field in the encryption dictionary\r\n *\r\n * @name processOwnerPassword\r\n * @function\r\n * @param {String} paddedUserPassword Byte string of padded user password\r\n * @param {String} paddedOwnerPassword Byte string of padded owner password\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.processOwnerPassword = function(\r\n paddedUserPassword,\r\n paddedOwnerPassword\r\n) {\r\n let key = md5Bin(paddedOwnerPassword).substr(0, 5);\r\n return rc4(key, paddedUserPassword);\r\n};\r\n\r\n/**\r\n * Returns an encryptor function which can take in a byte string and returns the encrypted version\r\n *\r\n * @name encryptor\r\n * @function\r\n * @param {number} objectId\r\n * @param {number} generation Not sure what this is for, you can set it to 0\r\n * @returns {Function}\r\n * @example\r\n * out(\"stream\");\r\n * encryptor = security.encryptor(object.id, 0);\r\n * out(encryptor(data));\r\n * out(\"endstream\");\r\n */\r\nPDFSecurity.prototype.encryptor = function(objectId, generation) {\r\n let key = md5Bin(\r\n this.encryptionKey +\r\n String.fromCharCode(\r\n objectId & 0xff,\r\n (objectId >> 8) & 0xff,\r\n (objectId >> 16) & 0xff,\r\n generation & 0xff,\r\n (generation >> 8) & 0xff\r\n )\r\n ).substr(0, 10);\r\n return function(data) {\r\n return rc4(key, data);\r\n };\r\n};\r\n\r\nexport { PDFSecurity };\r\n","/**\n * Convert string to `PDF Name Object`.\n * Detail: PDF Reference 1.3 - Chapter 3.2.4 Name Object\n * @param str\n */\nfunction toPDFName(str) {\n // eslint-disable-next-line no-control-regex\n if (/[^\\u0000-\\u00ff]/.test(str)) {\n // non ascii string\n throw new Error(\n \"Invalid PDF Name Object: \" + str + \", Only accept ASCII characters.\"\n );\n }\n var result = \"\",\n strLength = str.length;\n for (var i = 0; i < strLength; i++) {\n var charCode = str.charCodeAt(i);\n if (\n charCode < 0x21 ||\n charCode === 0x23 /* # */ ||\n charCode === 0x25 /* % */ ||\n charCode === 0x28 /* ( */ ||\n charCode === 0x29 /* ) */ ||\n charCode === 0x2f /* / */ ||\n charCode === 0x3c /* < */ ||\n charCode === 0x3e /* > */ ||\n charCode === 0x5b /* [ */ ||\n charCode === 0x5d /* ] */ ||\n charCode === 0x7b /* { */ ||\n charCode === 0x7d /* } */ ||\n charCode > 0x7e\n ) {\n // Char CharCode hexStr paddingHexStr Result\n // \"\\t\" 9 9 09 #09\n // \" \" 32 20 20 #20\n // \"©\" 169 a9 a9 #a9\n var hexStr = charCode.toString(16),\n paddingHexStr = (\"0\" + hexStr).slice(-2);\n\n result += \"#\" + paddingHexStr;\n } else {\n // Other ASCII printable characters between 0x21 <= X <= 0x7e\n result += str[i];\n }\n }\n return result;\n}\n\nexport { toPDFName };\n","/* eslint-disable no-console */\r\n\r\nimport { saveAs } from \"./libs/FileSaver.js\";\r\nimport { globalObject } from \"./libs/globalObject.js\";\r\nimport { RGBColor } from \"./libs/rgbcolor.js\";\r\nimport { btoa } from \"./libs/AtobBtoa.js\";\r\nimport { console } from \"./libs/console.js\";\r\nimport { PDFSecurity } from \"./libs/pdfsecurity.js\";\r\nimport { toPDFName } from \"./libs/pdfname.js\";\r\n/**\r\n * jsPDF's Internal PubSub Implementation.\r\n * Backward compatible rewritten on 2014 by\r\n * Diego Casorran, https://github.com/diegocr\r\n *\r\n * @class\r\n * @name PubSub\r\n * @ignore\r\n */\r\nfunction PubSub(context) {\r\n if (typeof context !== \"object\") {\r\n throw new Error(\r\n \"Invalid Context passed to initialize PubSub (jsPDF-module)\"\r\n );\r\n }\r\n var topics = {};\r\n\r\n this.subscribe = function(topic, callback, once) {\r\n once = once || false;\r\n if (\r\n typeof topic !== \"string\" ||\r\n typeof callback !== \"function\" ||\r\n typeof once !== \"boolean\"\r\n ) {\r\n throw new Error(\r\n \"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\"\r\n );\r\n }\r\n\r\n if (!topics.hasOwnProperty(topic)) {\r\n topics[topic] = {};\r\n }\r\n\r\n var token = Math.random().toString(35);\r\n topics[topic][token] = [callback, !!once];\r\n\r\n return token;\r\n };\r\n\r\n this.unsubscribe = function(token) {\r\n for (var topic in topics) {\r\n if (topics[topic][token]) {\r\n delete topics[topic][token];\r\n if (Object.keys(topics[topic]).length === 0) {\r\n delete topics[topic];\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n this.publish = function(topic) {\r\n if (topics.hasOwnProperty(topic)) {\r\n var args = Array.prototype.slice.call(arguments, 1),\r\n tokens = [];\r\n\r\n for (var token in topics[topic]) {\r\n var sub = topics[topic][token];\r\n try {\r\n sub[0].apply(context, args);\r\n } catch (ex) {\r\n if (globalObject.console) {\r\n console.error(\"jsPDF PubSub Error\", ex.message, ex);\r\n }\r\n }\r\n if (sub[1]) tokens.push(token);\r\n }\r\n if (tokens.length) tokens.forEach(this.unsubscribe);\r\n }\r\n };\r\n\r\n this.getTopics = function() {\r\n return topics;\r\n };\r\n}\r\n\r\nfunction GState(parameters) {\r\n if (!(this instanceof GState)) {\r\n return new GState(parameters);\r\n }\r\n\r\n /**\r\n * @name GState#opacity\r\n * @type {any}\r\n */\r\n /**\r\n * @name GState#stroke-opacity\r\n * @type {any}\r\n */\r\n var supported = \"opacity,stroke-opacity\".split(\",\");\r\n for (var p in parameters) {\r\n if (parameters.hasOwnProperty(p) && supported.indexOf(p) >= 0) {\r\n this[p] = parameters[p];\r\n }\r\n }\r\n /**\r\n * @name GState#id\r\n * @type {string}\r\n */\r\n this.id = \"\"; // set by addGState()\r\n /**\r\n * @name GState#objectNumber\r\n * @type {number}\r\n */\r\n this.objectNumber = -1; // will be set by putGState()\r\n}\r\n\r\nGState.prototype.equals = function equals(other) {\r\n var ignore = \"id,objectNumber,equals\";\r\n var p;\r\n if (!other || typeof other !== typeof this) return false;\r\n var count = 0;\r\n for (p in this) {\r\n if (ignore.indexOf(p) >= 0) continue;\r\n if (this.hasOwnProperty(p) && !other.hasOwnProperty(p)) return false;\r\n if (this[p] !== other[p]) return false;\r\n count++;\r\n }\r\n for (p in other) {\r\n if (other.hasOwnProperty(p) && ignore.indexOf(p) < 0) count--;\r\n }\r\n return count === 0;\r\n};\r\n\r\nfunction Pattern(gState, matrix) {\r\n this.gState = gState;\r\n this.matrix = matrix;\r\n\r\n this.id = \"\"; // set by addPattern()\r\n this.objectNumber = -1; // will be set by putPattern()\r\n}\r\n\r\nfunction ShadingPattern(type, coords, colors, gState, matrix) {\r\n if (!(this instanceof ShadingPattern)) {\r\n return new ShadingPattern(type, coords, colors, gState, matrix);\r\n }\r\n\r\n // see putPattern() for information how they are realized\r\n this.type = type === \"axial\" ? 2 : 3;\r\n this.coords = coords;\r\n this.colors = colors;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\nfunction TilingPattern(boundingBox, xStep, yStep, gState, matrix) {\r\n if (!(this instanceof TilingPattern)) {\r\n return new TilingPattern(boundingBox, xStep, yStep, gState, matrix);\r\n }\r\n\r\n this.boundingBox = boundingBox;\r\n this.xStep = xStep;\r\n this.yStep = yStep;\r\n\r\n this.stream = \"\"; // set by endTilingPattern();\r\n\r\n this.cloneIndex = 0;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\n/**\r\n * Creates new jsPDF document object instance.\r\n * @name jsPDF\r\n * @class\r\n * @param {Object} [options] - Collection of settings initializing the jsPDF-instance\r\n * @param {string} [options.orientation=portrait] - Orientation of the first page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" or \"l\").
\r\n * @param {string} [options.unit=mm] Measurement unit (base unit) to be used when coordinates are specified.
\r\n * Possible values are \"pt\" (points), \"mm\", \"cm\", \"in\", \"px\", \"pc\", \"em\" or \"ex\". Note that in order to get the correct scaling for \"px\"\r\n * units, you need to enable the hotfix \"px_scaling\" by setting options.hotfixes = [\"px_scaling\"].\r\n * @param {string/Array} [options.format=a4] The format of the first 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 {boolean} [options.putOnlyUsedFonts=false] Only put fonts into the PDF, which were used.\r\n * @param {boolean} [options.compress=false] Compress the generated PDF.\r\n * @param {number} [options.precision=16] Precision of the element-positions.\r\n * @param {number} [options.userUnit=1.0] Not to be confused with the base unit. Please inform yourself before you use it.\r\n * @param {string[]} [options.hotfixes] An array of strings to enable hotfixes such as correct pixel scaling.\r\n * @param {Object} [options.encryption]\r\n * @param {string} [options.encryption.userPassword] Password for the user bound by the given permissions list.\r\n * @param {string} [options.encryption.ownerPassword] Both userPassword and ownerPassword should be set for proper authentication.\r\n * @param {string[]} [options.encryption.userPermissions] Array of permissions \"print\", \"modify\", \"copy\", \"annot-forms\", accessible by the user.\r\n * @param {number|\"smart\"} [options.floatPrecision=16]\r\n * @returns {jsPDF} jsPDF-instance\r\n * @description\r\n * ```\r\n * {\r\n * orientation: 'p',\r\n * unit: 'mm',\r\n * format: 'a4',\r\n * putOnlyUsedFonts:true,\r\n * floatPrecision: 16 // or \"smart\", default is 16\r\n * }\r\n * ```\r\n *\r\n * @constructor\r\n */\r\nfunction jsPDF(options) {\r\n var orientation = typeof arguments[0] === \"string\" ? arguments[0] : \"p\";\r\n var unit = arguments[1];\r\n var format = arguments[2];\r\n var compressPdf = arguments[3];\r\n var filters = [];\r\n var userUnit = 1.0;\r\n var precision;\r\n var floatPrecision = 16;\r\n var defaultPathOperation = \"S\";\r\n var encryptionOptions = null;\r\n\r\n options = options || {};\r\n\r\n if (typeof options === \"object\") {\r\n orientation = options.orientation;\r\n unit = options.unit || unit;\r\n format = options.format || format;\r\n compressPdf = options.compress || options.compressPdf || compressPdf;\r\n encryptionOptions = options.encryption || null;\r\n if (encryptionOptions !== null) {\r\n encryptionOptions.userPassword = encryptionOptions.userPassword || \"\";\r\n encryptionOptions.ownerPassword = encryptionOptions.ownerPassword || \"\";\r\n encryptionOptions.userPermissions =\r\n encryptionOptions.userPermissions || [];\r\n }\r\n userUnit =\r\n typeof options.userUnit === \"number\" ? Math.abs(options.userUnit) : 1.0;\r\n if (typeof options.precision !== \"undefined\") {\r\n precision = options.precision;\r\n }\r\n if (typeof options.floatPrecision !== \"undefined\") {\r\n floatPrecision = options.floatPrecision;\r\n }\r\n defaultPathOperation = options.defaultPathOperation || \"S\";\r\n }\r\n\r\n filters =\r\n options.filters || (compressPdf === true ? [\"FlateEncode\"] : filters);\r\n\r\n unit = unit || \"mm\";\r\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\r\n var putOnlyUsedFonts = options.putOnlyUsedFonts || false;\r\n var usedFonts = {};\r\n\r\n var API = {\r\n internal: {},\r\n __private__: {}\r\n };\r\n\r\n API.__private__.PubSub = PubSub;\r\n\r\n var pdfVersion = \"1.3\";\r\n var getPdfVersion = (API.__private__.getPdfVersion = function() {\r\n return pdfVersion;\r\n });\r\n\r\n API.__private__.setPdfVersion = function(value) {\r\n pdfVersion = value;\r\n };\r\n\r\n // Size in pt of various paper formats\r\n var pageFormats = {\r\n a0: [2383.94, 3370.39],\r\n a1: [1683.78, 2383.94],\r\n a2: [1190.55, 1683.78],\r\n a3: [841.89, 1190.55],\r\n a4: [595.28, 841.89],\r\n a5: [419.53, 595.28],\r\n a6: [297.64, 419.53],\r\n a7: [209.76, 297.64],\r\n a8: [147.4, 209.76],\r\n a9: [104.88, 147.4],\r\n a10: [73.7, 104.88],\r\n b0: [2834.65, 4008.19],\r\n b1: [2004.09, 2834.65],\r\n b2: [1417.32, 2004.09],\r\n b3: [1000.63, 1417.32],\r\n b4: [708.66, 1000.63],\r\n b5: [498.9, 708.66],\r\n b6: [354.33, 498.9],\r\n b7: [249.45, 354.33],\r\n b8: [175.75, 249.45],\r\n b9: [124.72, 175.75],\r\n b10: [87.87, 124.72],\r\n c0: [2599.37, 3676.54],\r\n c1: [1836.85, 2599.37],\r\n c2: [1298.27, 1836.85],\r\n c3: [918.43, 1298.27],\r\n c4: [649.13, 918.43],\r\n c5: [459.21, 649.13],\r\n c6: [323.15, 459.21],\r\n c7: [229.61, 323.15],\r\n c8: [161.57, 229.61],\r\n c9: [113.39, 161.57],\r\n c10: [79.37, 113.39],\r\n dl: [311.81, 623.62],\r\n letter: [612, 792],\r\n \"government-letter\": [576, 756],\r\n legal: [612, 1008],\r\n \"junior-legal\": [576, 360],\r\n ledger: [1224, 792],\r\n tabloid: [792, 1224],\r\n \"credit-card\": [153, 243]\r\n };\r\n\r\n API.__private__.getPageFormats = function() {\r\n return pageFormats;\r\n };\r\n\r\n var getPageFormat = (API.__private__.getPageFormat = function(value) {\r\n return pageFormats[value];\r\n });\r\n\r\n format = format || \"a4\";\r\n\r\n var ApiMode = {\r\n COMPAT: \"compat\",\r\n ADVANCED: \"advanced\"\r\n };\r\n var apiMode = ApiMode.COMPAT;\r\n\r\n function advancedAPI() {\r\n // prepend global change of basis matrix\r\n // (Now, instead of converting every coordinate to the pdf coordinate system, we apply a matrix\r\n // that does this job for us (however, texts, images and similar objects must be drawn bottom up))\r\n this.saveGraphicsState();\r\n out(\r\n new Matrix(\r\n scaleFactor,\r\n 0,\r\n 0,\r\n -scaleFactor,\r\n 0,\r\n getPageHeight() * scaleFactor\r\n ).toString() + \" cm\"\r\n );\r\n this.setFontSize(this.getFontSize() / scaleFactor);\r\n\r\n // The default in MrRio's implementation is \"S\" (stroke), whereas the default in the yWorks implementation\r\n // was \"n\" (none). Although this has nothing to do with transforms, we should use the API switch here.\r\n defaultPathOperation = \"n\";\r\n\r\n apiMode = ApiMode.ADVANCED;\r\n }\r\n\r\n function compatAPI() {\r\n this.restoreGraphicsState();\r\n defaultPathOperation = \"S\";\r\n apiMode = ApiMode.COMPAT;\r\n }\r\n\r\n /**\r\n * @function combineFontStyleAndFontWeight\r\n * @param {string} fontStyle Fontstyle or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @returns {string}\r\n * @private\r\n */\r\n var combineFontStyleAndFontWeight = (API.__private__.combineFontStyleAndFontWeight = function(\r\n fontStyle,\r\n fontWeight\r\n ) {\r\n if (\r\n (fontStyle == \"bold\" && fontWeight == \"normal\") ||\r\n (fontStyle == \"bold\" && fontWeight == 400) ||\r\n (fontStyle == \"normal\" && fontWeight == \"italic\") ||\r\n (fontStyle == \"bold\" && fontWeight == \"italic\")\r\n ) {\r\n throw new Error(\"Invalid Combination of fontweight and fontstyle\");\r\n }\r\n if (fontWeight) {\r\n fontStyle =\r\n fontWeight == 400 || fontWeight === \"normal\"\r\n ? fontStyle === \"italic\"\r\n ? \"italic\"\r\n : \"normal\"\r\n : (fontWeight == 700 || fontWeight === \"bold\") &&\r\n fontStyle === \"normal\"\r\n ? \"bold\"\r\n : (fontWeight == 700 ? \"bold\" : fontWeight) + \"\" + fontStyle;\r\n }\r\n return fontStyle;\r\n });\r\n\r\n /**\r\n * @callback ApiSwitchBody\r\n * @param {jsPDF} pdf\r\n */\r\n\r\n /**\r\n * For compatibility reasons jsPDF offers two API modes which differ in the way they convert between the the usual\r\n * screen coordinates and the PDF coordinate system.\r\n * - \"compat\": Offers full compatibility across all plugins but does not allow arbitrary transforms\r\n * - \"advanced\": Allows arbitrary transforms and more advanced features like pattern fills. Some plugins might\r\n * not support this mode, though.\r\n * Initial mode is \"compat\".\r\n *\r\n * You can either provide a callback to the body argument, which means that jsPDF will automatically switch back to\r\n * the original API mode afterwards; or you can omit the callback and switch back manually using {@link compatAPI}.\r\n *\r\n * Note, that the calls to {@link saveGraphicsState} and {@link restoreGraphicsState} need to be balanced within the\r\n * callback or between calls of this method and its counterpart {@link compatAPI}. Calls to {@link beginFormObject}\r\n * or {@link beginTilingPattern} need to be closed by their counterparts before switching back to \"compat\" API mode.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name advancedAPI\r\n */\r\n API.advancedAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.COMPAT;\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Switches to \"compat\" API mode. See {@link advancedAPI} for more details.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @return {jsPDF}\r\n * @memberof jsPDF#\r\n * @name compatApi\r\n */\r\n API.compatAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.ADVANCED;\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * @return {boolean} True iff the current API mode is \"advanced\". See {@link advancedAPI}.\r\n * @memberof jsPDF#\r\n * @name isAdvancedAPI\r\n */\r\n API.isAdvancedAPI = function() {\r\n return apiMode === ApiMode.ADVANCED;\r\n };\r\n\r\n var advancedApiModeTrap = function(methodName) {\r\n if (apiMode !== ApiMode.ADVANCED) {\r\n throw new Error(\r\n methodName +\r\n \" is only available in 'advanced' API mode. \" +\r\n \"You need to call advancedAPI() first.\"\r\n );\r\n }\r\n };\r\n\r\n var roundToPrecision = (API.roundToPrecision = API.__private__.roundToPrecision = function(\r\n number,\r\n parmPrecision\r\n ) {\r\n var tmpPrecision = precision || parmPrecision;\r\n if (isNaN(number) || isNaN(tmpPrecision)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");\r\n }\r\n return number.toFixed(tmpPrecision).replace(/0+$/, \"\");\r\n });\r\n\r\n // high precision float\r\n var hpf;\r\n if (typeof floatPrecision === \"number\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, floatPrecision);\r\n };\r\n } else if (floatPrecision === \"smart\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n if (number > -1 && number < 1) {\r\n return roundToPrecision(number, 16);\r\n } else {\r\n return roundToPrecision(number, 5);\r\n }\r\n };\r\n } else {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, 16);\r\n };\r\n }\r\n var f2 = (API.f2 = API.__private__.f2 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f2\");\r\n }\r\n return roundToPrecision(number, 2);\r\n });\r\n\r\n var f3 = (API.__private__.f3 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f3\");\r\n }\r\n return roundToPrecision(number, 3);\r\n });\r\n\r\n var scale = (API.scale = API.__private__.scale = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.scale\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return number * scaleFactor;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return number;\r\n }\r\n });\r\n\r\n var transformY = function(y) {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return getPageHeight() - y;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return y;\r\n }\r\n };\r\n\r\n var transformScaleY = function(y) {\r\n return scale(transformY(y));\r\n };\r\n\r\n /**\r\n * @name setPrecision\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} precision\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setPrecision = API.setPrecision = function(value) {\r\n if (typeof parseInt(value, 10) === \"number\") {\r\n precision = parseInt(value, 10);\r\n }\r\n };\r\n\r\n var fileId = \"00000000000000000000000000000000\";\r\n\r\n var getFileId = (API.__private__.getFileId = function() {\r\n return fileId;\r\n });\r\n\r\n var setFileId = (API.__private__.setFileId = function(value) {\r\n if (typeof value !== \"undefined\" && /^[a-fA-F0-9]{32}$/.test(value)) {\r\n fileId = value.toUpperCase();\r\n } else {\r\n fileId = fileId\r\n .split(\"\")\r\n .map(function() {\r\n return \"ABCDEF0123456789\".charAt(Math.floor(Math.random() * 16));\r\n })\r\n .join(\"\");\r\n }\r\n\r\n if (encryptionOptions !== null) {\r\n encryption = new PDFSecurity(\r\n encryptionOptions.userPermissions,\r\n encryptionOptions.userPassword,\r\n encryptionOptions.ownerPassword,\r\n fileId\r\n );\r\n }\r\n return fileId;\r\n });\r\n\r\n /**\r\n * @name setFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} value GUID.\r\n * @returns {jsPDF}\r\n */\r\n API.setFileId = function(value) {\r\n setFileId(value);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n *\r\n * @returns {string} GUID.\r\n */\r\n API.getFileId = function() {\r\n return getFileId();\r\n };\r\n\r\n var creationDate;\r\n\r\n var convertDateToPDFDate = (API.__private__.convertDateToPDFDate = function(\r\n parmDate\r\n ) {\r\n var result = \"\";\r\n var tzoffset = parmDate.getTimezoneOffset(),\r\n tzsign = tzoffset < 0 ? \"+\" : \"-\",\r\n tzhour = Math.floor(Math.abs(tzoffset / 60)),\r\n tzmin = Math.abs(tzoffset % 60),\r\n timeZoneString = [tzsign, padd2(tzhour), \"'\", padd2(tzmin), \"'\"].join(\"\");\r\n\r\n result = [\r\n \"D:\",\r\n parmDate.getFullYear(),\r\n padd2(parmDate.getMonth() + 1),\r\n padd2(parmDate.getDate()),\r\n padd2(parmDate.getHours()),\r\n padd2(parmDate.getMinutes()),\r\n padd2(parmDate.getSeconds()),\r\n timeZoneString\r\n ].join(\"\");\r\n return result;\r\n });\r\n\r\n var convertPDFDateToDate = (API.__private__.convertPDFDateToDate = function(\r\n parmPDFDate\r\n ) {\r\n var year = parseInt(parmPDFDate.substr(2, 4), 10);\r\n var month = parseInt(parmPDFDate.substr(6, 2), 10) - 1;\r\n var date = parseInt(parmPDFDate.substr(8, 2), 10);\r\n var hour = parseInt(parmPDFDate.substr(10, 2), 10);\r\n var minutes = parseInt(parmPDFDate.substr(12, 2), 10);\r\n var seconds = parseInt(parmPDFDate.substr(14, 2), 10);\r\n // var timeZoneHour = parseInt(parmPDFDate.substr(16, 2), 10);\r\n // var timeZoneMinutes = parseInt(parmPDFDate.substr(20, 2), 10);\r\n\r\n var resultingDate = new Date(year, month, date, hour, minutes, seconds, 0);\r\n return resultingDate;\r\n });\r\n\r\n var setCreationDate = (API.__private__.setCreationDate = function(date) {\r\n var tmpCreationDateString;\r\n var regexPDFCreationDate = /^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/;\r\n if (typeof date === \"undefined\") {\r\n date = new Date();\r\n }\r\n\r\n if (date instanceof Date) {\r\n tmpCreationDateString = convertDateToPDFDate(date);\r\n } else if (regexPDFCreationDate.test(date)) {\r\n tmpCreationDateString = date;\r\n } else {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");\r\n }\r\n creationDate = tmpCreationDateString;\r\n return creationDate;\r\n });\r\n\r\n var getCreationDate = (API.__private__.getCreationDate = function(type) {\r\n var result = creationDate;\r\n if (type === \"jsDate\") {\r\n result = convertPDFDateToDate(creationDate);\r\n }\r\n return result;\r\n });\r\n\r\n /**\r\n * @name setCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} date\r\n * @returns {jsPDF}\r\n */\r\n API.setCreationDate = function(date) {\r\n setCreationDate(date);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} type\r\n * @returns {Object}\r\n */\r\n API.getCreationDate = function(type) {\r\n return getCreationDate(type);\r\n };\r\n\r\n var padd2 = (API.__private__.padd2 = function(number) {\r\n return (\"0\" + parseInt(number)).slice(-2);\r\n });\r\n\r\n var padd2Hex = (API.__private__.padd2Hex = function(hexString) {\r\n hexString = hexString.toString();\r\n return (\"00\" + hexString).substr(hexString.length);\r\n });\r\n\r\n var objectNumber = 0; // 'n' Current object number\r\n var offsets = []; // List of offsets. Activated and reset by buildDocument(). Pupulated by various calls buildDocument makes.\r\n var content = [];\r\n var contentLength = 0;\r\n var additionalObjects = [];\r\n\r\n var pages = [];\r\n var currentPage;\r\n var hasCustomDestination = false;\r\n var outputDestination = content;\r\n\r\n var resetDocument = function() {\r\n //reset fields relevant for objectNumber generation and xref.\r\n objectNumber = 0;\r\n contentLength = 0;\r\n content = [];\r\n offsets = [];\r\n additionalObjects = [];\r\n\r\n rootDictionaryObjId = newObjectDeferred();\r\n resourceDictionaryObjId = newObjectDeferred();\r\n };\r\n\r\n API.__private__.setCustomOutputDestination = function(destination) {\r\n hasCustomDestination = true;\r\n outputDestination = destination;\r\n };\r\n var setOutputDestination = function(destination) {\r\n if (!hasCustomDestination) {\r\n outputDestination = destination;\r\n }\r\n };\r\n\r\n API.__private__.resetCustomOutputDestination = function() {\r\n hasCustomDestination = false;\r\n outputDestination = content;\r\n };\r\n\r\n var out = (API.__private__.out = function(string) {\r\n string = string.toString();\r\n contentLength += string.length + 1;\r\n outputDestination.push(string);\r\n\r\n return outputDestination;\r\n });\r\n\r\n var write = (API.__private__.write = function(value) {\r\n return out(\r\n arguments.length === 1\r\n ? value.toString()\r\n : Array.prototype.join.call(arguments, \" \")\r\n );\r\n });\r\n\r\n var getArrayBuffer = (API.__private__.getArrayBuffer = function(data) {\r\n var len = data.length,\r\n ab = new ArrayBuffer(len),\r\n u8 = new Uint8Array(ab);\r\n\r\n while (len--) u8[len] = data.charCodeAt(len);\r\n return ab;\r\n });\r\n\r\n var standardFonts = [\r\n [\"Helvetica\", \"helvetica\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Bold\", \"helvetica\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Oblique\", \"helvetica\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-BoldOblique\", \"helvetica\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Courier\", \"courier\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Courier-Bold\", \"courier\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Courier-Oblique\", \"courier\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Courier-BoldOblique\", \"courier\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Times-Roman\", \"times\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Times-Bold\", \"times\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Times-Italic\", \"times\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Times-BoldItalic\", \"times\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"ZapfDingbats\", \"zapfdingbats\", \"normal\", null],\r\n [\"Symbol\", \"symbol\", \"normal\", null]\r\n ];\r\n\r\n API.__private__.getStandardFonts = function() {\r\n return standardFonts;\r\n };\r\n\r\n var activeFontSize = options.fontSize || 16;\r\n\r\n /**\r\n * Sets font size for upcoming text elements.\r\n *\r\n * @param {number} size Font size in points.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFontSize\r\n */\r\n API.__private__.setFontSize = API.setFontSize = function(size) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n activeFontSize = size / scaleFactor;\r\n } else {\r\n activeFontSize = size;\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets the fontsize for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number}\r\n * @memberof jsPDF#\r\n * @name getFontSize\r\n */\r\n var getFontSize = (API.__private__.getFontSize = API.getFontSize = function() {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return activeFontSize;\r\n } else {\r\n return activeFontSize * scaleFactor;\r\n }\r\n });\r\n\r\n var R2L = options.R2L || false;\r\n\r\n /**\r\n * Set value of R2L functionality.\r\n *\r\n * @param {boolean} value\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setR2L\r\n */\r\n API.__private__.setR2L = API.setR2L = function(value) {\r\n R2L = value;\r\n return this;\r\n };\r\n\r\n /**\r\n * Get value of R2L functionality.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {boolean} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name getR2L\r\n */\r\n API.__private__.getR2L = API.getR2L = function() {\r\n return R2L;\r\n };\r\n\r\n var zoomMode; // default: 1;\r\n\r\n var setZoomMode = (API.__private__.setZoomMode = function(zoom) {\r\n var validZoomModes = [\r\n undefined,\r\n null,\r\n \"fullwidth\",\r\n \"fullheight\",\r\n \"fullpage\",\r\n \"original\"\r\n ];\r\n\r\n if (/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(zoom)) {\r\n zoomMode = zoom;\r\n } else if (!isNaN(zoom)) {\r\n zoomMode = parseInt(zoom, 10);\r\n } else if (validZoomModes.indexOf(zoom) !== -1) {\r\n zoomMode = zoom;\r\n } else {\r\n throw new Error(\r\n 'zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"' +\r\n zoom +\r\n '\" is not recognized.'\r\n );\r\n }\r\n });\r\n\r\n API.__private__.getZoomMode = function() {\r\n return zoomMode;\r\n };\r\n\r\n var pageMode; // default: 'UseOutlines';\r\n var setPageMode = (API.__private__.setPageMode = function(pmode) {\r\n var validPageModes = [\r\n undefined,\r\n null,\r\n \"UseNone\",\r\n \"UseOutlines\",\r\n \"UseThumbs\",\r\n \"FullScreen\"\r\n ];\r\n\r\n if (validPageModes.indexOf(pmode) == -1) {\r\n throw new Error(\r\n 'Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"' +\r\n pmode +\r\n '\" is not recognized.'\r\n );\r\n }\r\n pageMode = pmode;\r\n });\r\n\r\n API.__private__.getPageMode = function() {\r\n return pageMode;\r\n };\r\n\r\n var layoutMode; // default: 'continuous';\r\n var setLayoutMode = (API.__private__.setLayoutMode = function(layout) {\r\n var validLayoutModes = [\r\n undefined,\r\n null,\r\n \"continuous\",\r\n \"single\",\r\n \"twoleft\",\r\n \"tworight\",\r\n \"two\"\r\n ];\r\n\r\n if (validLayoutModes.indexOf(layout) == -1) {\r\n throw new Error(\r\n 'Layout mode must be one of continuous, single, twoleft, tworight. \"' +\r\n layout +\r\n '\" is not recognized.'\r\n );\r\n }\r\n layoutMode = layout;\r\n });\r\n\r\n API.__private__.getLayoutMode = function() {\r\n return layoutMode;\r\n };\r\n\r\n /**\r\n * Set the display mode options of the page like zoom and layout.\r\n *\r\n * @name setDisplayMode\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {integer|String} zoom You can pass an integer or percentage as\r\n * a string. 2 will scale the document up 2x, '200%' will scale up by the\r\n * same amount. You can also set it to 'fullwidth', 'fullheight',\r\n * 'fullpage', or 'original'.\r\n *\r\n * Only certain PDF readers support this, such as Adobe Acrobat.\r\n *\r\n * @param {string} layout Layout mode can be: 'continuous' - this is the\r\n * default continuous scroll. 'single' - the single page mode only shows one\r\n * page at a time. 'twoleft' - two column left mode, first page starts on\r\n * the left, and 'tworight' - pages are laid out in two columns, with the\r\n * first page on the right. This would be used for books.\r\n * @param {string} pmode 'UseOutlines' - it shows the\r\n * outline of the document on the left. 'UseThumbs' - shows thumbnails along\r\n * the left. 'FullScreen' - prompts the user to enter fullscreen mode.\r\n *\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setDisplayMode = API.setDisplayMode = function(\r\n zoom,\r\n layout,\r\n pmode\r\n ) {\r\n setZoomMode(zoom);\r\n setLayoutMode(layout);\r\n setPageMode(pmode);\r\n return this;\r\n };\r\n\r\n var documentProperties = {\r\n title: \"\",\r\n subject: \"\",\r\n author: \"\",\r\n keywords: \"\",\r\n creator: \"\"\r\n };\r\n\r\n API.__private__.getDocumentProperty = function(key) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");\r\n }\r\n return documentProperties[key];\r\n };\r\n\r\n API.__private__.getDocumentProperties = function() {\r\n return documentProperties;\r\n };\r\n\r\n /**\r\n * Adds a properties to the PDF document.\r\n *\r\n * @param {Object} A property_name-to-property_value object structure.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDocumentProperties\r\n */\r\n API.__private__.setDocumentProperties = API.setProperties = API.setDocumentProperties = function(\r\n properties\r\n ) {\r\n // copying only those properties we can render.\r\n for (var property in documentProperties) {\r\n if (documentProperties.hasOwnProperty(property) && properties[property]) {\r\n documentProperties[property] = properties[property];\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n API.__private__.setDocumentProperty = function(key, value) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");\r\n }\r\n return (documentProperties[key] = value);\r\n };\r\n\r\n var fonts = {}; // collection of font objects, where key is fontKey - a dynamically created label for a given font.\r\n var fontmap = {}; // mapping structure fontName > fontStyle > font key - performance layer. See addFont()\r\n var activeFontKey; // will be string representing the KEY of the font as combination of fontName + fontStyle\r\n var fontStateStack = []; //\r\n var patterns = {}; // collection of pattern objects\r\n var patternMap = {}; // see fonts\r\n var gStates = {}; // collection of graphic state objects\r\n var gStatesMap = {}; // see fonts\r\n var activeGState = null;\r\n var scaleFactor; // Scale factor\r\n var page = 0;\r\n var pagesContext = [];\r\n var events = new PubSub(API);\r\n var hotfixes = options.hotfixes || [];\r\n\r\n var renderTargets = {};\r\n var renderTargetMap = {};\r\n var renderTargetStack = [];\r\n var pageX;\r\n var pageY;\r\n var pageMatrix; // only used for FormObjects\r\n\r\n /**\r\n * A matrix object for 2D homogenous transformations:
\r\n * | a b 0 |
\r\n * | c d 0 |
\r\n * | e f 1 |
\r\n * pdf multiplies matrices righthand: v' = v x m1 x m2 x ...\r\n *\r\n * @class\r\n * @name Matrix\r\n * @param {number} sx\r\n * @param {number} shy\r\n * @param {number} shx\r\n * @param {number} sy\r\n * @param {number} tx\r\n * @param {number} ty\r\n * @constructor\r\n */\r\n var Matrix = function(sx, shy, shx, sy, tx, ty) {\r\n if (!(this instanceof Matrix)) {\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n }\r\n\r\n if (isNaN(sx)) sx = 1;\r\n if (isNaN(shy)) shy = 0;\r\n if (isNaN(shx)) shx = 0;\r\n if (isNaN(sy)) sy = 1;\r\n if (isNaN(tx)) tx = 0;\r\n if (isNaN(ty)) ty = 0;\r\n\r\n this._matrix = [sx, shy, shx, sy, tx, ty];\r\n };\r\n\r\n /**\r\n * @name sx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sx\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shy\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shx\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name sy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sy\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name tx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"tx\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ty\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"ty\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"a\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"b\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"c\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"d\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"e\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"f\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name rotation\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"rotation\", {\r\n get: function() {\r\n return Math.atan2(this.shx, this.sx);\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleX\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleX\", {\r\n get: function() {\r\n return this.decompose().scale.sx;\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleY\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleY\", {\r\n get: function() {\r\n return this.decompose().scale.sy;\r\n }\r\n });\r\n\r\n /**\r\n * @name isIdentity\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"isIdentity\", {\r\n get: function() {\r\n if (this.sx !== 1) {\r\n return false;\r\n }\r\n if (this.shy !== 0) {\r\n return false;\r\n }\r\n if (this.shx !== 0) {\r\n return false;\r\n }\r\n if (this.sy !== 1) {\r\n return false;\r\n }\r\n if (this.tx !== 0) {\r\n return false;\r\n }\r\n if (this.ty !== 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n });\r\n\r\n /**\r\n * Join the Matrix Values to a String\r\n *\r\n * @function join\r\n * @param {string} separator Specifies a string to separate each pair of adjacent elements of the array. The separator is converted to a string if necessary. If omitted, the array elements are separated with a comma (\",\"). If separator is an empty string, all elements are joined without any characters in between them.\r\n * @returns {string} A string with all array elements joined.\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.join = function(separator) {\r\n return [this.sx, this.shy, this.shx, this.sy, this.tx, this.ty]\r\n .map(hpf)\r\n .join(separator);\r\n };\r\n\r\n /**\r\n * Multiply the matrix with given Matrix\r\n *\r\n * @function multiply\r\n * @param matrix\r\n * @returns {Matrix}\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.multiply = function(matrix) {\r\n var sx = matrix.sx * this.sx + matrix.shy * this.shx;\r\n var shy = matrix.sx * this.shy + matrix.shy * this.sy;\r\n var shx = matrix.shx * this.sx + matrix.sy * this.shx;\r\n var sy = matrix.shx * this.shy + matrix.sy * this.sy;\r\n var tx = matrix.tx * this.sx + matrix.ty * this.shx + this.tx;\r\n var ty = matrix.tx * this.shy + matrix.ty * this.sy + this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n /**\r\n * @function decompose\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.decompose = function() {\r\n var a = this.sx;\r\n var b = this.shy;\r\n var c = this.shx;\r\n var d = this.sy;\r\n var e = this.tx;\r\n var f = this.ty;\r\n\r\n var scaleX = Math.sqrt(a * a + b * b);\r\n a /= scaleX;\r\n b /= scaleX;\r\n\r\n var shear = a * c + b * d;\r\n c -= a * shear;\r\n d -= b * shear;\r\n\r\n var scaleY = Math.sqrt(c * c + d * d);\r\n c /= scaleY;\r\n d /= scaleY;\r\n shear /= scaleY;\r\n\r\n if (a * d < b * c) {\r\n a = -a;\r\n b = -b;\r\n shear = -shear;\r\n scaleX = -scaleX;\r\n }\r\n\r\n return {\r\n scale: new Matrix(scaleX, 0, 0, scaleY, 0, 0),\r\n translate: new Matrix(1, 0, 0, 1, e, f),\r\n rotate: new Matrix(a, b, -b, a, 0, 0),\r\n skew: new Matrix(1, 0, shear, 1, 0, 0)\r\n };\r\n };\r\n\r\n /**\r\n * @function toString\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.toString = function(parmPrecision) {\r\n return this.join(\" \");\r\n };\r\n\r\n /**\r\n * @function inversed\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.inversed = function() {\r\n var a = this.sx,\r\n b = this.shy,\r\n c = this.shx,\r\n d = this.sy,\r\n e = this.tx,\r\n f = this.ty;\r\n\r\n var quot = 1 / (a * d - b * c);\r\n\r\n var aInv = d * quot;\r\n var bInv = -b * quot;\r\n var cInv = -c * quot;\r\n var dInv = a * quot;\r\n var eInv = -aInv * e - cInv * f;\r\n var fInv = -bInv * e - dInv * f;\r\n\r\n return new Matrix(aInv, bInv, cInv, dInv, eInv, fInv);\r\n };\r\n\r\n /**\r\n * @function applyToPoint\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToPoint = function(pt) {\r\n var x = pt.x * this.sx + pt.y * this.shx + this.tx;\r\n var y = pt.x * this.shy + pt.y * this.sy + this.ty;\r\n return new Point(x, y);\r\n };\r\n\r\n /**\r\n * @function applyToRectangle\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToRectangle = function(rect) {\r\n var pt1 = this.applyToPoint(rect);\r\n var pt2 = this.applyToPoint(new Point(rect.x + rect.w, rect.y + rect.h));\r\n return new Rectangle(pt1.x, pt1.y, pt2.x - pt1.x, pt2.y - pt1.y);\r\n };\r\n\r\n /**\r\n * Clone the Matrix\r\n *\r\n * @function clone\r\n * @memberof Matrix#\r\n * @name clone\r\n * @instance\r\n */\r\n Matrix.prototype.clone = function() {\r\n var sx = this.sx;\r\n var shy = this.shy;\r\n var shx = this.shx;\r\n var sy = this.sy;\r\n var tx = this.tx;\r\n var ty = this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n API.Matrix = Matrix;\r\n\r\n /**\r\n * Multiplies two matrices. (see {@link Matrix})\r\n * @param {Matrix} m1\r\n * @param {Matrix} m2\r\n * @memberof jsPDF#\r\n * @name matrixMult\r\n */\r\n var matrixMult = (API.matrixMult = function(m1, m2) {\r\n return m2.multiply(m1);\r\n });\r\n\r\n /**\r\n * The identity matrix (equivalent to new Matrix(1, 0, 0, 1, 0, 0)).\r\n * @type {Matrix}\r\n * @memberof! jsPDF#\r\n * @name identityMatrix\r\n */\r\n var identityMatrix = new Matrix(1, 0, 0, 1, 0, 0);\r\n API.unitMatrix = API.identityMatrix = identityMatrix;\r\n\r\n /**\r\n * Adds a new pattern for later use.\r\n * @param {String} key The key by it can be referenced later. The keys must be unique!\r\n * @param {API.Pattern} pattern The pattern\r\n */\r\n var addPattern = function(key, pattern) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (patternMap[key]) return;\r\n\r\n var prefix = pattern instanceof ShadingPattern ? \"Sh\" : \"P\";\r\n var patternKey = prefix + (Object.keys(patterns).length + 1).toString(10);\r\n pattern.id = patternKey;\r\n\r\n patternMap[key] = patternKey;\r\n patterns[patternKey] = pattern;\r\n\r\n events.publish(\"addPattern\", pattern);\r\n };\r\n\r\n /**\r\n * A pattern describing a shading pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {String} type One of \"axial\" or \"radial\"\r\n * @param {Array} coords Either [x1, y1, x2, y2] for \"axial\" type describing the two interpolation points\r\n * or [x1, y1, r, x2, y2, r2] for \"radial\" describing inner and the outer circle.\r\n * @param {Array} colors An array of objects with the fields \"offset\" and \"color\". \"offset\" describes\r\n * the offset in parameter space [0, 1]. \"color\" is an array of length 3 describing RGB values in [0, 255].\r\n * @param {GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.ShadingPattern = ShadingPattern;\r\n\r\n /**\r\n * A PDF Tiling pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {Array.} boundingBox The bounding box at which one pattern cell gets clipped.\r\n * @param {Number} xStep Horizontal spacing between pattern cells.\r\n * @param {Number} yStep Vertical spacing between pattern cells.\r\n * @param {API.GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.TilingPattern = TilingPattern;\r\n\r\n /**\r\n * Adds a new {@link API.ShadingPattern} for later use. Only available in \"advanced\" API mode.\r\n * @param {String} key\r\n * @param {Pattern} pattern\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name addPattern\r\n */\r\n API.addShadingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"addShadingPattern()\");\r\n\r\n addPattern(key, pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Begins a new tiling pattern. All subsequent render calls are drawn to this pattern until {@link API.endTilingPattern}\r\n * gets called. Only available in \"advanced\" API mode.\r\n * @param {API.Pattern} pattern\r\n * @memberof jsPDF#\r\n * @name beginTilingPattern\r\n */\r\n API.beginTilingPattern = function(pattern) {\r\n advancedApiModeTrap(\"beginTilingPattern()\");\r\n\r\n beginNewRenderTarget(\r\n pattern.boundingBox[0],\r\n pattern.boundingBox[1],\r\n pattern.boundingBox[2] - pattern.boundingBox[0],\r\n pattern.boundingBox[3] - pattern.boundingBox[1],\r\n pattern.matrix\r\n );\r\n };\r\n\r\n /**\r\n * Ends a tiling pattern and sets the render target to the one active before {@link API.beginTilingPattern} has been called.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {string} key A unique key that is used to reference this pattern at later use.\r\n * @param {API.Pattern} pattern The pattern to end.\r\n * @memberof jsPDF#\r\n * @name endTilingPattern\r\n */\r\n API.endTilingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"endTilingPattern()\");\r\n\r\n // retrieve the stream\r\n pattern.stream = pages[currentPage].join(\"\\n\");\r\n\r\n addPattern(key, pattern);\r\n\r\n events.publish(\"endTilingPattern\", pattern);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n var newObject = (API.__private__.newObject = function() {\r\n var oid = newObjectDeferred();\r\n newObjectDeferredBegin(oid, true);\r\n return oid;\r\n });\r\n\r\n // Does not output the object. The caller must call newObjectDeferredBegin(oid) before outputing any data\r\n var newObjectDeferred = (API.__private__.newObjectDeferred = function() {\r\n objectNumber++;\r\n offsets[objectNumber] = function() {\r\n return contentLength;\r\n };\r\n return objectNumber;\r\n });\r\n\r\n var newObjectDeferredBegin = function(oid, doOutput) {\r\n doOutput = typeof doOutput === \"boolean\" ? doOutput : false;\r\n offsets[oid] = contentLength;\r\n if (doOutput) {\r\n out(oid + \" 0 obj\");\r\n }\r\n return oid;\r\n };\r\n // Does not output the object until after the pages have been output.\r\n // Returns an object containing the objectId and content.\r\n // All pages have been added so the object ID can be estimated to start right after.\r\n // This does not modify the current objectNumber; It must be updated after the newObjects are output.\r\n var newAdditionalObject = (API.__private__.newAdditionalObject = function() {\r\n var objId = newObjectDeferred();\r\n var obj = {\r\n objId: objId,\r\n content: \"\"\r\n };\r\n additionalObjects.push(obj);\r\n return obj;\r\n });\r\n\r\n var rootDictionaryObjId = newObjectDeferred();\r\n var resourceDictionaryObjId = newObjectDeferred();\r\n\r\n /////////////////////\r\n // Private functions\r\n /////////////////////\r\n\r\n var decodeColorString = (API.__private__.decodeColorString = function(color) {\r\n var colorEncoded = color.split(\" \");\r\n if (\r\n colorEncoded.length === 2 &&\r\n (colorEncoded[1] === \"g\" || colorEncoded[1] === \"G\")\r\n ) {\r\n // convert grayscale value to rgb so that it can be converted to hex for consistency\r\n var floatVal = parseFloat(colorEncoded[0]);\r\n colorEncoded = [floatVal, floatVal, floatVal, \"r\"];\r\n } else if (\r\n colorEncoded.length === 5 &&\r\n (colorEncoded[4] === \"k\" || colorEncoded[4] === \"K\")\r\n ) {\r\n // convert CMYK values to rbg so that it can be converted to hex for consistency\r\n var red = (1.0 - colorEncoded[0]) * (1.0 - colorEncoded[3]);\r\n var green = (1.0 - colorEncoded[1]) * (1.0 - colorEncoded[3]);\r\n var blue = (1.0 - colorEncoded[2]) * (1.0 - colorEncoded[3]);\r\n\r\n colorEncoded = [red, green, blue, \"r\"];\r\n }\r\n var colorAsRGB = \"#\";\r\n for (var i = 0; i < 3; i++) {\r\n colorAsRGB += (\r\n \"0\" + Math.floor(parseFloat(colorEncoded[i]) * 255).toString(16)\r\n ).slice(-2);\r\n }\r\n return colorAsRGB;\r\n });\r\n\r\n var encodeColorString = (API.__private__.encodeColorString = function(\r\n options\r\n ) {\r\n var color;\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n ch1: options\r\n };\r\n }\r\n var ch1 = options.ch1;\r\n var ch2 = options.ch2;\r\n var ch3 = options.ch3;\r\n var ch4 = options.ch4;\r\n var letterArray =\r\n options.pdfColorType === \"draw\" ? [\"G\", \"RG\", \"K\"] : [\"g\", \"rg\", \"k\"];\r\n\r\n if (typeof ch1 === \"string\" && ch1.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(ch1);\r\n if (rgbColor.ok) {\r\n ch1 = rgbColor.toHex();\r\n } else if (!/^\\d*\\.?\\d*$/.test(ch1)) {\r\n throw new Error(\r\n 'Invalid color \"' + ch1 + '\" passed to jsPDF.encodeColorString.'\r\n );\r\n }\r\n }\r\n //convert short rgb to long form\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{3}$/.test(ch1)) {\r\n ch1 = \"#\" + ch1[1] + ch1[1] + ch1[2] + ch1[2] + ch1[3] + ch1[3];\r\n }\r\n\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{6}$/.test(ch1)) {\r\n var hex = parseInt(ch1.substr(1), 16);\r\n ch1 = (hex >> 16) & 255;\r\n ch2 = (hex >> 8) & 255;\r\n ch3 = hex & 255;\r\n }\r\n\r\n if (\r\n typeof ch2 === \"undefined\" ||\r\n (typeof ch4 === \"undefined\" && ch1 === ch2 && ch2 === ch3)\r\n ) {\r\n // Gray color space.\r\n if (typeof ch1 === \"string\") {\r\n color = ch1 + \" \" + letterArray[0];\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = f2(ch1 / 255) + \" \" + letterArray[0];\r\n break;\r\n case 3:\r\n default:\r\n color = f3(ch1 / 255) + \" \" + letterArray[0];\r\n }\r\n }\r\n } else if (typeof ch4 === \"undefined\" || typeof ch4 === \"object\") {\r\n // assume RGBA\r\n if (ch4 && !isNaN(ch4.a)) {\r\n //TODO Implement transparency.\r\n //WORKAROUND use white for now, if transparent, otherwise handle as rgb\r\n if (ch4.a === 0) {\r\n color = [\"1.\", \"1.\", \"1.\", letterArray[1]].join(\" \");\r\n return color;\r\n }\r\n }\r\n // assume RGB\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, letterArray[1]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [\r\n f2(ch1 / 255),\r\n f2(ch2 / 255),\r\n f2(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n break;\r\n default:\r\n case 3:\r\n color = [\r\n f3(ch1 / 255),\r\n f3(ch2 / 255),\r\n f3(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n }\r\n }\r\n } else {\r\n // assume CMYK\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, ch4, letterArray[2]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [f2(ch1), f2(ch2), f2(ch3), f2(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n break;\r\n case 3:\r\n default:\r\n color = [f3(ch1), f3(ch2), f3(ch3), f3(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n }\r\n }\r\n }\r\n return color;\r\n });\r\n\r\n var getFilters = (API.__private__.getFilters = function() {\r\n return filters;\r\n });\r\n\r\n var putStream = (API.__private__.putStream = function(options) {\r\n options = options || {};\r\n var data = options.data || \"\";\r\n var filters = options.filters || getFilters();\r\n var alreadyAppliedFilters = options.alreadyAppliedFilters || [];\r\n var addLength1 = options.addLength1 || false;\r\n var valueOfLength1 = data.length;\r\n var objectId = options.objectId;\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null && typeof objectId == \"undefined\") {\r\n throw new Error(\r\n \"ObjectId must be passed to putStream for file encryption\"\r\n );\r\n }\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n\r\n var processedData = {};\r\n if (filters === true) {\r\n filters = [\"FlateEncode\"];\r\n }\r\n var keyValues = options.additionalKeyValues || [];\r\n if (typeof jsPDF.API.processDataByFilters !== \"undefined\") {\r\n processedData = jsPDF.API.processDataByFilters(data, filters);\r\n } else {\r\n processedData = { data: data, reverseChain: [] };\r\n }\r\n var filterAsString =\r\n processedData.reverseChain +\r\n (Array.isArray(alreadyAppliedFilters)\r\n ? alreadyAppliedFilters.join(\" \")\r\n : alreadyAppliedFilters.toString());\r\n\r\n if (processedData.data.length !== 0) {\r\n keyValues.push({\r\n key: \"Length\",\r\n value: processedData.data.length\r\n });\r\n if (addLength1 === true) {\r\n keyValues.push({\r\n key: \"Length1\",\r\n value: valueOfLength1\r\n });\r\n }\r\n }\r\n\r\n if (filterAsString.length != 0) {\r\n if (filterAsString.split(\"/\").length - 1 === 1) {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: filterAsString\r\n });\r\n } else {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: \"[\" + filterAsString + \"]\"\r\n });\r\n\r\n for (var j = 0; j < keyValues.length; j += 1) {\r\n if (keyValues[j].key === \"DecodeParms\") {\r\n var decodeParmsArray = [];\r\n\r\n for (\r\n var i = 0;\r\n i < processedData.reverseChain.split(\"/\").length - 1;\r\n i += 1\r\n ) {\r\n decodeParmsArray.push(\"null\");\r\n }\r\n\r\n decodeParmsArray.push(keyValues[j].value);\r\n keyValues[j].value = \"[\" + decodeParmsArray.join(\" \") + \"]\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n out(\"<<\");\r\n for (var k = 0; k < keyValues.length; k++) {\r\n out(\"/\" + keyValues[k].key + \" \" + keyValues[k].value);\r\n }\r\n out(\">>\");\r\n if (processedData.data.length !== 0) {\r\n out(\"stream\");\r\n out(encryptor(processedData.data));\r\n out(\"endstream\");\r\n }\r\n });\r\n\r\n var putPage = (API.__private__.putPage = function(page) {\r\n var pageNumber = page.number;\r\n var data = page.data;\r\n var pageObjectNumber = page.objId;\r\n var pageContentsObjId = page.contentsObjId;\r\n\r\n newObjectDeferredBegin(pageObjectNumber, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n // Page content\r\n var pageContent = data.join(\"\\n\");\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n // if the user forgot to switch back to COMPAT mode, we must balance the graphics stack again\r\n pageContent += \"\\nQ\";\r\n }\r\n\r\n newObjectDeferredBegin(pageContentsObjId, true);\r\n putStream({\r\n data: pageContent,\r\n filters: getFilters(),\r\n objectId: pageContentsObjId\r\n });\r\n out(\"endobj\");\r\n return pageObjectNumber;\r\n });\r\n\r\n var putPages = (API.__private__.putPages = function() {\r\n var n,\r\n i,\r\n pageObjectNumbers = [];\r\n\r\n for (n = 1; n <= page; n++) {\r\n pagesContext[n].objId = newObjectDeferred();\r\n pagesContext[n].contentsObjId = newObjectDeferred();\r\n }\r\n\r\n for (n = 1; n <= page; n++) {\r\n pageObjectNumbers.push(\r\n putPage({\r\n number: n,\r\n data: pages[n],\r\n objId: pagesContext[n].objId,\r\n contentsObjId: pagesContext[n].contentsObjId,\r\n mediaBox: pagesContext[n].mediaBox,\r\n cropBox: pagesContext[n].cropBox,\r\n bleedBox: pagesContext[n].bleedBox,\r\n trimBox: pagesContext[n].trimBox,\r\n artBox: pagesContext[n].artBox,\r\n userUnit: pagesContext[n].userUnit,\r\n rootDictionaryObjId: rootDictionaryObjId,\r\n resourceDictionaryObjId: resourceDictionaryObjId\r\n })\r\n );\r\n }\r\n newObjectDeferredBegin(rootDictionaryObjId, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n events.publish(\"postPutPages\");\r\n });\r\n\r\n var putFont = function(font) {\r\n events.publish(\"putFont\", {\r\n font: font,\r\n out: out,\r\n newObject: newObject,\r\n putStream: putStream\r\n });\r\n\r\n if (font.isAlreadyPutted !== true) {\r\n font.objectNumber = newObject();\r\n out(\"<<\");\r\n out(\"/Type /Font\");\r\n out(\"/BaseFont /\" + toPDFName(font.postScriptName));\r\n out(\"/Subtype /Type1\");\r\n if (typeof font.encoding === \"string\") {\r\n out(\"/Encoding /\" + font.encoding);\r\n }\r\n out(\"/FirstChar 32\");\r\n out(\"/LastChar 255\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n }\r\n };\r\n\r\n var putFonts = function() {\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n putFont(fonts[fontKey]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putXObject = function(xObject) {\r\n xObject.objectNumber = newObject();\r\n\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/XObject\" });\r\n options.push({ key: \"Subtype\", value: \"/Form\" });\r\n options.push({\r\n key: \"BBox\",\r\n value:\r\n \"[\" +\r\n [\r\n hpf(xObject.x),\r\n hpf(xObject.y),\r\n hpf(xObject.x + xObject.width),\r\n hpf(xObject.y + xObject.height)\r\n ].join(\" \") +\r\n \"]\"\r\n });\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + xObject.matrix.toString() + \"]\"\r\n });\r\n // TODO: /Resources\r\n\r\n var stream = xObject.pages[1].join(\"\\n\");\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n objectId: xObject.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putXObjects = function() {\r\n for (var xObjectKey in renderTargets) {\r\n if (renderTargets.hasOwnProperty(xObjectKey)) {\r\n putXObject(renderTargets[xObjectKey]);\r\n }\r\n }\r\n };\r\n\r\n var interpolateAndEncodeRGBStream = function(colors, numberSamples) {\r\n var tValues = [];\r\n var t;\r\n var dT = 1.0 / (numberSamples - 1);\r\n for (t = 0.0; t < 1.0; t += dT) {\r\n tValues.push(t);\r\n }\r\n tValues.push(1.0);\r\n // add first and last control point if not present\r\n if (colors[0].offset != 0.0) {\r\n var c0 = {\r\n offset: 0.0,\r\n color: colors[0].color\r\n };\r\n colors.unshift(c0);\r\n }\r\n if (colors[colors.length - 1].offset != 1.0) {\r\n var c1 = {\r\n offset: 1.0,\r\n color: colors[colors.length - 1].color\r\n };\r\n colors.push(c1);\r\n }\r\n var out = \"\";\r\n var index = 0;\r\n\r\n for (var i = 0; i < tValues.length; i++) {\r\n t = tValues[i];\r\n while (t > colors[index + 1].offset) index++;\r\n var a = colors[index].offset;\r\n var b = colors[index + 1].offset;\r\n var d = (t - a) / (b - a);\r\n\r\n var aColor = colors[index].color;\r\n var bColor = colors[index + 1].color;\r\n\r\n out +=\r\n padd2Hex(Math.round((1 - d) * aColor[0] + d * bColor[0]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[1] + d * bColor[1]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[2] + d * bColor[2]).toString(16));\r\n }\r\n return out.trim();\r\n };\r\n\r\n var putShadingPattern = function(pattern, numberSamples) {\r\n /*\r\n Axial patterns shade between the two points specified in coords, radial patterns between the inner\r\n and outer circle.\r\n The user can specify an array (colors) that maps t-Values in [0, 1] to RGB colors. These are now\r\n interpolated to equidistant samples and written to pdf as a sample (type 0) function.\r\n */\r\n // The number of color samples that should be used to describe the shading.\r\n // The higher, the more accurate the gradient will be.\r\n numberSamples || (numberSamples = 21);\r\n var funcObjectNumber = newObject();\r\n var stream = interpolateAndEncodeRGBStream(pattern.colors, numberSamples);\r\n\r\n var options = [];\r\n options.push({ key: \"FunctionType\", value: \"0\" });\r\n options.push({ key: \"Domain\", value: \"[0.0 1.0]\" });\r\n options.push({ key: \"Size\", value: \"[\" + numberSamples + \"]\" });\r\n options.push({ key: \"BitsPerSample\", value: \"8\" });\r\n options.push({ key: \"Range\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n options.push({ key: \"Decode\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n alreadyAppliedFilters: [\"/ASCIIHexDecode\"],\r\n objectId: funcObjectNumber\r\n });\r\n out(\"endobj\");\r\n\r\n pattern.objectNumber = newObject();\r\n out(\"<< /ShadingType \" + pattern.type);\r\n out(\"/ColorSpace /DeviceRGB\");\r\n var coords =\r\n \"/Coords [\" +\r\n hpf(parseFloat(pattern.coords[0])) +\r\n \" \" + // x1\r\n hpf(parseFloat(pattern.coords[1])) +\r\n \" \"; // y1\r\n if (pattern.type === 2) {\r\n // axial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[3])); // y2\r\n } else {\r\n // radial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // r1\r\n hpf(parseFloat(pattern.coords[3])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[4])) +\r\n \" \" + // y2\r\n hpf(parseFloat(pattern.coords[5])); // r2\r\n }\r\n coords += \"]\";\r\n out(coords);\r\n\r\n if (pattern.matrix) {\r\n out(\"/Matrix [\" + pattern.matrix.toString() + \"]\");\r\n }\r\n out(\"/Function \" + funcObjectNumber + \" 0 R\");\r\n out(\"/Extend [true true]\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putTilingPattern = function(pattern, deferredResourceDictionaryIds) {\r\n var resourcesObjectId = newObjectDeferred();\r\n var patternObjectId = newObject();\r\n\r\n deferredResourceDictionaryIds.push({\r\n resourcesOid: resourcesObjectId,\r\n objectOid: patternObjectId\r\n });\r\n\r\n pattern.objectNumber = patternObjectId;\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/Pattern\" });\r\n options.push({ key: \"PatternType\", value: \"1\" }); // tiling pattern\r\n options.push({ key: \"PaintType\", value: \"1\" }); // colored tiling pattern\r\n options.push({ key: \"TilingType\", value: \"1\" }); // constant spacing\r\n options.push({\r\n key: \"BBox\",\r\n value: \"[\" + pattern.boundingBox.map(hpf).join(\" \") + \"]\"\r\n });\r\n options.push({ key: \"XStep\", value: hpf(pattern.xStep) });\r\n options.push({ key: \"YStep\", value: hpf(pattern.yStep) });\r\n options.push({ key: \"Resources\", value: resourcesObjectId + \" 0 R\" });\r\n if (pattern.matrix) {\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + pattern.matrix.toString() + \"]\"\r\n });\r\n }\r\n\r\n putStream({\r\n data: pattern.stream,\r\n additionalKeyValues: options,\r\n objectId: pattern.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putPatterns = function(deferredResourceDictionaryIds) {\r\n var patternKey;\r\n for (patternKey in patterns) {\r\n if (patterns.hasOwnProperty(patternKey)) {\r\n if (patterns[patternKey] instanceof ShadingPattern) {\r\n putShadingPattern(patterns[patternKey]);\r\n } else if (patterns[patternKey] instanceof TilingPattern) {\r\n putTilingPattern(patterns[patternKey], deferredResourceDictionaryIds);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putGState = function(gState) {\r\n gState.objectNumber = newObject();\r\n out(\"<<\");\r\n for (var p in gState) {\r\n switch (p) {\r\n case \"opacity\":\r\n out(\"/ca \" + f2(gState[p]));\r\n break;\r\n case \"stroke-opacity\":\r\n out(\"/CA \" + f2(gState[p]));\r\n break;\r\n }\r\n }\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putGStates = function() {\r\n var gStateKey;\r\n for (gStateKey in gStates) {\r\n if (gStates.hasOwnProperty(gStateKey)) {\r\n putGState(gStates[gStateKey]);\r\n }\r\n }\r\n };\r\n\r\n var putXobjectDict = function() {\r\n out(\"/XObject <<\");\r\n for (var xObjectKey in renderTargets) {\r\n if (\r\n renderTargets.hasOwnProperty(xObjectKey) &&\r\n renderTargets[xObjectKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" +\r\n xObjectKey +\r\n \" \" +\r\n renderTargets[xObjectKey].objectNumber +\r\n \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n // Loop through images, or other data objects\r\n events.publish(\"putXobjectDict\");\r\n out(\">>\");\r\n };\r\n\r\n var putEncryptionDict = function() {\r\n encryption.oid = newObject();\r\n out(\"<<\");\r\n out(\"/Filter /Standard\");\r\n out(\"/V \" + encryption.v);\r\n out(\"/R \" + encryption.r);\r\n out(\"/U <\" + encryption.toHexString(encryption.U) + \">\");\r\n out(\"/O <\" + encryption.toHexString(encryption.O) + \">\");\r\n out(\"/P \" + encryption.P);\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putFontDict = function() {\r\n out(\"/Font <<\");\r\n\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n out(\"/\" + fontKey + \" \" + fonts[fontKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n }\r\n out(\">>\");\r\n };\r\n\r\n var putShadingPatternDict = function() {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Shading <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof ShadingPattern &&\r\n patterns[patternKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n events.publish(\"putShadingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putTilingPatternDict = function(objectOid) {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Pattern <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof API.TilingPattern &&\r\n patterns[patternKey].objectNumber >= 0 &&\r\n patterns[patternKey].objectNumber < objectOid // prevent cyclic dependencies\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n events.publish(\"putTilingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putGStatesDict = function() {\r\n if (Object.keys(gStates).length > 0) {\r\n var gStateKey;\r\n out(\"/ExtGState <<\");\r\n for (gStateKey in gStates) {\r\n if (\r\n gStates.hasOwnProperty(gStateKey) &&\r\n gStates[gStateKey].objectNumber >= 0\r\n ) {\r\n out(\"/\" + gStateKey + \" \" + gStates[gStateKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n\r\n events.publish(\"putGStateDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putResourceDictionary = function(objectIds) {\r\n newObjectDeferredBegin(objectIds.resourcesOid, true);\r\n out(\"<<\");\r\n out(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\");\r\n putFontDict();\r\n putShadingPatternDict();\r\n putTilingPatternDict(objectIds.objectOid);\r\n putGStatesDict();\r\n putXobjectDict();\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putResources = function() {\r\n // FormObjects, Patterns etc. might use other FormObjects/Patterns/Images\r\n // which means their resource dictionaries must contain the already resolved\r\n // object ids. For this reason we defer the serialization of the resource\r\n // dicts until all objects have been serialized and have object ids.\r\n //\r\n // In order to prevent cyclic dependencies (which Adobe Reader doesn't like),\r\n // we only put all oids that are smaller than the oid of the object the\r\n // resource dict belongs to. This is correct behavior, since the streams\r\n // may only use other objects that have already been defined and thus appear\r\n // earlier in their respective collection.\r\n // Currently, this only affects tiling patterns, but a (more) correct\r\n // implementation of FormObjects would also define their own resource dicts.\r\n var deferredResourceDictionaryIds = [];\r\n\r\n putFonts();\r\n putGStates();\r\n putXObjects();\r\n putPatterns(deferredResourceDictionaryIds);\r\n\r\n events.publish(\"putResources\");\r\n deferredResourceDictionaryIds.forEach(putResourceDictionary);\r\n putResourceDictionary({\r\n resourcesOid: resourceDictionaryObjId,\r\n objectOid: Number.MAX_SAFE_INTEGER // output all objects\r\n });\r\n events.publish(\"postPutResources\");\r\n };\r\n\r\n var putAdditionalObjects = function() {\r\n events.publish(\"putAdditionalObjects\");\r\n for (var i = 0; i < additionalObjects.length; i++) {\r\n var obj = additionalObjects[i];\r\n newObjectDeferredBegin(obj.objId, true);\r\n out(obj.content);\r\n out(\"endobj\");\r\n }\r\n events.publish(\"postPutAdditionalObjects\");\r\n };\r\n\r\n var addFontToFontDictionary = function(font) {\r\n fontmap[font.fontName] = fontmap[font.fontName] || {};\r\n fontmap[font.fontName][font.fontStyle] = font.id;\r\n };\r\n\r\n var addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n encoding,\r\n isStandardFont\r\n ) {\r\n var font = {\r\n id: \"F\" + (Object.keys(fonts).length + 1).toString(10),\r\n postScriptName: postScriptName,\r\n fontName: fontName,\r\n fontStyle: fontStyle,\r\n encoding: encoding,\r\n isStandardFont: isStandardFont || false,\r\n metadata: {}\r\n };\r\n\r\n events.publish(\"addFont\", {\r\n font: font,\r\n instance: this\r\n });\r\n\r\n fonts[font.id] = font;\r\n addFontToFontDictionary(font);\r\n return font.id;\r\n };\r\n\r\n var addFonts = function(arrayOfFonts) {\r\n for (var i = 0, l = standardFonts.length; i < l; i++) {\r\n var fontKey = addFont.call(\r\n this,\r\n arrayOfFonts[i][0],\r\n arrayOfFonts[i][1],\r\n arrayOfFonts[i][2],\r\n standardFonts[i][3],\r\n true\r\n );\r\n\r\n if (putOnlyUsedFonts === false) {\r\n usedFonts[fontKey] = true;\r\n }\r\n // adding aliases for standard fonts, this time matching the capitalization\r\n var parts = arrayOfFonts[i][0].split(\"-\");\r\n addFontToFontDictionary({\r\n id: fontKey,\r\n fontName: parts[0],\r\n fontStyle: parts[1] || \"\"\r\n });\r\n }\r\n events.publish(\"addFonts\", {\r\n fonts: fonts,\r\n dictionary: fontmap\r\n });\r\n };\r\n\r\n var SAFE = function __safeCall(fn) {\r\n fn.foo = function __safeCallWrapper() {\r\n try {\r\n return fn.apply(this, arguments);\r\n } catch (e) {\r\n var stack = e.stack || \"\";\r\n if (~stack.indexOf(\" at \")) stack = stack.split(\" at \")[1];\r\n var m =\r\n \"Error in function \" +\r\n stack.split(\"\\n\")[0].split(\"<\")[0] +\r\n \": \" +\r\n e.message;\r\n if (globalObject.console) {\r\n globalObject.console.error(m, e);\r\n if (globalObject.alert) alert(m);\r\n } else {\r\n throw new Error(m);\r\n }\r\n }\r\n };\r\n fn.foo.bar = fn;\r\n return fn.foo;\r\n };\r\n\r\n var to8bitStream = function(text, flags) {\r\n /**\r\n * PDF 1.3 spec:\r\n * \"For text strings encoded in Unicode, the first two bytes must be 254 followed by\r\n * 255, representing the Unicode byte order marker, U+FEFF. (This sequence conflicts\r\n * with the PDFDocEncoding character sequence thorn ydieresis, which is unlikely\r\n * to be a meaningful beginning of a word or phrase.) The remainder of the\r\n * string consists of Unicode character codes, according to the UTF-16 encoding\r\n * specified in the Unicode standard, version 2.0. Commonly used Unicode values\r\n * are represented as 2 bytes per character, with the high-order byte appearing first\r\n * in the string.\"\r\n *\r\n * In other words, if there are chars in a string with char code above 255, we\r\n * recode the string to UCS2 BE - string doubles in length and BOM is prepended.\r\n *\r\n * HOWEVER!\r\n * Actual *content* (body) text (as opposed to strings used in document properties etc)\r\n * does NOT expect BOM. There, it is treated as a literal GID (Glyph ID)\r\n *\r\n * Because of Adobe's focus on \"you subset your fonts!\" you are not supposed to have\r\n * a font that maps directly Unicode (UCS2 / UTF16BE) code to font GID, but you could\r\n * fudge it with \"Identity-H\" encoding and custom CIDtoGID map that mimics Unicode\r\n * code page. There, however, all characters in the stream are treated as GIDs,\r\n * including BOM, which is the reason we need to skip BOM in content text (i.e. that\r\n * that is tied to a font).\r\n *\r\n * To signal this \"special\" PDFEscape / to8bitStream handling mode,\r\n * API.text() function sets (unless you overwrite it with manual values\r\n * given to API.text(.., flags) )\r\n * flags.autoencode = true\r\n * flags.noBOM = true\r\n *\r\n * ===================================================================================\r\n * `flags` properties relied upon:\r\n * .sourceEncoding = string with encoding label.\r\n * \"Unicode\" by default. = encoding of the incoming text.\r\n * pass some non-existing encoding name\r\n * (ex: 'Do not touch my strings! I know what I am doing.')\r\n * to make encoding code skip the encoding step.\r\n * .outputEncoding = Either valid PDF encoding name\r\n * (must be supported by jsPDF font metrics, otherwise no encoding)\r\n * or a JS object, where key = sourceCharCode, value = outputCharCode\r\n * missing keys will be treated as: sourceCharCode === outputCharCode\r\n * .noBOM\r\n * See comment higher above for explanation for why this is important\r\n * .autoencode\r\n * See comment higher above for explanation for why this is important\r\n */\r\n\r\n var i,\r\n l,\r\n sourceEncoding,\r\n encodingBlock,\r\n outputEncoding,\r\n newtext,\r\n isUnicode,\r\n ch,\r\n bch;\r\n\r\n flags = flags || {};\r\n sourceEncoding = flags.sourceEncoding || \"Unicode\";\r\n outputEncoding = flags.outputEncoding;\r\n\r\n // This 'encoding' section relies on font metrics format\r\n // attached to font objects by, among others,\r\n // \"Willow Systems' standard_font_metrics plugin\"\r\n // see jspdf.plugin.standard_font_metrics.js for format\r\n // of the font.metadata.encoding Object.\r\n // It should be something like\r\n // .encoding = {'codePages':['WinANSI....'], 'WinANSI...':{code:code, ...}}\r\n // .widths = {0:width, code:width, ..., 'fof':divisor}\r\n // .kerning = {code:{previous_char_code:shift, ..., 'fof':-divisor},...}\r\n if (\r\n (flags.autoencode || outputEncoding) &&\r\n fonts[activeFontKey].metadata &&\r\n fonts[activeFontKey].metadata[sourceEncoding] &&\r\n fonts[activeFontKey].metadata[sourceEncoding].encoding\r\n ) {\r\n encodingBlock = fonts[activeFontKey].metadata[sourceEncoding].encoding;\r\n\r\n // each font has default encoding. Some have it clearly defined.\r\n if (!outputEncoding && fonts[activeFontKey].encoding) {\r\n outputEncoding = fonts[activeFontKey].encoding;\r\n }\r\n\r\n // Hmmm, the above did not work? Let's try again, in different place.\r\n if (!outputEncoding && encodingBlock.codePages) {\r\n outputEncoding = encodingBlock.codePages[0]; // let's say, first one is the default\r\n }\r\n\r\n if (typeof outputEncoding === \"string\") {\r\n outputEncoding = encodingBlock[outputEncoding];\r\n }\r\n // we want output encoding to be a JS Object, where\r\n // key = sourceEncoding's character code and\r\n // value = outputEncoding's character code.\r\n if (outputEncoding) {\r\n isUnicode = false;\r\n newtext = [];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = outputEncoding[text.charCodeAt(i)];\r\n if (ch) {\r\n newtext.push(String.fromCharCode(ch));\r\n } else {\r\n newtext.push(text[i]);\r\n }\r\n\r\n // since we are looping over chars anyway, might as well\r\n // check for residual unicodeness\r\n if (newtext[i].charCodeAt(0) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n }\r\n text = newtext.join(\"\");\r\n }\r\n }\r\n\r\n i = text.length;\r\n // isUnicode may be set to false above. Hence the triple-equal to undefined\r\n while (isUnicode === undefined && i !== 0) {\r\n if (text.charCodeAt(i - 1) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n i--;\r\n }\r\n if (!isUnicode) {\r\n return text;\r\n }\r\n\r\n newtext = flags.noBOM ? [] : [254, 255];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = text.charCodeAt(i);\r\n bch = ch >> 8; // divide by 256\r\n if (bch >> 8) {\r\n /* something left after dividing by 256 second time */\r\n throw new Error(\r\n \"Character at position \" +\r\n i +\r\n \" of string '\" +\r\n text +\r\n \"' exceeds 16bits. Cannot be encoded into UCS-2 BE\"\r\n );\r\n }\r\n newtext.push(bch);\r\n newtext.push(ch - (bch << 8));\r\n }\r\n return String.fromCharCode.apply(undefined, newtext);\r\n };\r\n\r\n var pdfEscape = (API.__private__.pdfEscape = API.pdfEscape = function(\r\n text,\r\n flags\r\n ) {\r\n /**\r\n * Replace '/', '(', and ')' with pdf-safe versions\r\n *\r\n * Doing to8bitStream does NOT make this PDF display unicode text. For that\r\n * we also need to reference a unicode font and embed it - royal pain in the rear.\r\n *\r\n * There is still a benefit to to8bitStream - PDF simply cannot handle 16bit chars,\r\n * which JavaScript Strings are happy to provide. So, while we still cannot display\r\n * 2-byte characters property, at least CONDITIONALLY converting (entire string containing)\r\n * 16bit chars to (USC-2-BE) 2-bytes per char + BOM streams we ensure that entire PDF\r\n * is still parseable.\r\n * This will allow immediate support for unicode in document properties strings.\r\n */\r\n return to8bitStream(text, flags)\r\n .replace(/\\\\/g, \"\\\\\\\\\")\r\n .replace(/\\(/g, \"\\\\(\")\r\n .replace(/\\)/g, \"\\\\)\");\r\n });\r\n\r\n var beginPage = (API.__private__.beginPage = function(format) {\r\n pages[++page] = [];\r\n pagesContext[page] = {\r\n objId: 0,\r\n contentsObjId: 0,\r\n userUnit: Number(userUnit),\r\n artBox: null,\r\n bleedBox: null,\r\n cropBox: null,\r\n trimBox: null,\r\n mediaBox: {\r\n bottomLeftX: 0,\r\n bottomLeftY: 0,\r\n topRightX: Number(format[0]),\r\n topRightY: Number(format[1])\r\n }\r\n };\r\n _setPage(page);\r\n setOutputDestination(pages[currentPage]);\r\n });\r\n\r\n var _addPage = function(parmFormat, parmOrientation) {\r\n var dimensions, width, height;\r\n\r\n orientation = parmOrientation || orientation;\r\n\r\n if (typeof parmFormat === \"string\") {\r\n dimensions = getPageFormat(parmFormat.toLowerCase());\r\n if (Array.isArray(dimensions)) {\r\n width = dimensions[0];\r\n height = dimensions[1];\r\n }\r\n }\r\n\r\n if (Array.isArray(parmFormat)) {\r\n width = parmFormat[0] * scaleFactor;\r\n height = parmFormat[1] * scaleFactor;\r\n }\r\n\r\n if (isNaN(width)) {\r\n width = format[0];\r\n height = format[1];\r\n }\r\n\r\n if (width > 14400 || height > 14400) {\r\n console.warn(\r\n \"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"\r\n );\r\n width = Math.min(14400, width);\r\n height = Math.min(14400, height);\r\n }\r\n\r\n format = [width, height];\r\n\r\n switch (orientation.substr(0, 1)) {\r\n case \"l\":\r\n if (height > width) {\r\n format = [height, width];\r\n }\r\n break;\r\n case \"p\":\r\n if (width > height) {\r\n format = [height, width];\r\n }\r\n break;\r\n }\r\n\r\n beginPage(format);\r\n\r\n // Set line width\r\n setLineWidth(lineWidth);\r\n // Set draw color\r\n out(strokeColor);\r\n // resurrecting non-default line caps, joins\r\n if (lineCapID !== 0) {\r\n out(lineCapID + \" J\");\r\n }\r\n if (lineJoinID !== 0) {\r\n out(lineJoinID + \" j\");\r\n }\r\n events.publish(\"addPage\", {\r\n pageNumber: page\r\n });\r\n };\r\n\r\n var _deletePage = function(n) {\r\n if (n > 0 && n <= page) {\r\n pages.splice(n, 1);\r\n pagesContext.splice(n, 1);\r\n page--;\r\n if (currentPage > page) {\r\n currentPage = page;\r\n }\r\n this.setPage(currentPage);\r\n }\r\n };\r\n\r\n var _setPage = function(n) {\r\n if (n > 0 && n <= page) {\r\n currentPage = n;\r\n }\r\n };\r\n\r\n var getNumberOfPages = (API.__private__.getNumberOfPages = API.getNumberOfPages = function() {\r\n return pages.length - 1;\r\n });\r\n\r\n /**\r\n * Returns a document-specific font key - a label assigned to a\r\n * font name + font type combination at the time the font was added\r\n * to the font inventory.\r\n *\r\n * Font key is used as label for the desired font for a block of text\r\n * to be added to the PDF document stream.\r\n * @private\r\n * @function\r\n * @param fontName {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @param fontStyle {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @returns {string} Font key.\r\n * @ignore\r\n */\r\n var getFont = function(fontName, fontStyle, options) {\r\n var key = undefined,\r\n fontNameLowerCase;\r\n options = options || {};\r\n\r\n fontName =\r\n fontName !== undefined ? fontName : fonts[activeFontKey].fontName;\r\n fontStyle =\r\n fontStyle !== undefined ? fontStyle : fonts[activeFontKey].fontStyle;\r\n fontNameLowerCase = fontName.toLowerCase();\r\n\r\n if (\r\n fontmap[fontNameLowerCase] !== undefined &&\r\n fontmap[fontNameLowerCase][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontNameLowerCase][fontStyle];\r\n } else if (\r\n fontmap[fontName] !== undefined &&\r\n fontmap[fontName][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontName][fontStyle];\r\n } else {\r\n if (options.disableWarning === false) {\r\n console.warn(\r\n \"Unable to look up font label for font '\" +\r\n fontName +\r\n \"', '\" +\r\n fontStyle +\r\n \"'. Refer to getFontList() for available fonts.\"\r\n );\r\n }\r\n }\r\n\r\n if (!key && !options.noFallback) {\r\n key = fontmap[\"times\"][fontStyle];\r\n if (key == null) {\r\n key = fontmap[\"times\"][\"normal\"];\r\n }\r\n }\r\n return key;\r\n };\r\n\r\n var putInfo = (API.__private__.putInfo = function() {\r\n var objectId = newObject();\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n out(\"<<\");\r\n out(\"/Producer (\" + pdfEscape(encryptor(\"jsPDF \" + jsPDF.version)) + \")\");\r\n for (var key in documentProperties) {\r\n if (documentProperties.hasOwnProperty(key) && documentProperties[key]) {\r\n out(\r\n \"/\" +\r\n key.substr(0, 1).toUpperCase() +\r\n key.substr(1) +\r\n \" (\" +\r\n pdfEscape(encryptor(documentProperties[key])) +\r\n \")\"\r\n );\r\n }\r\n }\r\n out(\"/CreationDate (\" + pdfEscape(encryptor(creationDate)) + \")\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putCatalog = (API.__private__.putCatalog = function(options) {\r\n options = options || {};\r\n var tmpRootDictionaryObjId =\r\n options.rootDictionaryObjId || rootDictionaryObjId;\r\n newObject();\r\n out(\"<<\");\r\n out(\"/Type /Catalog\");\r\n out(\"/Pages \" + tmpRootDictionaryObjId + \" 0 R\");\r\n // PDF13ref Section 7.2.1\r\n if (!zoomMode) zoomMode = \"fullwidth\";\r\n switch (zoomMode) {\r\n case \"fullwidth\":\r\n out(\"/OpenAction [3 0 R /FitH null]\");\r\n break;\r\n case \"fullheight\":\r\n out(\"/OpenAction [3 0 R /FitV null]\");\r\n break;\r\n case \"fullpage\":\r\n out(\"/OpenAction [3 0 R /Fit]\");\r\n break;\r\n case \"original\":\r\n out(\"/OpenAction [3 0 R /XYZ null null 1]\");\r\n break;\r\n default:\r\n var pcn = \"\" + zoomMode;\r\n if (pcn.substr(pcn.length - 1) === \"%\")\r\n zoomMode = parseInt(zoomMode) / 100;\r\n if (typeof zoomMode === \"number\") {\r\n out(\"/OpenAction [3 0 R /XYZ null null \" + f2(zoomMode) + \"]\");\r\n }\r\n }\r\n if (!layoutMode) layoutMode = \"continuous\";\r\n switch (layoutMode) {\r\n case \"continuous\":\r\n out(\"/PageLayout /OneColumn\");\r\n break;\r\n case \"single\":\r\n out(\"/PageLayout /SinglePage\");\r\n break;\r\n case \"two\":\r\n case \"twoleft\":\r\n out(\"/PageLayout /TwoColumnLeft\");\r\n break;\r\n case \"tworight\":\r\n out(\"/PageLayout /TwoColumnRight\");\r\n break;\r\n }\r\n if (pageMode) {\r\n /**\r\n * A name object specifying how the document should be displayed when opened:\r\n * UseNone : Neither document outline nor thumbnail images visible -- DEFAULT\r\n * UseOutlines : Document outline visible\r\n * UseThumbs : Thumbnail images visible\r\n * FullScreen : Full-screen mode, with no menu bar, window controls, or any other window visible\r\n */\r\n out(\"/PageMode /\" + pageMode);\r\n }\r\n events.publish(\"putCatalog\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putTrailer = (API.__private__.putTrailer = function() {\r\n out(\"trailer\");\r\n out(\"<<\");\r\n out(\"/Size \" + (objectNumber + 1));\r\n // Root and Info must be the last and second last objects written respectively\r\n out(\"/Root \" + objectNumber + \" 0 R\");\r\n out(\"/Info \" + (objectNumber - 1) + \" 0 R\");\r\n if (encryptionOptions !== null) {\r\n out(\"/Encrypt \" + encryption.oid + \" 0 R\");\r\n }\r\n out(\"/ID [ <\" + fileId + \"> <\" + fileId + \"> ]\");\r\n out(\">>\");\r\n });\r\n\r\n var putHeader = (API.__private__.putHeader = function() {\r\n out(\"%PDF-\" + pdfVersion);\r\n out(\"%\\xBA\\xDF\\xAC\\xE0\");\r\n });\r\n\r\n var putXRef = (API.__private__.putXRef = function() {\r\n var p = \"0000000000\";\r\n\r\n out(\"xref\");\r\n out(\"0 \" + (objectNumber + 1));\r\n out(\"0000000000 65535 f \");\r\n for (var i = 1; i <= objectNumber; i++) {\r\n var offset = offsets[i];\r\n if (typeof offset === \"function\") {\r\n out((p + offsets[i]()).slice(-10) + \" 00000 n \");\r\n } else {\r\n if (typeof offsets[i] !== \"undefined\") {\r\n out((p + offsets[i]).slice(-10) + \" 00000 n \");\r\n } else {\r\n out(\"0000000000 00000 n \");\r\n }\r\n }\r\n }\r\n });\r\n\r\n var buildDocument = (API.__private__.buildDocument = function() {\r\n resetDocument();\r\n setOutputDestination(content);\r\n\r\n events.publish(\"buildDocument\");\r\n\r\n putHeader();\r\n putPages();\r\n putAdditionalObjects();\r\n putResources();\r\n if (encryptionOptions !== null) putEncryptionDict();\r\n putInfo();\r\n putCatalog();\r\n\r\n var offsetOfXRef = contentLength;\r\n putXRef();\r\n putTrailer();\r\n out(\"startxref\");\r\n out(\"\" + offsetOfXRef);\r\n out(\"%%EOF\");\r\n\r\n setOutputDestination(pages[currentPage]);\r\n\r\n return content.join(\"\\n\");\r\n });\r\n\r\n var getBlob = (API.__private__.getBlob = function(data) {\r\n return new Blob([getArrayBuffer(data)], {\r\n type: \"application/pdf\"\r\n });\r\n });\r\n\r\n /**\r\n * Generates the PDF document.\r\n *\r\n * If `type` argument is undefined, output is raw body of resulting PDF returned as a string.\r\n *\r\n * @param {string} type A string identifying one of the possible output types.
\r\n * Possible values are:
\r\n * 'arraybuffer' -> (ArrayBuffer)
\r\n * 'blob' -> (Blob)
\r\n * 'bloburi'/'bloburl' -> (string)
\r\n * 'datauristring'/'dataurlstring' -> (string)
\r\n * 'datauri'/'dataurl' -> (undefined) -> change location to generated datauristring/dataurlstring
\r\n * 'dataurlnewwindow' -> (window | null | undefined) throws error if global isn't a window object(node)
\r\n * 'pdfobjectnewwindow' -> (window | null) throws error if global isn't a window object(node)
\r\n * 'pdfjsnewwindow' -> (wind | null)\r\n * @param {Object|string} options An object providing some additional signalling to PDF generator.
\r\n * Possible options are 'filename'.
\r\n * A string can be passed instead of {filename:string} and defaults to 'generated.pdf'\r\n * @function\r\n * @instance\r\n * @returns {string|window|ArrayBuffer|Blob|jsPDF|null|undefined}\r\n * @memberof jsPDF#\r\n * @name output\r\n */\r\n var output = (API.output = API.__private__.output = SAFE(function output(\r\n type,\r\n options\r\n ) {\r\n options = options || {};\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n filename: options\r\n };\r\n } else {\r\n options.filename = options.filename || \"generated.pdf\";\r\n }\r\n\r\n switch (type) {\r\n case undefined:\r\n return buildDocument();\r\n case \"save\":\r\n API.save(options.filename);\r\n break;\r\n case \"arraybuffer\":\r\n return getArrayBuffer(buildDocument());\r\n case \"blob\":\r\n return getBlob(buildDocument());\r\n case \"bloburi\":\r\n case \"bloburl\":\r\n // Developer is responsible of calling revokeObjectURL\r\n if (\r\n typeof globalObject.URL !== \"undefined\" &&\r\n typeof globalObject.URL.createObjectURL === \"function\"\r\n ) {\r\n return (\r\n (globalObject.URL &&\r\n globalObject.URL.createObjectURL(getBlob(buildDocument()))) ||\r\n void 0\r\n );\r\n } else {\r\n console.warn(\r\n \"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\"\r\n );\r\n }\r\n break;\r\n case \"datauristring\":\r\n case \"dataurlstring\":\r\n var dataURI = \"\";\r\n var pdfDocument = buildDocument();\r\n try {\r\n dataURI = btoa(pdfDocument);\r\n } catch (e) {\r\n dataURI = btoa(unescape(encodeURIComponent(pdfDocument)));\r\n }\r\n return (\r\n \"data:application/pdf;filename=\" +\r\n options.filename +\r\n \";base64,\" +\r\n dataURI\r\n );\r\n case \"pdfobjectnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfObjectUrl =\r\n \"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\";\r\n var integrity =\r\n ' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';\r\n\r\n if (options.pdfObjectUrl) {\r\n pdfObjectUrl = options.pdfObjectUrl;\r\n integrity = \"\";\r\n }\r\n\r\n var htmlForNewWindow =\r\n \"\" +\r\n '\";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

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

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

    \n *

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

    \n *

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

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

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

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

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

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

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

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



    a c e

    b d f

    0 0 1

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

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

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","import {useTranslation} from \"react-i18next\";\r\n\r\nconst Popup = ({ show, type }) => {\r\n\r\n const { t} = useTranslation();\r\n\r\n if (!show) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {t(\"popup.title\")} {type === \"pdf\" ? t(\"popup.pdf\") : t(\"popup.images\")} ({type})

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default Popup;","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t/,greedy:!0},prolog:{pattern:/<\\?[\\s\\S]+?\\?>/,greedy:!0},doctype:{pattern:/\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|)*\\]\\s*)?>/i,greedy:!0,inside:{\"internal-subset\":{pattern:/(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/\"[^\"]*\"|'[^']*'/,greedy:!0},punctuation:/^$|[[\\]]/,\"doctype-tag\":/^DOCTYPE/i,name:/[^\\s<>'\"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,greedy:!0,inside:{tag:{pattern:/^<\\/?[^\\s>\\/]+/,inside:{punctuation:/^<\\/?/,namespace:/^[^\\s>\\/:]+:/}},\"special-attr\":[],\"attr-value\":{pattern:/=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:\"attr-equals\"},{pattern:/^(\\s*)[\"']|[\"']$/,lookbehind:!0}]}},punctuation:/\\/?>/,\"attr-name\":{pattern:/[^\\s>\\/]+/,inside:{namespace:/^[^\\s>\\/:]+:/}}}},entity:[{pattern:/&[\\da-z]{1,8};/i,alias:\"named-entity\"},/&#x?[\\da-f]{1,8};/i]},Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside[\"internal-subset\"].inside=Prism.languages.markup,Prism.hooks.add(\"wrap\",function(e){\"entity\"===e.type&&(e.attributes.title=e.content.replace(/&/,\"&\"))}),Object.defineProperty(Prism.languages.markup.tag,\"addInlined\",{value:function(e,n){var t={},t=(t[\"language-\"+n]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[n]},t.cdata=/^$/i,{\"included-cdata\":{pattern://i,inside:t}}),n=(t[\"language-\"+n]={pattern:/[\\s\\S]+/,inside:Prism.languages[n]},{});n[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\\]\\]>|(?!)/.source.replace(/__/g,function(){return e}),\"i\"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore(\"markup\",\"cdata\",n)}}),Object.defineProperty(Prism.languages.markup.tag,\"addAttribute\",{value:function(e,n){Prism.languages.markup.tag.inside[\"special-attr\"].push({pattern:RegExp(/(^|[\"'\\s])/.source+\"(?:\"+e+\")\"+/\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\"i\"),lookbehind:!0,inside:{\"attr-name\":/^[^\\s=]+/,\"attr-value\":{pattern:/=[\\s\\S]+/,inside:{value:{pattern:/(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,lookbehind:!0,alias:[n,\"language-\"+n],inside:Prism.languages[n]},punctuation:[{pattern:/^=/,alias:\"attr-equals\"},/\"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend(\"markup\",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml,function(e){var n={pattern:/\\\\[\\\\(){}[\\]^$+*?|.]/,alias:\"escape\"},t=/\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,a=\"(?:[^\\\\\\\\-]|\"+t.source+\")\",a=RegExp(a+\"-\"+a),r={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:\"variable\"};e.languages.regex={\"char-class\":{pattern:/((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/,lookbehind:!0,inside:{\"char-class-negation\":{pattern:/(^\\[)\\^/,lookbehind:!0,alias:\"operator\"},\"char-class-punctuation\":{pattern:/^\\[|\\]$/,alias:\"punctuation\"},range:{pattern:a,inside:{escape:t,\"range-punctuation\":{pattern:/-/,alias:\"operator\"}}},\"special-escape\":n,\"char-set\":{pattern:/\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,alias:\"class-name\"},escape:t}},\"special-escape\":n,\"char-set\":{pattern:/\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,alias:\"class-name\"},backreference:[{pattern:/\\\\(?![123][0-7]{2})[1-9]/,alias:\"keyword\"},{pattern:/\\\\k<[^<>']+>/,alias:\"keyword\",inside:{\"group-name\":r}}],anchor:{pattern:/[$^]|\\\\[ABbGZz]/,alias:\"function\"},escape:t,group:[{pattern:/\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,punctuation:/[{}[\\];(),.:]/},Prism.languages.javascript=Prism.languages.extend(\"clike\",{\"class-name\":[Prism.languages.clike[\"class-name\"],{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\\})\\s*)catch\\b/,lookbehind:!0},{pattern:/(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,lookbehind:!0}],function:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,number:{pattern:RegExp(/(^|[^\\w$])/.source+\"(?:\"+/NaN|Infinity/.source+\"|\"+/0[bB][01]+(?:_[01]+)*n?/.source+\"|\"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+\"|\"+/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source+\"|\"+/\\d+(?:_\\d+)*n/.source+\"|\"+/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source+\")\"+/(?![\\w$])/.source),lookbehind:!0},operator:/--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/}),Prism.languages.javascript[\"class-name\"][0].pattern=/(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/,Prism.languages.insertBefore(\"javascript\",\"keyword\",{regex:{pattern:RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source+/\\//.source+\"(?:\"+/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source+\"|\"+/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+\")\"+/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source),lookbehind:!0,greedy:!0,inside:{\"regex-source\":{pattern:/^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,lookbehind:!0,alias:\"language-regex\",inside:Prism.languages.regex},\"regex-delimiter\":/^\\/|\\/$/,\"regex-flags\":/^[a-z]+$/}},\"function-variable\":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,alias:\"function\"},parameter:[{pattern:/(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/}),Prism.languages.insertBefore(\"javascript\",\"string\",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:\"comment\"},\"template-string\":{pattern:/`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,greedy:!0,inside:{\"template-punctuation\":{pattern:/^`|`$/,alias:\"string\"},interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,lookbehind:!0,inside:{\"interpolation-punctuation\":{pattern:/^\\$\\{|\\}$/,alias:\"punctuation\"},rest:Prism.languages.javascript}},string:/[\\s\\S]+/}},\"string-property\":{pattern:/((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,lookbehind:!0,greedy:!0,alias:\"property\"}}),Prism.languages.insertBefore(\"javascript\",\"operator\",{\"literal-property\":{pattern:/((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,lookbehind:!0,alias:\"property\"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined(\"script\",\"javascript\"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\"javascript\")),Prism.languages.js=Prism.languages.javascript,Prism.languages.actionscript=Prism.languages.extend(\"javascript\",{keyword:/\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/,operator:/\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<>?>?|[!=]=?)=?|[~?@]/}),Prism.languages.actionscript[\"class-name\"].alias=\"function\",delete Prism.languages.actionscript.parameter,delete Prism.languages.actionscript[\"literal-property\"],Prism.languages.markup&&Prism.languages.insertBefore(\"actionscript\",\"string\",{xml:{pattern:/(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,lookbehind:!0,inside:Prism.languages.markup}}),function(e){var n=/#(?!\\{).+/,t={pattern:/#\\{[^}]+\\}/,alias:\"variable\"};e.languages.coffeescript=e.languages.extend(\"javascript\",{comment:n,string:[{pattern:/'(?:\\\\[\\s\\S]|[^\\\\'])*'/,greedy:!0},{pattern:/\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,greedy:!0,inside:{interpolation:t}}],keyword:/\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/,\"class-member\":{pattern:/@(?!\\d)\\w+/,alias:\"variable\"}}),e.languages.insertBefore(\"coffeescript\",\"comment\",{\"multiline-comment\":{pattern:/###[\\s\\S]+?###/,alias:\"comment\"},\"block-regex\":{pattern:/\\/{3}[\\s\\S]*?\\/{3}/,alias:\"regex\",inside:{comment:n,interpolation:t}}}),e.languages.insertBefore(\"coffeescript\",\"string\",{\"inline-javascript\":{pattern:/`(?:\\\\[\\s\\S]|[^\\\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:\"punctuation\"},script:{pattern:/[\\s\\S]+/,alias:\"language-javascript\",inside:e.languages.javascript}}},\"multiline-string\":[{pattern:/'''[\\s\\S]*?'''/,greedy:!0,alias:\"string\"},{pattern:/\"\"\"[\\s\\S]*?\"\"\"/,greedy:!0,alias:\"string\",inside:{interpolation:t}}]}),e.languages.insertBefore(\"coffeescript\",\"keyword\",{property:/(?!\\d)\\w+(?=\\s*:(?!:))/}),delete e.languages.coffeescript[\"template-string\"],e.languages.coffee=e.languages.coffeescript}(Prism),function(l){var e=l.languages.javadoclike={parameter:{pattern:/(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m,lookbehind:!0},keyword:{pattern:/(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(e,\"addSupport\",{value:function(e,o){(e=\"string\"==typeof e?[e]:e).forEach(function(e){var n=function(e){e.inside||(e.inside={}),e.inside.rest=o},t=\"doc-comment\";if(a=l.languages[e]){var a,r=a[t];if((r=r?r:(a=l.languages.insertBefore(e,\"comment\",{\"doc-comment\":{pattern:/(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0,alias:\"comment\"}}))[t])instanceof RegExp&&(r=a[t]={pattern:r}),Array.isArray(r))for(var s=0,i=r.length;s|\\+|~|\\|\\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside[\"selector-function-argument\"].inside=n,e.languages.insertBefore(\"css\",\"property\",{variable:{pattern:/(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\\b\\d+)(?:%|[a-z]+(?![\\w-]))/,lookbehind:!0}),t={pattern:/(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,lookbehind:!0};e.languages.insertBefore(\"css\",\"function\",{operator:{pattern:/(\\s)[+\\-*\\/](?=\\s)/,lookbehind:!0},hexcode:{pattern:/\\B#[\\da-f]{3,8}\\b/i,alias:\"color\"},color:[{pattern:/(^|[^\\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\\w-])/i,lookbehind:!0},{pattern:/\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,inside:{unit:n,number:t,function:/[\\w-]+(?=\\()/,punctuation:/[(),]/}}],entity:/\\\\[\\da-f]{1,8}/i,unit:n,number:t})}(Prism),function(e){var n=/[*&][^\\s[\\]{},]+/,t=/!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/,a=\"(?:\"+t.source+\"(?:[ \\t]+\"+n.source+\")?|\"+n.source+\"(?:[ \\t]+\"+t.source+\")?)\",r=/(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ \\t]*(?:(?![#:])|:))*/.source.replace(//g,function(){return/[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source}),s=/\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;function i(e,n){n=(n||\"\").replace(/m/g,\"\")+\"m\";var t=/([:\\-,[{]\\s*(?:\\s<>[ \\t]+)?)(?:<>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<>/g,function(){return a}).replace(/<>/g,function(){return e});return RegExp(t,n)}e.languages.yaml={scalar:{pattern:RegExp(/([\\-:]\\s*(?:\\s<>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<>/g,function(){return a})),lookbehind:!0,alias:\"string\"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<>[ \\t]+)?)<>(?=\\s*:\\s)/.source.replace(/<>/g,function(){return a}).replace(/<>/g,function(){return\"(?:\"+r+\"|\"+s+\")\"})),lookbehind:!0,greedy:!0,alias:\"atrule\"},directive:{pattern:/(^[ \\t]*)%.+/m,lookbehind:!0,alias:\"important\"},datetime:{pattern:i(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source),lookbehind:!0,alias:\"number\"},boolean:{pattern:i(/false|true/.source,\"i\"),lookbehind:!0,alias:\"important\"},null:{pattern:i(/null|~/.source,\"i\"),lookbehind:!0,alias:\"important\"},string:{pattern:i(s),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source,\"i\"),lookbehind:!0},tag:t,important:n,punctuation:/---|[:[\\]{}\\-,|>?]|\\.\\.\\./},e.languages.yml=e.languages.yaml}(Prism),function(o){var n=/(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;function e(e){return e=e.replace(//g,function(){return n}),RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source+\"(?:\"+e+\")\")}var t=/(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source,a=/\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g,function(){return t}),r=/\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source,l=(o.languages.markdown=o.languages.extend(\"markup\",{}),o.languages.insertBefore(\"markdown\",\"prolog\",{\"front-matter-block\":{pattern:/(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,\"front-matter\":{pattern:/\\S+(?:\\s+\\S+)*/,alias:[\"yaml\",\"language-yaml\"],inside:o.languages.yaml}}},blockquote:{pattern:/^>(?:[\\t ]*>)*/m,alias:\"punctuation\"},table:{pattern:RegExp(\"^\"+a+r+\"(?:\"+a+\")*\",\"m\"),inside:{\"table-data-rows\":{pattern:RegExp(\"^(\"+a+r+\")(?:\"+a+\")*$\"),lookbehind:!0,inside:{\"table-data\":{pattern:RegExp(t),inside:o.languages.markdown},punctuation:/\\|/}},\"table-line\":{pattern:RegExp(\"^(\"+a+\")\"+r+\"$\"),lookbehind:!0,inside:{punctuation:/\\||:?-{3,}:?/}},\"table-header-row\":{pattern:RegExp(\"^\"+a+\"$\"),inside:{\"table-header\":{pattern:RegExp(t),alias:\"important\",inside:o.languages.markdown},punctuation:/\\|/}}}},code:[{pattern:/((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,lookbehind:!0,alias:\"keyword\"},{pattern:/^```[\\s\\S]*?^```$/m,greedy:!0,inside:{\"code-block\":{pattern:/^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,lookbehind:!0},\"code-language\":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,alias:\"important\",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\\s*)#.+/m,lookbehind:!0,alias:\"important\",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,lookbehind:!0,alias:\"punctuation\"},list:{pattern:/(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,lookbehind:!0,alias:\"punctuation\"},\"url-reference\":{pattern:/!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,inside:{variable:{pattern:/^(!?\\[)[^\\]]+/,lookbehind:!0},string:/(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,punctuation:/^[\\[\\]!:]|[<>]/},alias:\"url\"},bold:{pattern:e(/\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\\s\\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\\*\\*|__/}},italic:{pattern:e(/\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\\s\\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:e(/(~~?)(?:(?!~))+\\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\\s\\S]+(?=\\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},\"code-snippet\":{pattern:/(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[\"code\",\"keyword\"]},url:{pattern:e(/!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\]))+\\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\\[)[^\\]]+(?=\\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,lookbehind:!0},url:{pattern:/(^\\]\\()[^\\s)]+/,lookbehind:!0},string:{pattern:/(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,lookbehind:!0}}}}),[\"url\",\"bold\",\"italic\",\"strike\"].forEach(function(n){[\"url\",\"bold\",\"italic\",\"strike\",\"code-snippet\"].forEach(function(e){n!==e&&(o.languages.markdown[n].inside.content.inside[e]=o.languages.markdown[e])})}),o.hooks.add(\"after-tokenize\",function(e){\"markdown\"!==e.language&&\"md\"!==e.language||!function e(n){if(n&&\"string\"!=typeof n)for(var t=0,a=n.length;t\",quot:'\"'},c=String.fromCodePoint||String.fromCharCode;o.languages.md=o.languages.markdown}(Prism),Prism.languages.graphql={comment:/#.*/,description:{pattern:/(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i,greedy:!0,alias:\"string\",inside:{\"language-markdown\":{pattern:/(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/,lookbehind:!0,inside:Prism.languages.markdown}}},string:{pattern:/\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,greedy:!0},number:/(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,boolean:/\\b(?:false|true)\\b/,variable:/\\$[a-z_]\\w*/i,directive:{pattern:/@[a-z_]\\w*/i,alias:\"function\"},\"attr-name\":{pattern:/\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i,greedy:!0},\"atom-input\":{pattern:/\\b[A-Z]\\w*Input\\b/,alias:\"class-name\"},scalar:/\\b(?:Boolean|Float|ID|Int|String)\\b/,constant:/\\b[A-Z][A-Z_\\d]*\\b/,\"class-name\":{pattern:/(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/,lookbehind:!0},fragment:{pattern:/(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/,lookbehind:!0,alias:\"function\"},\"definition-mutation\":{pattern:/(\\bmutation\\s+)[a-zA-Z_]\\w*/,lookbehind:!0,alias:\"function\"},\"definition-query\":{pattern:/(\\bquery\\s+)[a-zA-Z_]\\w*/,lookbehind:!0,alias:\"function\"},keyword:/\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/,operator:/[!=|&]|\\.{3}/,\"property-query\":/\\w+(?=\\s*\\()/,object:/\\w+(?=\\s*\\{)/,punctuation:/[!(){}\\[\\]:=,]/,property:/\\w+/},Prism.hooks.add(\"after-tokenize\",function(e){if(\"graphql\"===e.language)for(var i=e.tokens.filter(function(e){return\"string\"!=typeof e&&\"comment\"!==e.type&&\"scalar\"!==e.type}),o=0;o?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,punctuation:/[;[\\]()`,.]/},function(b){var e=b.languages.javascript[\"template-string\"],t=e.pattern.source,m=e.inside.interpolation,f=m.inside[\"interpolation-punctuation\"],s=m.pattern.source;function n(e,n){if(b.languages[e])return{pattern:RegExp(\"((?:\"+n+\")\\\\s*)\"+t),lookbehind:!0,greedy:!0,inside:{\"template-punctuation\":{pattern:/^`|`$/,alias:\"string\"},\"embedded-code\":{pattern:/[\\s\\S]+/,alias:e}}}}function h(e,n,t){e={code:e,grammar:n,language:t};return b.hooks.run(\"before-tokenize\",e),e.tokens=b.tokenize(e.code,e.grammar),b.hooks.run(\"after-tokenize\",e),e.tokens}function l(a,e,r){var n=b.tokenize(a,{interpolation:{pattern:RegExp(s),lookbehind:!0}}),p=0,d={},n=h(n.map(function(e){if(\"string\"==typeof e)return e;for(var n,t,e=e.content;-1!==a.indexOf((t=p++,n=\"___\"+r.toUpperCase()+\"_\"+t+\"___\")););return d[n]=e,n}).join(\"\"),e,r),g=Object.keys(d);return p=0,function e(n){for(var t=0;t=g.length)return;var a,r,s,i,o,l,u,c=n[t];\"string\"==typeof c||\"string\"==typeof c.content?(a=g[p],-1!==(u=(l=\"string\"==typeof c?c:c.content).indexOf(a))&&(++p,r=l.substring(0,u),o=d[a],s=void 0,(i={})[\"interpolation-punctuation\"]=f,3===(i=b.tokenize(o,i)).length&&((s=[1,1]).push.apply(s,h(i[1],b.languages.javascript,\"javascript\")),i.splice.apply(i,s)),s=new b.Token(\"interpolation\",i,m.alias,o),i=l.substring(u+a.length),o=[],r&&o.push(r),o.push(s),i&&(e(l=[i]),o.push.apply(o,l)),\"string\"==typeof c?(n.splice.apply(n,[t,1].concat(o)),t+=o.length-1):c.content=o)):(u=c.content,Array.isArray(u)?e(u):e([u]))}}(n),new b.Token(r,n,\"language-\"+r,a)}b.languages.javascript[\"template-string\"]=[n(\"css\",/\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),n(\"html\",/\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=/.source),n(\"svg\",/\\bsvg/.source),n(\"markdown\",/\\b(?:markdown|md)/.source),n(\"graphql\",/\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)/.source),n(\"sql\",/\\bsql/.source),e].filter(Boolean);var a={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return\"string\"==typeof e?e:Array.isArray(e)?e.map(u).join(\"\"):u(e.content)}b.hooks.add(\"after-tokenize\",function(e){e.language in a&&!function e(n){for(var t=0,a=n.length;t]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/}),e.languages.typescript.keyword.push(/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/,/\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/,/\\btype\\b(?=\\s*(?:[\\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[\"literal-property\"];var n=e.languages.extend(\"typescript\",{});delete n[\"class-name\"],e.languages.typescript[\"class-name\"].inside=n,e.languages.insertBefore(\"typescript\",\"function\",{decorator:{pattern:/@[$\\w\\xA0-\\uFFFF]+/,inside:{at:{pattern:/^@/,alias:\"operator\"},function:/^[\\s\\S]+/}},\"generic-function\":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,greedy:!0,inside:{function:/^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,generic:{pattern:/<[\\s\\S]+/,alias:\"class-name\",inside:n}}}}),e.languages.ts=e.languages.typescript}(Prism),function(e){var n=e.languages.javascript,t=/\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source,a=\"(@(?:arg|argument|param|property)\\\\s+(?:\"+t+\"\\\\s+)?)\";e.languages.jsdoc=e.languages.extend(\"javadoclike\",{parameter:{pattern:RegExp(a+/(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source),lookbehind:!0,inside:{punctuation:/\\./}}}),e.languages.insertBefore(\"jsdoc\",\"keyword\",{\"optional-parameter\":{pattern:RegExp(a+/\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/,lookbehind:!0,inside:{punctuation:/\\./}},code:{pattern:/(=)[\\s\\S]*(?=\\]$)/,lookbehind:!0,inside:n,alias:\"language-javascript\"},punctuation:/[=[\\]]/}},\"class-name\":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(//g,function(){return t})),lookbehind:!0,inside:{punctuation:/\\./}},{pattern:RegExp(\"(@[a-z]+\\\\s+)\"+t),lookbehind:!0,inside:{string:n.string,number:n.number,boolean:n.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\\.\\.\\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\\]]/}}],example:{pattern:/(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/,lookbehind:!0,inside:{code:{pattern:/^([\\t ]*(?:\\*\\s*)?)\\S.*$/m,lookbehind:!0,inside:n,alias:\"language-javascript\"}}}}),e.languages.javadoclike.addSupport(\"javascript\",e.languages.jsdoc)}(Prism),function(e){e.languages.flow=e.languages.extend(\"javascript\",{}),e.languages.insertBefore(\"flow\",\"keyword\",{type:[{pattern:/\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\\b/,alias:\"class-name\"}]}),e.languages.flow[\"function-variable\"].pattern=/(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore(\"flow\",\"operator\",{\"flow-punctuation\":{pattern:/\\{\\||\\|\\}/,alias:\"punctuation\"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/,lookbehind:!0},{pattern:/(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/,lookbehind:!0})}(Prism),Prism.languages.n4js=Prism.languages.extend(\"javascript\",{keyword:/\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/}),Prism.languages.insertBefore(\"n4js\",\"constant\",{annotation:{pattern:/@+\\w+/,alias:\"operator\"}}),Prism.languages.n4jsd=Prism.languages.n4js,function(e){function n(e,n){return RegExp(e.replace(//g,function(){return/(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source}),n)}e.languages.insertBefore(\"javascript\",\"function-variable\",{\"method-variable\":{pattern:RegExp(\"(\\\\.\\\\s*)\"+e.languages.javascript[\"function-variable\"].pattern.source),lookbehind:!0,alias:[\"function-variable\",\"method\",\"function\",\"property-access\"]}}),e.languages.insertBefore(\"javascript\",\"function\",{method:{pattern:RegExp(\"(\\\\.\\\\s*)\"+e.languages.javascript.function.source),lookbehind:!0,alias:[\"function\",\"property-access\"]}}),e.languages.insertBefore(\"javascript\",\"constant\",{\"known-class-name\":[{pattern:/\\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\\b/,alias:\"class-name\"},{pattern:/\\b(?:[A-Z]\\w*)Error\\b/,alias:\"class-name\"}]}),e.languages.insertBefore(\"javascript\",\"keyword\",{imports:{pattern:n(/(\\bimport\\b\\s*)(?:(?:\\s*,\\s*(?:\\*\\s*as\\s+|\\{[^{}]*\\}))?|\\*\\s*as\\s+|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:n(/(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\\b(?:as|default|export|from|import)\\b/,alias:\"module\"},{pattern:/\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/,alias:\"control-flow\"},{pattern:/\\bnull\\b/,alias:[\"null\",\"nil\"]},{pattern:/\\bundefined\\b/,alias:\"nil\"}),e.languages.insertBefore(\"javascript\",\"operator\",{spread:{pattern:/\\.{3}/,alias:\"operator\"},arrow:{pattern:/=>/,alias:\"operator\"}}),e.languages.insertBefore(\"javascript\",\"punctuation\",{\"property-access\":{pattern:n(/(\\.\\s*)#?/.source),lookbehind:!0},\"maybe-class-name\":{pattern:/(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/,lookbehind:!0},dom:{pattern:/\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/,alias:\"variable\"},console:{pattern:/\\bconsole(?=\\s*\\.)/,alias:\"class-name\"}});for(var t=[\"function\",\"function-variable\",\"method\",\"method-variable\",\"property-access\"],a=0;a*\\.{3}(?:[^{}]|)*\\})/.source;function n(e,n){return e=e.replace(//g,function(){return t}).replace(//g,function(){return a}).replace(//g,function(){return r}),RegExp(e,n)}r=n(r).source,s.languages.jsx=s.languages.extend(\"markup\",e),s.languages.jsx.tag.pattern=n(/<\\/?(?:[\\w.:-]+(?:+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|))?|))**\\/?)?>/.source),s.languages.jsx.tag.inside.tag.pattern=/^<\\/?[^\\s>\\/]*/,s.languages.jsx.tag.inside[\"attr-value\"].pattern=/=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/,s.languages.jsx.tag.inside.tag.inside[\"class-name\"]=/^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/,s.languages.jsx.tag.inside.comment=e.comment,s.languages.insertBefore(\"inside\",\"attr-name\",{spread:{pattern:n(//.source),inside:s.languages.jsx}},s.languages.jsx.tag),s.languages.insertBefore(\"inside\",\"special-attr\",{script:{pattern:n(/=/.source),alias:\"language-javascript\",inside:{\"script-punctuation\":{pattern:/^=(?=\\{)/,alias:\"punctuation\"},rest:s.languages.jsx}}},s.languages.jsx.tag);function i(e){for(var n=[],t=0;t\"!==a.content[a.content.length-1].content&&n.push({tagName:o(a.content[0].content[1]),openedBraces:0}):0]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,alias:\"constant\"},\"other-directive\":{pattern:/#\\w+\\b/,alias:\"property\"},attribute:{pattern:/@\\w+/,alias:\"atrule\"},\"function-definition\":{pattern:/(\\bfunc\\s+)\\w+/,lookbehind:!0,alias:\"function\"},label:{pattern:/\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,lookbehind:!0,alias:\"important\"},keyword:/\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,boolean:/\\b(?:false|true)\\b/,nil:{pattern:/\\bnil\\b/,alias:\"constant\"},\"short-argument\":/\\$\\d+\\b/,omit:{pattern:/\\b_\\b/,alias:\"keyword\"},number:/\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\"class-name\":/\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,function:/\\b[a-z_]\\w*(?=\\s*\\()/i,constant:/\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,operator:/[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\\]();,.:\\\\]/},Prism.languages.swift[\"string-literal\"].forEach(function(e){e.inside.interpolation.inside=Prism.languages.swift}),function(e){e.languages.kotlin=e.languages.extend(\"clike\",{keyword:{pattern:/(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,lookbehind:!0},function:[{pattern:/(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/,greedy:!0},{pattern:/(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/,lookbehind:!0,greedy:!0}],number:/\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,operator:/\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/}),delete e.languages.kotlin[\"class-name\"];var n={\"interpolation-punctuation\":{pattern:/^\\$\\{?|\\}$/,alias:\"punctuation\"},expression:{pattern:/[\\s\\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore(\"kotlin\",\"string\",{\"string-literal\":[{pattern:/\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/,alias:\"multiline\",inside:{interpolation:{pattern:/\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,inside:n},string:/[\\s\\S]+/}},{pattern:/\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/,alias:\"singleline\",inside:{interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,lookbehind:!0,inside:n},string:/[\\s\\S]+/}}],char:{pattern:/'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore(\"kotlin\",\"keyword\",{annotation:{pattern:/\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,alias:\"builtin\"}}),e.languages.insertBefore(\"kotlin\",\"function\",{label:{pattern:/\\b\\w+@|@\\w+\\b/,alias:\"symbol\"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism),Prism.languages.c=Prism.languages.extend(\"clike\",{comment:{pattern:/\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,greedy:!0},string:{pattern:/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,greedy:!0},\"class-name\":{pattern:/(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,lookbehind:!0},keyword:/\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,function:/\\b[a-z_]\\w*(?=\\s*\\()/i,number:/(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore(\"c\",\"string\",{char:{pattern:/'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,greedy:!0}}),Prism.languages.insertBefore(\"c\",\"string\",{macro:{pattern:/(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,greedy:!0,alias:\"property\",inside:{string:[{pattern:/^(#\\s*include\\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,\"macro-name\":[{pattern:/(^#\\s*define\\s+)\\w+\\b(?!\\()/i,lookbehind:!0},{pattern:/(^#\\s*define\\s+)\\w+\\b(?=\\()/i,lookbehind:!0,alias:\"function\"}],directive:{pattern:/^(#\\s*)[a-z]+/,lookbehind:!0,alias:\"keyword\"},\"directive-hash\":/^#/,punctuation:/##|\\\\(?=[\\r\\n])/,expression:{pattern:/\\S[\\s\\S]*/,inside:Prism.languages.c}}}}),Prism.languages.insertBefore(\"c\",\"function\",{constant:/\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/}),delete Prism.languages.c.boolean,Prism.languages.objectivec=Prism.languages.extend(\"c\",{string:{pattern:/@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,greedy:!0},keyword:/\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,operator:/-[->]?|\\+\\+?|!=?|<>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/}),delete Prism.languages.objectivec[\"class-name\"],Prism.languages.objc=Prism.languages.objectivec,Prism.languages.reason=Prism.languages.extend(\"clike\",{string:{pattern:/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,greedy:!0},\"class-name\":/\\b[A-Z]\\w*/,keyword:/\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/,operator:/\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/}),Prism.languages.insertBefore(\"reason\",\"class-name\",{char:{pattern:/'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,greedy:!0},constructor:/\\b[A-Z]\\w*\\b(?!\\s*\\.)/,label:{pattern:/\\b[a-z]\\w*(?=::)/,alias:\"symbol\"}}),delete Prism.languages.reason.function,function(e){for(var n=/\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|)*\\*\\//.source,t=0;t<2;t++)n=n.replace(//g,function(){return n});n=n.replace(//g,function(){return/[^\\s\\S]/.source}),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\\\])/.source+n),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,greedy:!0},char:{pattern:/b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,greedy:!0},attribute:{pattern:/#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,greedy:!0,alias:\"attr-name\",inside:{string:null}},\"closure-params\":{pattern:/([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,lookbehind:!0,greedy:!0,inside:{\"closure-punctuation\":{pattern:/^\\||\\|$/,alias:\"punctuation\"},rest:null}},\"lifetime-annotation\":{pattern:/'\\w+/,alias:\"symbol\"},\"fragment-specifier\":{pattern:/(\\$\\w+:)[a-z]+/,lookbehind:!0,alias:\"punctuation\"},variable:/\\$\\w+/,\"function-definition\":{pattern:/(\\bfn\\s+)\\w+/,lookbehind:!0,alias:\"function\"},\"type-definition\":{pattern:/(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,lookbehind:!0,alias:\"class-name\"},\"module-declaration\":[{pattern:/(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,lookbehind:!0,alias:\"namespace\"},{pattern:/(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,lookbehind:!0,alias:\"namespace\",inside:{punctuation:/::/}}],keyword:[/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/],function:/\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,macro:{pattern:/\\b\\w+!/,alias:\"property\"},constant:/\\b[A-Z_][A-Z_\\d]+\\b/,\"class-name\":/\\b[A-Z]\\w*\\b/,namespace:{pattern:/(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,inside:{punctuation:/::/}},number:/\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,boolean:/\\b(?:false|true)\\b/,punctuation:/->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,operator:/[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<>?=?|[@?]/},e.languages.rust[\"closure-params\"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism),Prism.languages.go=Prism.languages.extend(\"clike\",{string:{pattern:/(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,boolean:/\\b(?:_|false|iota|nil|true)\\b/,number:[/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i,/\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,/(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i],operator:/[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,builtin:/\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/}),Prism.languages.insertBefore(\"go\",\"string\",{char:{pattern:/'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go[\"class-name\"],function(e){var n=/\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/,t=/\\b(?!)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(//g,function(){return n.source});e.languages.cpp=e.languages.extend(\"c\",{\"class-name\":[{pattern:RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+/.source.replace(//g,function(){return n.source})),lookbehind:!0},/\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/,/\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i,/\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/],keyword:n,number:{pattern:/(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,boolean:/\\b(?:false|true)\\b/}),e.languages.insertBefore(\"cpp\",\"string\",{module:{pattern:RegExp(/(\\b(?:import|module)\\s+)/.source+\"(?:\"+/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source+\"|\"+/(?:\\s*:\\s*)?|:\\s*/.source.replace(//g,function(){return t})+\")\"),lookbehind:!0,greedy:!0,inside:{string:/^[<\"][\\s\\S]+/,operator:/:/,punctuation:/\\./}},\"raw-string\":{pattern:/R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,alias:\"string\",greedy:!0}}),e.languages.insertBefore(\"cpp\",\"keyword\",{\"generic-function\":{pattern:/\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,inside:{function:/^\\w+/,generic:{pattern:/<[\\s\\S]+/,alias:\"class-name\",inside:e.languages.cpp}}}}),e.languages.insertBefore(\"cpp\",\"operator\",{\"double-colon\":{pattern:/::/,alias:\"punctuation\"}}),e.languages.insertBefore(\"cpp\",\"class-name\",{\"base-clause\":{pattern:/(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(\"cpp\",{})}}),e.languages.insertBefore(\"inside\",\"double-colon\",{\"class-name\":/\\b[a-z_]\\w*\\b(?!\\s*::)/i},e.languages.cpp[\"base-clause\"])}(Prism),Prism.languages.python={comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0,greedy:!0},\"string-interpolation\":{pattern:/(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,lookbehind:!0,inside:{\"format-spec\":{pattern:/(:)[^:(){}]+(?=\\}$)/,lookbehind:!0},\"conversion-option\":{pattern:/![sra](?=[:}]$)/,alias:\"punctuation\"},rest:null}},string:/[\\s\\S]+/}},\"triple-quoted-string\":{pattern:/(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,greedy:!0,alias:\"string\"},string:{pattern:/(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,greedy:!0},function:{pattern:/((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,lookbehind:!0},\"class-name\":{pattern:/(\\bclass\\s+)\\w+/i,lookbehind:!0},decorator:{pattern:/(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,lookbehind:!0,alias:[\"annotation\",\"punctuation\"],inside:{punctuation:/\\./}},keyword:/\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,builtin:/\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,boolean:/\\b(?:False|None|True)\\b/,number:/\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,operator:/[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\\];(),.:]/},Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python;","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// \n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT \n * @author Lea Verou \n * @namespace\n * @public\n */\nvar Prism = (function () {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `\r\n \r\n { changeLanguage(\"sl\");}}>{`${t(\"navigation.language.slovene\")} (sl)`}\r\n { changeLanguage(\"en\");}}>{`${t(\"navigation.language.english\")} (en)`}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CustomNavbar;","import {Link} from \"react-router-dom\";\r\nimport React from \"react\";\r\nimport {useTranslation} from \"react-i18next\";\r\n\r\nconst Page404 = () => {\r\n const { t} = useTranslation();\r\n\r\n return (\r\n
    \r\n
    \r\n

    404

    \r\n

    {t(\"pages.404.short_description\")} :(

    \r\n

    \r\n {t(\"pages.404.long_description\")}.\r\n

    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Page404;","import {useTranslation} from \"react-i18next\";\r\n\r\nconst Footer = () => {\r\n const { t} = useTranslation();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    2024 - Gašper Pintar

    \r\n \r\n {t(\"footer.terms\")}\r\n \r\n \r\n {t(\"footer.policy\")}\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Footer;","import {BrowserRouter, Route, Routes} from \"react-router-dom\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport \"./index.css\"\nimport Index from \"./components/Index\";\nimport Generator from \"./components/Generator\";\nimport LiveCodeEditor from \"./components/LiveCodeEditor\";\nimport Navigation from \"./components/navigation/Navigation\";\nimport Page404 from \"./components/pages/404\"\nimport Footer from \"./components/Footer\";\n\nconst App = () => {\n return (\n \n \n \n } />\n } />\n } />\n } />\n \n