{"version":3,"file":"static/js/main.720df031.js","mappings":"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,SAAU,YAAa,UAAW,UAAW,OAAQ,QAAS,QAAS,OAAQ,WAAY,SAAU,WAAY,UAAW,QAAS,OAAQ,OAAQ,SAAU,QAAS,WAAY,SAAU,QAAS,WAAY,SAAU,WAAY,OAAQ,WAAY,QAAS,QAAS,SAAU,UAAW,QAAS,OAAQ,UAAW,UAAW,SAAU,SAAU,SAAU,QAAS,WAAY,QAAS,OAAQ,QAAS,UAAW,UAAW,SAAU,QAAS,QAAS,QAAS,QAAS,SAAU,OAAQ,SAAU,OAAQ,YAAa,OAAQ,QAAS,UAAW,SAAU,QAAS,UAAW,QAAS,SAAU,WAAY,OAAQ,QAAS,UAAW,OAAQ,UAAW,SAAU,UAAW,UAAW,WAAY,QAAS,SAAU,QAAS,WAAY,SAAU,SAAU,SAAU,MAAO,UAAW,QAAS,UAAW,SAAU,SAAU,OAAQ,aAAc,UAAW,OAAQ,UAAW,OAAQ,SAAU,MAAO,QAAS,YAAa,YAAa,SAAU,SAAU,WAAY,UAAW,SAAU,OAAQ,SAAU,SAAU,SAAU,WAAY,SAAU,SAAU,YAAa,OAAQ,UAAW,OAAQ,UAAW,WAAY,UAAW,UAAW,SAAU,aAAc,WAAY,aAAc,WAAY,QAAS,QAAS,SAAU,QAAS,SAAU,UAAW,WAAY,SAAU,YAAa,QAAS,SAAU,SAAU,SAAU,UAAW,SAAU,SAAU,SAAU,OAAQ,MAAO,SAAU,QAAS,OAAQ,UAAW,UAAW,SAAU,QAAS,SAAU,UAAW,QAAS,SAAU,MAAO,UAAW,SAAU,SAAU,SAAU,SAAU,SAAU,UAAW,UAAW,QAAS,UAAW,UAAW,UAAW,UAAW,SAAU,SAAU,OAAQ,WAAY,UAAW,MAAO,QAAS,UAAW,OAAQ,OAAQ,UAAW,SAAU,OAAQ,WAAY,OAAQ,WAAY,UAAW,SAAU,UAAW,SAAU,UAAW,UAAW,SAAU,SAAU,SAAU,UAAW,WAAY,QAAS,QAAS,QAAS,YAAa,WAAY,OAAQ,UAAW,WAAY,QAAS,QAAS,OAAQ,SAAU,OAAQ,OAAQ,SAAU,SAAU,WAAY,SAAU,OAAQ,SAAU,QAAS,SAAU,WAAY,SAAU,QAAS,OAAQ,SAAU,QAAS,SAAU,UAAW,SAAU,SAAU,OAAQ,QAAS,OAAQ,SAAU,WAAY,QAAS,UAAW,QAAS,QAAS,SAAU,QAAS,YAAa,UAAW,SAAU,QAAS,QAAS,SAAU,SAAU,WAAY,QAAS,UAAW,WAAY,SAAU,UAAW,UAAW,SAAU,SAAU,YAAa,UAAW,SAAU,OAAQ,QAAS,SAAU,OAAQ,OAAQ,OAAQ,WAAY,SAAU,QAAS,SAAU,UAAW,UAAW,OAAQ,SAAU,UAAW,QAAS,SAAU,UAAW,UAAW,SAAU,OAAQ,QAAS,UAAW,SAAU,QAAS,SAAU,aAAc,WAAY,SAAU,UAAW,SAAU,OAAQ,UAAW,SAAU,SAAU,UAAW,SAAU,UAAW,UAAW,YAAa,QAAS,SAAU,WAAY,SAAU,OAAQ,SAAU,SAAU,UAAW,SAAU,SAAU,UAAW,UAAW,OAAQ,QAAS,QAAS,QAAS,UAAW,OAAQ,QAAS,UAAW,OAAQ,WAAY,WAAY,UAAW,UAAW,WAAY,QAAS,QAAS,QAAS,aAAc,SAAU,QAAS,UAAW,WAAY,OAAQ,QAAS,OAAQ,WAAY,QAAS,UAAW,QAAS,SAAU,QAAS,UAAW,WAAY,UAAW,UAAW,cAAe,QAAS,QAAS,SAAU,UAAW,aAAc,YAAa,SAAU,WAAY,QAAS,WAAY,MAAO,UAAW,QAAS,YAAa,WAAY,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,QAAS,QAAS,OAAQ,YAAa,OAAQ,SAAU,SAAU,SAAU,UAAW,SAAU,OAAQ,UAAW,SAAU,QAAS,WAAY,SAAU,SAAU,WAAY,SAAU,OAAQ,OAAQ,aAAc,QAAS,QAAS,SAAU,SAAU,SAAU,YAAa,UAAW,OAAQ,QAAS,YAAa,QAAS,WAAY,UAAW,OAAQ,SAAU,UAAW,UAAW,UAAW,YAAa,OAAQ,UAAW,UAEj7J,GAAM,CAAC,SAAU,WAAY,WAAY,UAAW,QAAS,SAAU,WAAY,UAAW,SAAU,SAAU,UAAW,WAAY,QAAS,YAAa,aAAc,SAAU,WAAY,WAAY,SAAU,WAAY,YAAa,WAAY,QAAS,SAAU,WAAY,UAAW,UAAW,WAAY,QAAS,YAAa,QAAS,WAAY,WAAY,QAAS,UAAW,aAAc,QAAS,UAAW,YAAa,QAAS,UAAW,UAAW,QAAS,SAAU,aAAc,UAAW,OAAQ,WAAY,WAAY,aAAc,WAAY,WAAY,QAAS,WAAY,aAAc,aAAc,QAAS,aAAc,YAAa,SAAU,SAAU,UAAW,YAAa,aAAc,UAAW,YAAa,YAAa,aAAc,UAAW,SAAU,QAAS,WAAY,YAAa,aAAc,QAAS,UAAW,YAAa,SAAU,UAAW,WAAY,UAAW,QAAS,UAAW,WAAY,UAAW,YAAa,UAAW,OAAQ,SAAU,QAAS,UAAW,YAAa,cAAe,eAAgB,WAAY,aAAc,QAAS,UAAW,WAAY,QAAS,UAAW,QAAS,QAAS,UAAW,QAAS,UAAW,WAAY,YAAa,aAAc,UAAW,YAAa,SAAU,UAAW,UAAW,OAAQ,WAAY,QAAS,UAAW,QAAS,OAAQ,SAAU,WAAY,QAAS,SAAU,YAAa,WAAY,UAAW,WAAY,aAAc,QAAS,UAAW,UAAW,OAAQ,SAAU,SAAU,UAAW,SAAU,WAAY,WAAY,QAAS,WAAY,SAAU,SAAU,SAAU,WAAY,SAAU,UAAW,QAAS,WAAY,UAAW,SAAU,SAAU,WAAY,QAAS,WAAY,WAAY,WAAY,QAAS,QAAS,UAAW,UAAW,QAAS,cAAe,WAAY,UAAW,QAAS,UAAW,SAAU,WAAY,UAAW,WAAY,OAAQ,WAAY,SAAU,YAAa,UAAW,cAAe,UAAW,QAAS,WAAY,SAAU,WAAY,QAAS,eAAgB,WAAY,WAAY,WAAY,UAAW,UAAW,WAAY,SAAU,cAAe,WAAY,aAAc,UAAW,WAAY,SAAU,UAAW,UAAW,UAAW,UAAW,WAAY,QAAS,SAAU,UAAW,SAAU,YAAa,QAAS,SAAU,WAAY,SAAU,UAAW,SAAU,aAAc,aAAc,WAAY,cAAe,WAAY,UAAW,WAAY,cAAe,YAAa,YAAa,WAAY,SAAU,aAAc,aAAc,cAAe,aAAc,SAAU,WAAY,UAAW,MAAO,SAAU,QAAS,UAAW,WAAY,OAAQ,QAAS,SAAU,SAAU,SAAU,YAAa,UAAW,YAAa,QAAS,WAAY,OAAQ,QAAS,UAAW,YAAa,cAAe,cAAe,YAAa,SAAU,WAAY,WAAY,YAAa,SAAU,WAAY,QAAS,UAAW,QAAS,WAAY,SAAU,UAAW,cAAe,aAAc,QAAS,WAAY,SAAU,SAAU,SAAU,SAAU,UAAW,UAAW,OAAQ,UAAW,SAAU,QAAS,WAAY,UAAW,QAAS,UAAW,SAAU,SAAU,WAAY,WAAY,SAAU,UAAW,OAAQ,UAAW,UAAW,QAAS,YAAa,WAAY,WAAY,QAAS,QAAS,UAAW,UAAW,UAAW,QAAS,UAAW,QAAS,UAAW,OAAQ,QAAS,aAAc,aAAc,QAAS,SAAU,YAAa,SAAU,QAAS,UAAW,aAAc,eAAgB,UAAW,WAAY,QAAS,WAAY,SAAU,QAAS,UAAW,aAAc,UAAW,WAAY,UAAW,YAAa,YAAa,UAAW,iBAAkB,kBAAmB,MAAO,YAAa,SAAU,WAAY,aAAc,OAAQ,OAAQ,QAAS,QAAS,SAAU,UAAW,OAAQ,UAAW,QAAS,UAAW,SAAU,WAAY,cAAe,SAAU,WAAY,YAAa,WAAY,YAAa,UAAW,WAAY,QAAS,UAAW,SAAU,QAAS,WAAY,UAAW,UAAW,UAAW,UAAW,UAAW,YAAa,WAAY,UAAW,UAAW,UAAW,OAAQ,aAAc,WAAY,QAAS,UAAW,UAAW,SAAU,UAAW,UAAW,OAAQ,MAAO,WAAY,UAAW,UAAW,UAAW,WAAY,QAAS,UAAW,UAAW,UAAW,QAAS,UAAW,UAAW,YAAa,OAAQ,aAAc,QAAS,aAAc,UAAW,QAAS,UAAW,QAAS,UAAW,aAAc,UAAW,UAAW,WAAY,QAAS,QAAS,UAAW,UAAW,QAAS,cAAe,aAAc,eAAgB,UAAW,YAAa,SAAU,WAAY,YAAa,SAAU,aAAc,QAAS,UAAW,SAAU,SAAU,UAAW,UAAW,WAAY,QAAS,OAAQ,aAAc,YAAa,YAAa,UAAW,UAAW,WAAY,WAAY,QAAS,QAAS,UAAW,cAAe,UAAW,WAAY,aAAc,QAAS,YAAa,QAAS,QAAS,UAAW,UAAW,UAAW,OAAQ,SAAU,QAAS,QAAS,YAAa,SAAU,aAAc,WAAY,QAAS,YAAa,YAAa,SAAU,WAAY,WAAY,YAAa,YAAa,QAAS,WAAY,YAAa,SAAU,cAAe,cAAe,cAAe,aAAc,aAAc,WAAY,SAAU,WAAY,SAAU,WAAY,UAAW,OAAQ,QAAS,WAAY,SAAU,SAAU,WAAY,WAAY,QAAS,UAAW,SAAU,WAAY,SAAU,YAAa,YAAa,UAAW,YAAa,SAAU,SAAU,SAAU,WAAY,QAAS,WAAY,KAAM,QAAS,KAAM,QAAS,WAAY,UAAW,YAAa,MAAO,UAAW,MAAO,QAAS,UAAW,SAAU,OAAQ,SAAU,OAAQ,cAAe,YAAa,SAAU,UAAW,YAAa,QAAS,QAAS,WAAY,WAAY,QAAS,QAAS,QAAS,KAAM,OAAQ,MAAO,SAAU,QAAS,OAAQ,OAAQ,WAAY,aAAc,WAAY,QAAS,QAAS,UAAW,YAAa,SAAU,QAAS,KAAM,WAAY,YAAa,SAAU,OAAQ,SAAU,YAAa,SAAU,QAAS,UAAW,YAAa,SAAU,UAAW,WAAY,QAAS,WAAY,UAAW,YAAa,YAAa,QAAS,UAAW,UAAW,WAAY,UAAW,WAAY,QAAS,UAAW,WAAY,WAAY,UAAW,WAAY,WAAY,YAAa,SAAU,YAAa,aAAc,UAAW,WAAY,WAAY,OAAQ,UAAW,UAAW,UAAW,WAAY,YAAa,SAAU,SAAU,WAAY,UAAW,WAAY,aAAc,UAAW,UAAW,QAAS,OAAQ,SAAU,SAAU,SAAU,YAAa,SAAU,WAAY,YAAa,YAAa,WAAY,YAAa,UAAW,QAAS,WAAY,SAAU,WAAY,QAAS,UAAW,YAAa,UAAW,UAAW,WAAY,SAAU,UAAW,QAAS,SAAU,OAAQ,OAAQ,UAAW,aAAc,QAAS,UAAW,UAAW,UAAW,SAAU,YAAa,SAAU,UAAW,YAAa,aAAc,WAAY,aAAc,SAAU,UAAW,SAAU,SAAU,aAAc,WAAY,YAAa,cAAe,QAAS,aAAc,UAAW,UAAW,YAAa,UAAW,UAAW,WAAY,OAAQ,SAAU,SAAU,UAAW,SAAU,WAAY,UAAW,QAAS,UAAW,WAAY,QAAS,UAAW,WAAY,QAAS,UAAW,UAAW,SAAU,SAAU,WAAY,UAAW,WAAY,OAAQ,OAAQ,QAAS,WAAY,UAAW,YAAa,OAAQ,SAAU,YAAa,WAAY,UAAW,QAAS,OAAQ,SAAU,QAAS,WAAY,OAAQ,UAAW,YAAa,UAAW,SAAU,WAAY,YAAa,WAAY,OAAQ,OAAQ,SAAU,SAAU,SAAU,WAAY,UAAW,QAAS,UAAW,WAAY,SAAU,YAAa,UAAW,WAAY,UAAW,YAAa,UAAW,WAAY,aAAc,UAAW,UAAW,WAAY,QAAS,UAAW,OAAQ,SAAU,UAAW,UAAW,SAAU,SAAU,QAAS,UAAW,WAAY,UAAW,YAAa,WAAY,aAAc,OAAQ,SAAU,UAAW,UAAW,QAAS,WAAY,QAAS,UAAW,WAAY,UAAW,UAAW,YAAa,QAAS,SAAU,WAAY,WAAY,WAAY,SAAU,UAAW,WAAY,aAAc,cAAe,WAAY,aAAc,QAAS,UAAW,UAAW,WAAY,OAAQ,QAAS,QAAS,UAAW,WAAY,QAAS,SAAU,YAAa,UAAW,QAAS,WAAY,aAAc,OAAQ,YAAa,WAAY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AAQ,MAAM,OAAO,QAAQ,WAAW,SAAS,QAAQ,QAAQ,QAAQ,WAAW,SAAS,QAAQ,SAAS,QAAQ,UAAU,QAAQ,YAAY,WAAW,QAAQ,OAAO,SAAS,aAAa,SAAS,UAAU,OAAO,OAAO,SAAS,SAAS,MAAM,WAAW,OAAO,WAAW,WAAW,UAAU,QAAQ,QAAQ,QAAQ,QAAQ,YAAY,SAAS,UAAU,SAAS,OAAO,SAAS,OAAO,QAAQ,MAAM,OAAO,UAAU,WAAW,WAAW,OAAO,SAAS,SAAS,QAAQ,SAAS,SAAS,QAAQ,SAAS,UAAU,SAAS,SAAS,UAAU,UAAU,SAAS,QAAQ,SAAS,SAAS,UAAU,QAAQ,WAAW,QAAQ,OAAO,SAAS,SAAS,UAAU,UAAU,UAAU,WAAW,WAAW,QAAQ,MAAM,OAAO,SAAS,MAAM,SAAS,OAAO,WAAW,OAAO,WAAW,UAAU,UAAU,OAAO,SAAS,OAAO,SAAS,UAAU,QAAQ,OAAO,QAAQ,QAAQ,OAAO,QAAQ,QAAQ,YAAY,UAAU,OAAO,QAAQ,OAAO,SAAS,SAAS,UAAU,UAAU,SAAS,UAAU,OAAO,OAAO,OAAO,QAAQ,QAAQ,OAAO,QAAQ,UAAU,QAAQ,QAAQ,OAAO,UAAU,UAAU,UAAU,SAAS,YAAY,SAAS,SAAS,OAAO,UAAU,aAAa,OAAO,UAAU,OAAO,OAAO,OAAO,QAAQ,QAAQ,YAAY,QAAQ,UAAU,SAAS,SAAS,QAAQ,YAAY,WAAW,OAAO,QAAQ,OAAO,UAAU,SAAS,WAAW,WAAW,QAAQ,SAAS,WAAW,QAAQ,UAAU,SAAS,SAAS,UAAU,WAAW,SAAS,UAAU,UAAU,OAAO,WAAW,WAAW,UAAU,UAAU,QAAQ,QAAQ,UAAU,SAAS,UAAU,WAAW,SAAS,QAAQ,UAAU,SAAS,SAAS,aAAa,OAAO,QAAQ,MAAM,YAAY,UAAU,SAAS,UAAU,OAAO,QAAQ,YAAY,aAAa,UAAU,SAAS,UAAU,UAAU,SAAS,SAAS,SAAS,SAAS,SAAS,WAAW,YAAY,OAAO,QAAQ,UAAU,WAAW,QAAQ,SAAS,QAAQ,UAAU,SAAS,WAAW,UAAU,aAAa,QAAQ,UAAU,SAAS,OAAO,UAAU,OAAO,YAAY,WAAW,OAAO,OAAO,QAAQ,YAAY,OAAO,SAAS,SAAS,WAAW,SAAS,QAAQ,SAAS,Y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,MAAM,CAAC,KAAO,kBAAkB,aAAe,MAAM,CAAC,KAAO,iBAAiB,aAAe,MAAM,CAAC,KAAO,QAAQ,aAAe,MAAM,CAAC,KAAO,SAAS,aAAe,MAAM,CAAC,KAAO,WAAW,aAAe,OAE1zU0B,SAAU,CAEd,GAAM,CACF,CAAC1X,KAAM,gCACP,CAACA,KAAM,iBACP,CAACA,KAAM,YACP,CAACA,KAAM,SACP,CAACA,KAAM,WACP,CAACA,KAAM,yBACP,CAACA,KAAM,aACP,CAACA,KAAM,eACP,CAACA,KAAM,oBACP,CAACA,KAAM,mBACP,CAACA,KAAM,WACP,CAACA,KAAM,mBACP,CAACA,KAAM,kBACP,CAACA,KAAM,mBACP,CAACA,KAAM,wBACP,CAACA,KAAM,cACP,CAACA,KAAM,iBACP,CAACA,KAAM,6BACP,CAACA,KAAM,oBACP,CAACA,KAAM,SACP,CAACA,KAAM,YACP,CAACA,KAAM,iBACP,CAACA,KAAM,iBACP,CAACA,KAAM,eACP,CAACA,KAAM,iBACP,CAACA,KAAM,oBACP,CAACA,KAAM,sBACP,CAACA,KAAM,iBACP,CAACA,KAAM,WACP,CAACA,KAAM,cACP,CAACA,KAAM,gBACP,CAACA,KAAM,SACP,CAACA,KAAM,cACP,CAACA,KAAM,SACP,CAACA,KAAM,UACP,CAACA,KAAM,yBACP,CAACA,KAAM,UACP,CAACA,KAAM,gBACP,CAACA,KAAM,4BACP,CAACA,KAAM,eACP,CAACA,KAAM,cACP,CAACA,KAAM,SACP,CAACA,KAAM,WACP,CAACA,KAAM,QACP,CAACA,KAAM,cACP,CAACA,KAAM,mBACP,CAACA,KAAM,kBACP,CAACA,KAAM,sBACP,CAACA,KAAM,SACP,CAACA,KAAM,WACP,CAACA,KAAM,UACP,CAACA,KAAM,aACP,CAACA,KAAM,cACP,CAACA,KAAM,iBACP,CAACA,KAAM,iBACP,CAACA,KAAM,aACP,CAACA,KAAM,QACP,CAACA,KAAM,iBACP,CAACA,KAAM,mBACP,CAACA,KAAM,QACP,CAACA,KAAM,cACP,CAACA,KAAM,aACP,CAACA,KAAM,kBACP,CAACA,KAAM,gBACP,CAACA,KAAM,WACP,CAACA,KAAM,SACP,CAACA,KAAM,UACP,CAACA,KAAM,cACP,CAACA,KAAM,iBACP,CAACA,KAAM,iBACP,CAACA,KAAM,iBACP,CAACA,KAAM,iBACP,CAACA,KAAM,SACP,CAACA,KAAM,WACP,CAACA,KAAM,2BACP,CAACA,KAAM,sBACP,CAACA,KAAM,kBACP,CAACA,KAAM,mBACP,CAACA,KAAM,oBACP,CAACA,KAAM,kBACP,CAACA,KAAM,cACP,CAACA,KAAM,mBACP,CAACA,KAAM,eACP,CAACA,KAAM,iBACP,CAACA,KAAM,qBACP,CAACA,KAAM,gBACP,CAACA,KAAM,YACP,CAACA,KAAM,SACP,CAACA,KAAM,cACP,CAACA,KAAM,SACP,CAACA,KAAM,WACP,CAACA,KAAM,wBACP,CAACA,KAAM,WACP,CAACA,KAAM,oBACP,CAACA,KAAM,cACP,CAACA,KAAM,UACP,CAACA,KAAM,YACP,CAACA,KAAM,mBACP,CAACA,KAAM,yBACP,CAACA,KAAM,mBACP,CAACA,KAAM,eACP,CAACA,KAAM,mBACP,CAACA,KAAM,iBACP,CAACA,KAAM,iBACP,CAACA,KAAM,oBACP,CAACA,KAAM,kBACP,CAACA,KAAM,eACP,CAACA,KAAM,WACP,CAACA,KAAM,UACP,CAACA,KAAM,WACP,CAACA,KAAM,sBACP,CAACA,KAAM,YACP,CAACA,KAAM,UACP,CAACA,KAAM,iBACP,CAACA,KAAM,cACP,CAACA,KAAM,gBACP,CAACA,KAAM,kBACP,CAACA,KAAM,kBACP,CAACA,KAAM,gBACP,CAACA,KAAM,iBACP,CAACA,KAAM,eACP,CAACA,KAAM,kBACP,CAACA,KAAM,iBACP,CAACA,KAAM,aACP,CAACA,KAAM,0BACP,CAACA,KAAM,aACP,CAACA,KAAM,kBACP,CAACA,KAAM,WACP,CAACA,KAAM,UAEf4X,UAAW,CACP,GAAM,CACF,CAAC5X,KAAM,UAAWiP,aAAc,MAChC,CAACjP,KAAM,mBAAoBiP,aAAc,MACzC,CAACjP,KAAM,WAAYiP,aAAc,MA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EzX,KAAM,SAAUiP,aAAc,KAAMwI,KAAM,IAC5C,CAAEzX,KAAM,gBAAiBiP,aAAc,KAAMwI,KAAM,KACnD,CAAEzX,KAAM,UAAWiP,aAAc,KAAMwI,KAAM,IAC7C,CAAEzX,KAAM,UAAWiP,aAAc,KAAMwI,KAAM,MAKrDvH,cAAe,CACZ,CAAClQ,KAAM,UACP,CAACA,KAAM,YACP,CAACA,KAAM,YACP,CAACA,KAAM,YACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,aACP,CAACA,KAAM,eACP,CAACA,KAAM,YACP,CAACA,KAAM,cACP,CAACA,KAAM,YACP,CAACA,KAAM,eACP,CAACA,KAAM,UACP,CAACA,KAAM,YACP,CAACA,KAAM,eACP,CAACA,KAAM,aACP,CAACA,KAAM,aACP,CAACA,KAAM,YACP,CAACA,KAAM,cACP,CAACA,KAAM,WACP,CAACA,KAAM,YACP,CAACA,KAAM,YACP,CAACA,KAAM,aACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,aACP,CAACA,KAAM,WACP,CAACA,KAAM,YACP,CAACA,KAAM,aACP,CAACA,KAAM,aACP,CAACA,KAAM,WACP,CAACA,KAAM,aACP,CAACA,KAAM,aACP,CAACA,KAAM,eACP,CAACA,KAAM,YACP,CAACA,KAAM,gBACP,CAACA,KAAM,mBACP,CAACA,KAAM,WACP,CAACA,KAAM,WACP,CAACA,KAAM,WACP,CAACA,KAAM,aACP,CAACA,KAAM,WACP,CAACA,KAAM,aACP,CAACA,KAAM,eACP,CAACA,KAAM,YACP,CAACA,KAAM,SACP,CAACA,KAAM,WACP,CAACA,KAAM,SACP,CAACA,KAAM,UACP,CAACA,KAAM,YACP,CAACA,KAAM,aACP,CAACA,KAAM,SACP,CAACA,KAAM,iBACP,CAACA,KAAM,cACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,sBACP,CAACA,KAAM,YACP,CAACA,KAAM,YACP,CAACA,KAAM,aACP,CAACA,KAAM,UACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,UACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,YACP,CAACA,KAAM,UACP,CAACA,KAAM,YACP,CAACA,KAAM,SACP,CAACA,KAAM,aACP,CAACA,KAAM,cACP,CAACA,KAAM,mBACP,CAACA,KAAM,WACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,iBACP,CAACA,KAAM,YACP,CAACA,KAAM,aACP,CAACA,KAAM,cACP,CAACA,KAAM,aACP,CAACA,KAAM,UACP,CAACA,KAAM,cACP,CAACA,KAAM,WACP,CAACA,KAAM,SACP,CAACA,KAAM,SACP,CAACA,KAAM,WACP,CAACA,KAAM,WACP,CAACA,KAAM,WACP,CAACA,KAAM,YACP,CAACA,KAAM,YACP,CAACA,KAAM,aACP,CAACA,KAAM,eACP,CAACA,KAAM,UACP,CAACA,KAAM,wBACP,CAACA,KAAM,WACP,CAACA,KAAM,UACP,CAACA,KAAM,WACP,CAACA,KAAM,WACP,CAACA,KAAM,YACP,CAACA,KAAM,YACP,CAACA,KAAM,UACP,CAACA,KAAM,mBACP,CAACA,KAAM,cACP,CAACA,KAAM,gBACP,CAACA,KAAM,cACP,CAACA,KAAM,YACP,CAACA,KAAM,YACP,CAACA,KAAM,aACP,CAACA,KAAM,YACP,CAACA,KAAM,UACP,CAACA,KAAM,WACP,CAACA,KAAM,eACP,CAACA,KAAM,eACP,CAACA,KAAM,aACP,CAACA,KAAM,WACP,CAACA,KAAM,eACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,aACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,YACP,CAACA,KAAM,cACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,YACP,CAACA,KAAM,iBACP,CAACA,KAAM,cACP,CAACA,KAAM,YACP,CAACA,KAAM,YACP,CAACA,KAAM,gBACP,CAACA,KAAM,kBACP,CAACA,KAAM,aACP,CAACA,KAAM,SACP,CAACA,KAAM,aACP,CAACA,KAAM,WACP,CAACA,KAAM,cACP,CAACA,KAAM,qBACP,CAACA,KAAM,cACP,CAACA,KAAM,YACP,CAACA,KAAM,UACP,CAACA,KAAM,cACP,CAACA,KAAM,UACP,CAACA,KAAM,UACP,CAACA,KAAM,WACP,CAACA,KAAM,WACP,CAACA,KAAM,gBACP,CAACA,KAAM,cACP,CAACA,KAAM,UACP,CAACA,KAAM,gBACP,CAACA,KAAM,cACP,CAACA,KAAM,SACP,CAACA,KAAM,YACP,CAACA,KAAM,cACP,CAACA,KAAM,WACP,CAACA,KAAM,eACP,CAACA,KAAM,kBACP,CAACA,KAAM,eACP,CAACA,KAAM,aACP,CAACA,KAAM,aACP,CAACA,KAAM,oBACP,CAACA,KAAM,UACP,CAACA,KAAM,iBACP,CAACA,KAAM,gBACP,CAACA,KAAM,WACP,CAACA,KAAM,cACP,CAACA,KAAM,YACP,CAACA,KAAM,aACP,CAACA,KAAM,SACP,CAACA,KAAM,WACP,CAACA,KAAM,SACP,CAACA,KAAM,UACP,CAACA,KAAM,aACP,CAACA,KAAM,SACP,CAACA,KAAM,aACP,CAACA,KAAM,QACP,CAACA,KAAM,YACP,CAACA,KAAM,UACP,CAACA,KAAM,6BACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,YACP,CAACA,KAAM,WACP,CAACA,KAAM,aACP,CAACA,KAAM,YACP,CAACA,KAAM,eACP,CAACA,KAAM,aACP,CAACA,KAAM,cACP,CAACA,KAAM,QACP,CAACA,KAAM,WACP,CAACA,KAAM,UACP,CAACA,KAAM,aAGVwf,iBAAkB,CAChB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAIFC,eAAgB,CACd,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WACA,cACA,WACA,cACA,SACA,SACA,SACA,SACA,WACA,cACA,WACA,cACA,WACA,cACA,SACA,SACA,SACA,SACA,SACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,UACA,aACA,UACA,aACA,QACA,QACA,UACA,aACA,QACA,QACA,QACA,QACA,QACA,UACA,aACA,UACA,aACA,QACA,QACA,iBACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,cACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,UACA,aACA,aACA,aACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,UACA,aACA,QACA,QACA,QACA,QACA,QACA,UACA,aACA,QACA,UACA,aACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,UACA,aACA,QACA,UACA,aACA,aACA,aACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,UACA,aACA,UACA,aACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,UACA,aACA,aACA,aACA,aACA,UACA,aACA,aACA,aACA,aACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,UACA,aACA,QACA,QACA,QACA,UACA,aACA,UACA,aACA,UACA,aACA,QACA,SACA,QACA,QACA,UACA,aACA,aACA,aACA,aACA,UACA,aACA,aACA,aACA,SAGFzH,iBAAkB,CACd,CAAChY,KAAM,UAAWiP,aAAc,MAChC,CAACjP,KAAM,SAAUiP,aAAc,MAC/B,CAACjP,KAAM,UAAWiP,aAAc,MAChC,CAACjP,KAAM,WAAYiP,aAAc,MACjC,CAACjP,KAAM,aAAciP,aAAc,MACnC,CAACjP,KAAM,WAAYiP,aAAc,MACjC,CAACjP,KAAM,cAAeiP,aAAc,MACpC,CAACjP,KAAM,WAAYiP,aAAc,MACjC,CAACjP,KAAM,uBAAwBiP,aAAc,MAC7C,CAACjP,KAAM,UAAWiP,aAAc,MAChC,CAACjP,KAAM,UAAWiP,aAAc,MAChC,CAACjP,KAAM,SAAUiP,aAAc,MAC/B,CAACjP,KAAM,QAASiP,aAAc,MAC9B,CAACjP,KAAM,WAAYiP,aAAc,MACjC,CAACjP,KAAM,UAAWiP,aAAc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AAa,OAAQ,YAAa,MAAO,YAAa,UAAW,SAAU,YAAa,gBAC7L,UAAW,YAAa,OAAQ,YAAa,YAAa,WAAY,aAAc,SAAU,gBAAiB,aAAc,QAAS,YAAa,WAAY,QAAS,aAAc,QAAS,QAAS,aACxM,YAAa,aAAc,SAAU,eAAgB,QAAS,uBAAwB,UAAW,MAAO,UAAW,UAAW,WAAY,YAAa,SAAU,UAAW,QAAS,aAAc,cAAe,SAClN,YAAa,OAAQ,OAAQ,YAAa,cAAe,WAAY,SAAU,YAAa,iBAAkB,aAAc,gBAAiB,WAAY,WAAY,eAAgB,cAAe,OAAQ,SAAU,eAI1N9S,QAAS,CAAE,YACX,aACA,oBACA,sBACA,0BACA,8BACA,2BACA,yBACA,gBACA,iCACA,+BACA,sCACA,oBACA,6BACA,uBACA,2BACA,+BACA,mBACA,mCACA,sBACA,aACA,qCACA,qBACA,mBACA,6BACA,aACA,8CACA,mCACA,iBACA,eACA,+BACA,yBACA,yBACA,oBACA,aACA,wBACA,yBACA,sCACA,iBACA,eACA,6BACA,gCACA,kCACA,2BACA,qBACA,yBACA,mBACA,yBACA,wCACA,2BACA,SACA,qBACA,oCACA,+CACA,kCACA,wCACA,2BACA,iCACA,iCACA,qCACA,mCACA,qCACA,gCACA,+BACA,aACA,yBACA,kBACA,mBACA,eACA,iCACA,uBACA,iCACA,6BACA,iBACA,eACA,uBACA,kBACA,qBACA,uBACA,sBACA,wCACA,0BACA,eACA,sBACA,kBACA,iCACA,4BACA,2BACA,0BACA,qBACA,eACA,gCACA,aACA,oBACA,2BACA,uBACA,gBACA,kCACA,mBACA,iBACA,aACA,6BACA,qBACA,cACA,sBACA,4BACA,mBACA,8BACA,qCACA,uBACA,wBACA,oBACA,uBACA,6BACA,4BACA,mBACA,kCACA,yBACA,wBACA,gCACA,yBACA,aACA,0BACA,wBACA,aACA,sBACA,8BACA,0BACA,qBACA,8BACA,4BACA,iBACA,sBACA,4BACA,iCACA,0BACA,qBACA,qBACA,4BACA,sBACA,kBACA,gCACA,uBACA,gCACA,oBACA,8BACA,+BACA,kBACA,2BACA,2BACA,wBACA,qBACA,gDACA,8BACA,2CACA,4BACA,gCACA,2BACA,aACA,+BACA,gBACA,oBACA,8BACA,uBACA,mBACA,qBACA,6BACA,8BACA,mBACA,kBACA,YACA,4BACA,iBACA,eACA,oCACA,eACA,kBACA,iBACA,sBACA,4BACA,uBACA,wBACA,8BACA,6BACA,sBACA,qCACA,aACA,cACA,aACA,6BACA,gBACA,eACA,2BACA,qBACA,iBACA,8BACA,uBACA,oCACA,iBACA,YACA,mBACA,WACA,gBACA,6BACA,wBACA,yBACA,gBACA,gBACA,gBACA,2BACA,wBACA,gCACA,yBACA,yCACA,0BACA,kBACA,2BACA,qBACA,mBACA,gBACA,aACA,eACA,iCACA,2BACA,4BACA,kCACA,4BACA,kBACA,uBACA,yBACA,2BACA,mCACA,eACA,yBACA,qCACA,4BACA,0BACA,YACA,iBACA,6BACA,iBACA,YACA,eACA,YACA,wBACA,iCACA,mBACA,mBACA,sBACA,0BACA,cACA,qBACA,kBACA,qBACA,4BACA,eACA,uBACA,qBACA,2BACA,yBACA,mBACA,uBACA,iBACA,qBACA,0BACA,6BACA,2BACA,2BACA,qBACA,0BACA,uBACA,4BACA,WACA,WACA,iCACA,oBACA,iBACA,sCACA,mBACA,wBACA,+BACA,UACA,cACA,sBACA,uBACA,kBACA,2BACA,wBACA,oBACA,sCACA,cACA,uBACA,WACA,sBACA,uBACA,gCACA,wBACA,kBACA,mBACA,uBACA,iCACA,0BACA,0BACA,wBACA,cACA,sBACA,oCACA,sBACA,eACA,2BACA,iCACA,sCACA,8BACA,qBACA,qBACA,8CACA,uBACA,yBACA,6CACA,4BACA,2BACA,sBACA,mCACA,wBACA,4BACA,cACA,mCACA,sBACA,iCACA,mBACA,kCACA,iCACA,oBACA,cACA,uCACA,4BACA,6BACA,yBACA,qBACA,gBACA,aACA,WACA,2BACA,kBACA,gBACA,gBACA,2BACA,sBACA,sBACA,iBACA,0BACA,sCACA,oBACA,sCACA,oBACA,WACA,eACA,mBACA,sCACA,eACA,4BACA,+BACA,2BACA,oBACA,6BACA,+BACA,cACA,+BACA,wBACA,eACA,sBACA,2BACA,8BACA,mBACA,iBACA,4BACA,oCACA,2BACA,uBACA,qCACA,oCACA,gCACA,mCACA,2BACA,6BACA,0BACA,yBACA,0BACA,sBACA,iBACA,sBACA,qBACA,kBACA,uBACA,uCACA,8BACA,eACA,eACA,yCACA,cACA,oCACA,WACA,oCACA,kBACA,mBACA,oBACA,gBACA,qBACA,sBACA,0BACA,iBACA,8BACA,sBACA,gCACA,kBACA,sBACA,+BACA,qBACA,sBACA,gCACA,6BACA,iBACA,eACA,qBACA,cACA,6BACA,eACA,kBACA,6BACA,2BACA,kBACA,yBACA,kBACA,oBACA,oBACA,2BACA,sCACA,oBACA,0BACA,sCACA,kCACA,wCACA,0CACA,uCACA,cACA,gBACA,sBACA,aACA,oCACA,iBACA,0BACA,qBACA,uBACA,gCACA,qBACA,sBACA,uCACA,oBACA,wBACA,2BACA,UACA,kBACA,mBACA,sBACA,cACA,kBACA,yBACA,UACA,gBACA,6BACA,6BACA,0BACA,yBACA,eACA,qBACA,eACA,uBACA,aACA,mCACA,6CACA,2BACA,mCACA,kBACA,uBACA,gBACA,mBACA,kBACA,uBACA,gCACA,qBACA,4BACA,8BACA,qBACA,6BACA,eACA,+BACA,wBACA,qBACA,qBACA,8BACA,oBACA,gCACA,gCACA,wBACA,wBACA,sBACA,2BACA,2BACA,4BACA,yBACA,gCACA,iBACA,wBACA,kBACA,gBACA,2BACA,2BACA,qBACA,8BACA,kCACA,0BACA,gCACA,iCACA,oBACA,wBACA,cACA,cACA,iCACA,qBACA,cACA,oCACA,qBACA,mBACA,mCACA,yBACA,iCACA,uBACA,yBACA,uBACA,2BACA,2BACA,iBACA,+BACA,2BACA,oBACA,8BACA,2BACA,wBACA,kBACA,eACA,uBACA,8BACA,aACA,uBACA,yBACA,wBACA,gBACA,4BACA,qBACA,yBACA,qBACA,sBACA,mCACA,gBACA,iBACA,yBACA,wBACA,uBACA,qBACA,sBACA,0CACA,4BACA,uBACA,2DACA,qCACA,kCACA,qCACA,kBACA,+BACA,mCACA,yBACA,wBACA,6BACA,4BACA,YACA,WACA,eACA,mBACA,gBACA,+BACA,aACA,gCACA,6BACA,6BACA,+BACA,2BACA,uBACA,QACA,mBACA,aACA,cACA,UACA,0BACA,4BACA,mBACA,oBACA,gBACA,kBACA,yBACA,sBACA,mCACA,aACA,eACA,eACA,gBACA,wBACA,YACA,cACA,qBACA,0BACA,qBACA,gBACA,qBACA,0BACA,aACA,gCACA,6BACA,cACA,YACA,aACA,gCACA,wBACA,uBACA,cACA,yBACA,mBACA,gCACA,cACA,uBACA,iBACA,6BACA,6BACA,4BACA,qBACA,eACA,6BACA,cACA,kBACA,qBACA,6BACA,2BACA,eACA,aACA,+BACA,iBACA,gBACA,qBACA,+BACA,wBACA,4BACA,wBACA,sBACA,8BACA,6BACA,oCACA,oBACA,wBACA,kCACA,oCACA,oBACA,0BACA,yBACA,eACA,cACA,gBACA,qBACA,WACA,cACA,2BACA,eACA,0BACA,eACA,iCACA,uBACA,2BACA,sBACA,0BACA,uBACA,4BACA,4BACA,4BACA,wBACA,uCACA,4BACA,oBACA,kBACA,eACA,uBACA,eACA,yBACA,eACA,0BACA,gCACA,gCACA,gCACA,0BACA,+BACA,mBACA,mCACA,4BACA,0BACA,oBACA,gCACA,sBACA,oBACA,wBACA,aACA,uBACA,gBACA,yBACA,cACA,iCACA,eACA,0BACA,uBACA,kBACA,kBACA,WACA,eACA,mBACA,mBACA,oBACA,sBACA,cACA,6BACA,cACA,WACA,kBACA,gBACA,yBACA,cACA,uBACA,kBACA,mBACA,kCACA,yBACA,iBACA,gBACA,kBACA,qBACA,gBACA,aACA,8BACA,mBACA,iBACA,2BACA,oBACA,qBACA,6BACA,2BACA,uBACA,uBACA,2BACA,kBACA,0BACA,uBACA,+BACA,cACA,iBACA,cACA,wBACA,sBACA,mBACA,yBACA,mBACA,wBACA,qBACA,yBACA,qBACA,gBACA,uBACA,eACA,WACA,uBACA,gBACA,qBACA,+BACA,yBACA,gBACA,cACA,iBACA,0CACA,qBACA,6BACA,gBACA,iBACA,mCACA,oCACA,yBACA,iCACA,eACA,4BACA,wBACA,4BACA,cACA,qBACA,gBACA,iCACA,0BACA,0BACA,aACA,gBACA,eACA,wBACA,kBACA,4BACA,gBACA,wBACA,+BACA,eACA,oBACA,+BACA,0BACA,eACA,aACA,yBACA,wBACA,iCACA,cACA,8BACA,6BACA,eACA,iBACA,oBACA,oBACA,oBACA,wBACA,eACA,wBACA,kBACA,kCACA,qBACA,iBACA,gCACA,sBACA,kBACA,yBACA,yBACA,qCACA,sBACA,UACA,WACA,kBACA,eACA,uBACA,kBACA,kBACA,8BACA,4BACA,sBACA,wBACA,qBACA,wBACA,iCACA,4BACA,qBACA,wBACA,kCACA,kCACA,cACA,wBACA,gCACA,gCACA,qBACA,YACA,4BACA,kBACA,uBACA,kBACA,kBACA,2BACA,kBACA,UACA,4BACA,sBACA,mCACA,0BACA,sBACA,+BACA,6BACA,iBACA,aACA,YACA,uBACA,6BACA,sBACA,gCACA,2BACA,2BACA,kBACA,oBACA,uBACA,uBACA,cACA,gCACA,sBACA,iBACA,wBACA,wBACA,sBACA,uBACA,aACA,gCACA,oBACA,gCACA,wBACA,4BACA,yBACA,0BACA,sBACA,4BACA,wBACA,sBACA,mBACA,wBACA,yBACA,6BACA,yBACA,sBACA,wBACA,+BACA,wBACA,kCACA,eACA,6BACA,4BACA,QACA,4BACA,kBACA,aACA,aACA,wBACA,qBACA,0BACA,kBACA,mBACA,wBAGA8D,cAAgB,CACZ,OAAc,CAAC,MAAO,MAAO,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAO,MAAO,QAC/E,OAAc,CAAC,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO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,OAAU,GACV,OAAS,EACT,KAAQ,mBACR,IAAO,CACL,iBAGJ,CACE,KAAQ,wBACR,KAAQ,MACR,OAAU,GACV,OAAS,EACT,KAAQ,sBACR,IAAO,CACL,cACA,iBACA,eACA,uBAGJ,CACE,KAAQ,0BACR,KAAQ,MACR,OAAU,GACV,OAAS,EACT,KAAQ,6CACR,IAAO,CACL,mBAGJ,CACE,KAAQ,sBACR,KAAQ,MACR,OAAU,GACV,OAAS,EACT,KAAQ,yBACR,IAAO,CACL,aACA,oBACA,kBACA,sBAGJ,CACE,KAAQ,sBACR,KAAQ,MACR,OAAU,GACV,OAAS,EACT,KAAQ,oBACR,IAAO,CACL,kBAKdvN,WAAY,CACR,gBACA,gBACA,aACA,oBACA,QACA,UACA,sBACA,uBACA,yBACA,gBACA,uBACA,qBACA,QACA,yBACA,yBACA,yBACA,iBACA,iBACA,YACA,YACA,eACA,SACA,aACA,iBACA,UACA,SACA,QACA,SACA,sBACA,mBACA,YACA,0BACA,sBACA,0BACA,cACA,SACA,mBACA,sBACA,qBACA,mBACA,mBACA,mBACA,QACA,sBACA,mBACA,eACA,mBACA,0BACA,0BACA,OACA,oBACA,UACA,qBACA,wBACA,eACA,kBACA,uBACA,eACA,iBACA,iBACA,8BACA,sBACA,qBACA,cACA,mBACA,oBACA,kCACA,0BACA,0BACA,uBACA,sBACA,wBACA,oBACA,oBACA,+BACA,wBACA,uBACA,aACA,6BACA,yBACA,qBACA,aACA,oBACA,sBACA,gBACA,iBACA,kBACA,4BACA,2BACA,2BACA,eACA,SACA,wBACA,mBACA,sBACA,UACA,WACA,kBACA,oBACA,YACA,sBACA,mBACA,YACA,kBACA,WACA,uBACA,oBACA,YACA,yBACA,SACA,sBACA,sBACA,2BACA,uBACA,qBACA,mBACA,sBACA,eACA,wBACA,yBACA,yBACA,2BACA,iBACA,YACA,sBACA,qBACA,sBACA,qBACA,mBACA,yBACA,uBACA,oBACA,gBACA,4BACA,oBACA,oBACA,YACA,cACA,sBACA,qBACA,mBACA,kBACA,kBACA,2BACA,uBACA,sBACA,uBACA,kBACA,qBACA,mBACA,cACA,kBACA,YACA,kBACA,uBACA,gBACA,uBACA,oBACA,eACA,mBACA,iBACA,0BACA,sBACA,mBACA,+BACA,kBACA,iBACA,iBACA,yBACA,gBACA,0BACA,WACA,sBACA,sBACA,uBACA,eACA,qBACA,qBACA,6BACA,sBACA,wBACA,uBACA,cACA,eACA,oBACA,qBACA,eACA,qBACA,qBACA,UACA,wBACA,aACA,mBACA,kBACA,0BACA,wBACA,iBACA,iBACA,sBACA,0BACA,SACA,yBACA,8BACA,kBACA,kBACA,kBACA,sBACA,eACA,WACA,oBACA,sBACA,wBACA,wBACA,mBACA,yBACA,mBACA,mBACA,sBACA,qBACA,oBACA,gBACA,sBACA,WACA,sBACA,cACA,mBACA,oBACA,qBACA,0BACA,eACA,4BACA,gBACA,iBACA,cACA,0BACA,sBACA,WACA,wBACA,qBACA,mBACA,sBACA,WACA,mBACA,qBACA,eACA,wBACA,yBACA,gBACA,iBACA,qBACA,+BACA,qBACA,cACA,qCACA,0BACA,YACA,cACA,kBACA,qBACA,uBACA,qBACA,aACA,eACA,qBACA,YACA,sBACA,YACA,oBACA,aACA,oBACA,sBACA,aACA,oBACA,uBACA,oBACA,YACA,iBACA,uBACA,oBACA,mBACA,WACA,kBACA,mBACA,sBACA,qBACA,uBACA,qBACA,YACA,mBACA,kBACA,kBACA,mBACA,uBACA,yBACA,gBACA,YACA,mBACA,sBACA,+BACA,2BACA,4BACA,oBACA,oBACA,qBACA,wBACA,YACA,2BACA,6BACA,mBACA,2BACA,qBACA,WACA,sBACA,qBACA,uBACA,eACA,kBACA,iBACA,gBACA,0BACA,uBACA,gBACA,kBACA,sBACA,wBACA,oBACA,qBACA,sBACA,oBACA,oBACA,iBACA,SACA,kBACA,yBACA,kBACA,mBACA,gBACA,cACA,qBACA,oBACA,yBACA,iBACA,yBACA,4BACA,4BACA,qBACA,gBACA,uBACA,eAC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AK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KA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e,GACT4d,GAAQnC,IAAI,8CAGP/P,CAAA,CCz1BT,SAAS46C,GAAYxoC,GAAA,IAMfmH,EACAvZ,EACA1L,EACA/E,EAeA2iB,EAvBAob,EAASv6B,KAAKK,MACdwc,EAAS,IAAI3gB,MAAM,IACnB6B,EAAU,IAAI7B,MAAM,IACpB4gB,EAAU,IAAI5gB,MAAM,IACpBirB,EAAW,IAAIjrB,MAAM,IAMrBse,EAAU,IAAIte,MAAM,OACpB2qB,EAAW,IAAI3qB,MAAM,OACrBqjB,EAAkB,IAAIrjB,MAAM,IAC5B+d,EAAK,IAAI/d,MAAM,IACf6Q,EAAU,GACVvL,EAAU,EACVub,EAAU,EAEVqC,EAAM,IAAIljB,MAAM,IAChBqN,EAAM,IAAIrN,MAAM,IAChBqvC,EAAM,IAAIrvC,MAAM,IAChB0hB,EAAM,IAAI1hB,MAAM,KAChBqpB,EAAgB,IAAIrpB,MAAM,MAG1Bu9C,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,IAGEnwC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEowC,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7D10C,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEE20C,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,KAGE58C,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEg9C,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DQ,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEj1B,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,cAuKOzoB,EAAkBwiB,EAASmH,GAAA,QAC9BvZ,EAAY,EACZ1L,EAAe,EACf/E,EAAK,IAAIN,MACJijB,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAIob,EAAI,EAAGA,GAAKlb,EAAQF,GAAIob,IAC/B/9B,EAAGgqB,EAAUjlB,IAAiB,GAC9B/E,EAAGgqB,EAAUjlB,IAAe,GAAK0L,EACjCzQ,EAAGgqB,EAAUjlB,IAAe,GAAK4d,EACjC5d,IACA0L,IAEFA,GAAa,SAERzQ,CAAA,UA2DAy9C,EAAU56B,GAAA,QACbmH,EAAQnH,EAAG,GACXpS,EAASoS,EAAG,GAAK,EACdpS,GAAU,GACXuZ,EAAS,GAAKvZ,IAChBzL,GAAW,GAAKub,GAElB9P,MACA8P,EACc,IACG,KAAXvb,GACFikB,EAAU,KACVA,EAAU,IAEVA,EAAUjkB,GAEZub,EAAU,EACVvb,EAAU,YAKPikB,EAAUpG,GAEjBtS,EAAQ3L,KAAKie,EAAA,UAGNxB,EAAUwB,GACjBoG,EAAWpG,GAAS,EAAK,KACzBoG,EAAkB,IAARpG,EAAA,UAyOHg8B,EAAUh8B,EAAKmH,EAAOvZ,EAAI1L,EAAM/E,GAAA,QAGnC2iB,EAFAob,EAAM/9B,EAAK,GACXqgB,EAAYrgB,EAAK,KAKjBuB,EAAA,SA5OashB,EAAMmH,GAAA,IACnBvZ,EAAI1L,EAAI/E,EAAI2iB,EAAIob,EAAI1d,EAAI9e,EAAI+e,EAG5BqK,EAkHA3M,EAnHAqM,EAAU,MAITM,EAAI,EAAGA,EAFH,IAEaA,EAAG,CACvBla,EAAKoS,EAAKwH,GACVtlB,EAAK8d,EAAKwH,EAAU,GACpBrqB,EAAK6iB,EAAKwH,EAAU,GACpB1H,EAAKE,EAAKwH,EAAU,GACpB0T,EAAKlb,EAAKwH,EAAU,GACpBhK,EAAKwC,EAAKwH,EAAU,GACpB9oB,EAAKshB,EAAKwH,EAAU,OAGhB5M,EAAOhN,GAFX6P,EAAKuC,EAAKwH,EAAU,IAGhB9Z,EAAOE,EAAK6P,EACZtb,EAAOD,EAAKxD,EACZgf,EAAOxb,EAAKxD,EACZqhB,EAAO5iB,EAAKqgB,EACZtT,EAAO/M,EAAKqgB,EACZ0uB,EAAOpsB,EAAKob,EACZ3c,EAAOuB,EAAKob,EAGZhV,EAAQtL,EAAOsxB,EACfkO,EAAQx/B,EAAOsxB,EACfjiC,EAAQ9H,EAAO4d,EACfs6B,EAAQl4C,EAAO4d,EAEnBC,EAAKwH,GAAWtB,EAAQjc,EACxB+V,EAAKwH,EAAU,GAAKtB,EAAQjc,EAAA,IAExBtE,EAAuB,YAAjB00C,EAAQD,GAClBp6B,EAAKwH,EAAU,GAAK4yB,EAAQz0C,EAC5Bqa,EAAKwH,EAAU,GAAK4yB,EAAQz0C,EAAA,IAQxB20C,EAAuB,aAL3Bp0B,EAAQ3H,EAAOrU,IAEfmwC,EAAQ38B,EAAOhQ,IAIXhQ,EAAK,SAAYwoB,EAAQo0B,EACzBI,EAAK,YAAcL,EAAQC,EAC3BY,EAAa,YAPjBjxC,EAAQC,EAAOwT,GASXuI,EAAMvY,EAAOwtC,EACb19C,EAAMkQ,EAAOwtC,EAEjBl7B,EAAKwH,EAAU,GAAKhqB,EAAME,EAC1BsiB,EAAKwH,EAAU,GAAKhqB,EAAME,EAC1BsiB,EAAKwH,EAAU,GAAKvB,EAAMy0B,EAC1B16B,EAAKwH,EAAU,GAAKvB,EAAMy0B,EAE1BlzB,GAAW,MAIbA,EAAU,EACLM,EAAI,EAAGA,EA1DH,IA0DaA,EAAG,CACvBla,EAAKoS,EAAKwH,GACVtlB,EAAK8d,EAAKwH,EAAU,GACpBrqB,EAAK6iB,EAAKwH,EAAU,IACpB1H,EAAKE,EAAKwH,EAAU,IACpB0T,EAAKlb,EAAKwH,EAAU,IACpBhK,EAAKwC,EAAKwH,EAAU,IACpB9oB,EAAKshB,EAAKwH,EAAU,QAGhBozB,EAAShtC,GAFb6P,EAAKuC,EAAKwH,EAAU,KAGhBpB,EAASxY,EAAK6P,EACde,EAAStc,EAAKxD,EACds9C,EAAS95C,EAAKxD,EACdmhB,EAAS1iB,EAAKqgB,EACdyiC,EAAS9iD,EAAKqgB,EACd4iC,EAAStgC,EAAKob,EACdrW,EAAS/E,EAAKob,EAGd+f,EAAUL,EAASwF,EACnB/R,EAAUuM,EAASwF,EACnBI,EAAUhiC,EAASqB,EACnB6gC,EAAUliC,EAASqB,EAEvBG,EAAKwH,GAAWyzB,EAAUuF,EAC1BxgC,EAAKwH,EAAU,IAAMyzB,EAAUuF,EAAA,IAE3BG,EAA6B,YAArBD,EAAUrS,GACtBruB,EAAKwH,EAAU,IAAM6mB,EAAUsS,EAC/B3gC,EAAKwH,EAAU,IAAM6mB,EAAUsS,EAAA,IAQ3BC,EAA6B,aALjC3F,EAAUp2B,EAASo7B,IAEnBS,EAAU1E,EAAS51B,IAIf06B,EAAO,SAAY7F,EAAU2F,EAC7BK,EAAO,YAAcP,EAAUE,EAC/BY,EAAiB,YAPrBhB,EAAUP,EAASjE,GASf0F,EAAQt7B,EAASo7B,EACjBI,EAAQx7B,EAASo7B,EAErBxhC,EAAKwH,EAAU,IAAMo6B,EAAQd,EAC7B9gC,EAAKwH,EAAU,IAAMo6B,EAAQd,EAC7B9gC,EAAKwH,EAAU,GAAKk6B,EAAQT,EAC5BjhC,EAAKwH,EAAU,IAAMk6B,EAAQT,EAE7Bz5B,GAAA,KAKGM,EAAI,EAAGA,EAjHF,KAiHaA,EAErB3M,EAAY6E,EAAK8H,GAAKX,EAAMW,GAC5B5H,EAAgB4H,GACd3M,EAAY,EAAOA,EAAY,GAAO,EAAKA,EAAY,GAAO,SAG3D+E,CAAA,CA8GH,CAAmBF,EAAKmH,GAEnB1J,EAAI,EAAGA,EAHN,KAGiBA,EACzB7C,EAAGw/B,EAAO38B,IAAM/e,EAAO+e,GAAA,IAErBqK,EAAOlN,EAAG,GAAKhN,EACnBA,EAAKgN,EAAG,GAEI,GAARkN,EACF8yB,EAAU14C,EAAK,KAGf04C,EAAU14C,EAAKslB,EADf1H,EAAM,MAAQgI,KAEd8yB,EAAUz/B,EAAQ2E,KAAA,QAGhBpS,EAAU,GACPA,EAAU,GAAoB,GAAfkN,EAAGlN,IACvBA,IAAA,GAGa,GAAXA,EAAA,OACFktC,EAAU1f,GACHttB,EAAA,QAGLzL,EADAub,EAAI,EAEDA,GAAKhQ,GAAS,SACfqS,EAAWrC,EACC,GAAT9C,EAAG8C,IAAWA,GAAKhQ,KACtBgQ,EAAA,IAEAxT,EAAWwT,EAAIqC,EAAA,GACf7V,GApCI,GAoCa,CACnB/H,EAAM+H,GAAY,MACb,IAAIgiC,EAAW,EAAGA,GAAY/pC,IAAO+pC,EACxC0O,EAAUp9B,GACZtT,GAAsB,GAExB4V,EAAM,MAAQlF,EAAG8C,GACjBk9B,EAAUz9C,GAAM+M,GAAY,GAAKsd,EAAS1H,KAC1C86B,EAAUz/B,EAAQ2E,IAClBpC,GAAA,QA5CQ,IA8CNhQ,GACFktC,EAAU1f,GAELttB,CAAA,UA8HAiS,EAAWG,GAClBA,EAAUrf,KAAKjB,IAAIiB,KAAKhB,IAAIqgB,EAAS,GAAI,KAErCF,GAAkBE,IAAA,SA1qBCA,GAAA,QACnBmH,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,IAGOvZ,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvB1L,EAAIg5B,GAAQ/T,EAAIvZ,GAAKoS,EAAK,IAAM,KACpC9d,EAAIvB,KAAKjB,IAAIiB,KAAKhB,IAAIuC,EAAG,GAAI,KAC7Bsb,EAAO48B,EAAOxsC,IAAM1L,CAAA,SAElB/E,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,IAEO2iB,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvB3E,EAAI+f,GAAQ/9B,EAAK2iB,GAAKE,EAAK,IAAM,KACrC7E,EAAIxa,KAAKjB,IAAIiB,KAAKhB,IAAIwb,EAAG,GAAI,KAC7Bzc,EAAQ07C,EAAOt6B,IAAM3E,CAAA,SAEnBqM,EAAO,CACT,EACA,YACA,YACA,YACA,EACA,WACA,SACA,YAEEtH,EAAI,EACCtF,EAAM,EAAGA,EAAM,EAAGA,IAAA,IACpB,IAAIlN,EAAM,EAAGA,EAAM,EAAGA,IACzB+P,EAAQyC,GAAK,GAAO1C,EAAO48B,EAAOl6B,IAAMsH,EAAK5M,GAAO4M,EAAK9Z,GAAO,GAChEoa,EAAS5H,GAAK,GAAOxhB,EAAQ07C,EAAOl6B,IAAMsH,EAAK5M,GAAO4M,EAAK9Z,GAAO,GAClEwS,GAAA,CA2gBkB,CAGpBF,EAAU,GAAKrf,KAAKK,MAAM,IAAOgf,GAAWrf,KAAKK,MAAM,IAAgB,EAAVgf,IAG/DF,EAAiBE,EAAA,MA5Hdg1D,OAAS,SACZh1D,EACAF,GAEIA,GAASD,EAAWC,GAGxBpS,EAAU,IAAI7Q,MACdsF,EAAU,EACVub,EAAU,EAGVc,EAAU,OAhLVA,EAAU,OACVA,EAAU,IACV4H,EAAU,IACVA,EAAU,IACVA,EAAU,IACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACV5H,EAAU,GACVA,EAAU,GACV4H,EAAU,GACVA,EAAU,cAsBV5H,EAAU,OACVA,EAAU,KACV4H,EAAU,OACL,IAAIpG,EAAI,EAAGA,EAAI,GAAIA,IACtBoG,EAAU5I,EAAOwC,IAEnBoG,EAAU,OACL,IAAIe,EAAI,EAAGA,EAAI,GAAIA,IACtBf,EAAU1nB,EAAQyoB,GAAA,CA9BV,GAqKV,SAlKiBnH,EAAOmH,GACxB3I,EAAU,OACVA,EAAU,IACV4H,EAAU,GACV5H,EAAU2I,GACV3I,EAAUwB,GACVoG,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GAmJV,CACUpG,EAAMjb,MAAOib,EAAMrO,QAAA,WAnI7B6M,EAAU,OACVA,EAAU,KAEV4H,EAAU,OACL,IAAIpG,EAAI,EAAGA,EAAI,GAAIA,IACtBoG,EAAUnc,EAAyB+V,EAAI,QAEpC,IAAImH,EAAI,EAAGA,GAAK,GAAIA,IACvBf,EAAUi0B,EAAwBlzB,IAGpCf,EAAU,QACL,IAAIxY,EAAI,EAAGA,EAAI,GAAIA,IACtBwY,EAAUzgB,EAAyBiI,EAAI,QAEpC,IAAI1L,EAAI,EAAGA,GAAK,IAAKA,IACxBkkB,EAAUk0B,EAAwBp4C,IAGpCkkB,EAAU,OACL,IAAIjpB,EAAI,EAAGA,EAAI,GAAIA,IACtBipB,EAAU1oB,EAA2BP,EAAI,QAEtC,IAAI2iB,EAAI,EAAGA,GAAK,GAAIA,IACvBsG,EAAUs0B,EAA0B56B,IAGtCsG,EAAU,QACL,IAAI8U,EAAI,EAAGA,EAAI,GAAIA,IACtB9U,EAAU80B,EAA2BhgB,EAAI,QAEtC,IAAI1d,EAAI,EAAGA,GAAK,IAAKA,IACxB4I,EAAUH,EAA0BzI,GAAA,CAmGT,GA9F7BgB,EAAU,OACVA,EAAU,IACV4H,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,IACVA,EAAU,GACVA,EAAU,IACVA,EAAU,OAwFN8U,EAAM,EACN/f,EAAM,EACNqM,EAAM,EAEVrlB,EAAU,EACVub,EAAU,OAELs3D,OAAOC,YAAc,mBAQtB/0D,EAEAtF,EAAG2D,EAAG67B,EACN58C,EAAOyiD,EAAGG,EAAKv7B,EAAKo2B,EATpB5M,EAAYruB,EAAMpe,KAClB4+C,EAAQxgC,EAAMjb,MACd27C,EAAS1gC,EAAMrO,OAEfgvC,EAAoB,EAARH,EAGdI,EAAI,EAGCA,EAAIF,GAAQ,KACjBxgC,EAAI,EACGA,EAAIygC,GAAW,KACpBnjD,EAAQmjD,EAAYC,EAAI1gC,EACxBkgC,GAAO,EACPv7B,EAAM,EAEDo2B,EAAM,EAAGA,EAAM,GAAIA,IAGtBgF,EAAIziD,GAFJqnB,EAAMo2B,GAAO,GAEK0F,GADlBP,EAAkB,GAAL,EAANnF,IAGH2F,EAAI/7B,GAAO67B,IAEbT,GAAKU,GAAaC,EAAI,EAAI/7B,EAAM67B,IAG9BxgC,EAAIkgC,GAAOO,IAEbV,GAAK//B,EAAIkgC,EAAMO,EAAY,GAG7B/lC,EAAIyzB,EAAU4R,KACd1hC,EAAI8vB,EAAU4R,KACd7F,EAAI/L,EAAU4R,KASdlgC,EAAIk7B,IACA/0B,EAActL,GACdsL,EAAe3H,EAAI,KAAQ,GAC3B2H,EAAek0B,EAAI,KAAQ,IAC3B,IACF,IACFlwC,EAAI+wC,IACA/0B,EAAetL,EAAI,KAAQ,GAC3BsL,EAAe3H,EAAI,MAAS,GAC5B2H,EAAek0B,EAAI,MAAS,IAC5B,IACF,IACFlO,EAAI+O,IACA/0B,EAAetL,EAAI,MAAS,GAC5BsL,EAAe3H,EAAI,MAAS,GAC5B2H,EAAek0B,EAAI,MAAS,IAC5B,IACF,IAGJlf,EAAM8gB,EAAUj8B,EAAKtC,EAASyd,EAAK/T,EAAQjlB,GAC3CiZ,EAAM6gC,EAAU9xC,EAAK4d,EAAU3M,EAAKvN,EAASzQ,GAC7CqqB,EAAMw0B,EAAU9P,EAAKpkB,EAAUN,EAAK5Z,EAASzQ,GAC7C+iB,GAAK,GAEP0gC,GAAK,KAMHljC,GAAW,EAAG,KACZojC,EAAW,GACfA,EAAS,GAAKpjC,EAAU,EACxBojC,EAAS,IAAM,GAAMpjC,EAAU,GAAM,EACrCk9B,EAAUkG,EAAA,QAGZtiC,EAAU,OAEH,IAAI2nB,WAAWz4B,EAAA,EAiBtBsS,EAAUA,GAAW,sBAxIjBA,EAAOc,OAAOC,aACToG,EAAI,EAAGA,EAAI,IAAKA,IAEvB5I,EAAI4I,GAAKnH,EAAKmH,EAAA,CAqIK,GA/frBA,EAAS3pB,EACPyM,EACAowC,GAEFzsC,EAAUpQ,EACRE,EACAg9C,GAEFx4C,EAAS1E,EACPmI,EACA20C,GAEFn9C,EAAUK,EACR09C,EACAj1B,GAAA,mBAKEjG,EAAU,EACVmH,EAAU,EACLvZ,EAAM,EAAGA,GAAO,GAAIA,IAAO,KAE7B,IAAI1L,EAAK8d,EAAS9d,EAAKilB,EAASjlB,IACnCslB,EAAS,MAAQtlB,GAAM0L,EACvBuN,EAAQ,MAAQjZ,GAAM,GACtBiZ,EAAQ,MAAQjZ,GAAI,GAAK0L,EACzBuN,EAAQ,MAAQjZ,GAAI,GAAKA,EAAA,IAGtB,IAAI/E,IAAUgqB,EAAU,GAAIhqB,IAAU6iB,EAAS7iB,IAClDqqB,EAAS,MAAQrqB,GAASyQ,EAC1BuN,EAAQ,MAAQhe,GAAS,GACzBge,EAAQ,MAAQhe,GAAO,GAAKyQ,EAC5BuN,EAAQ,MAAQhe,GAAO,GAAKgqB,EAAU,EAAIhqB,EAE5C6iB,IAAY,EACZmH,IAAY,GAvBZ,GAqfF,eAzdK,IAAInH,EAAI,EAAGA,EAAI,IAAKA,IACvBkG,EAAclG,GAAK,MAAQA,EAC3BkG,EAAelG,EAAI,KAAQ,GAAK,MAAQA,EACxCkG,EAAelG,EAAI,KAAQ,GAAK,KAAOA,EAAI,MAC3CkG,EAAelG,EAAI,KAAQ,IAAM,MAAQA,EACzCkG,EAAelG,EAAI,MAAS,IAAM,MAAQA,EAC1CkG,EAAelG,EAAI,MAAS,GAAK,MAAQA,EAAI,QAC7CkG,EAAelG,EAAI,MAAS,IAAM,MAAQA,EAC1CkG,EAAelG,EAAI,MAAS,IAAM,KAAOA,CAAA,CAid3C,GAGAH,EAAWG,EAAA,CC9sCf,SAASyoC,GAAWzoC,EAAQmH,GAAA,QACrBxc,IAAM,OACNvH,OAAS4c,EAAA,KACTk1D,MAAQ,IAAIC,SAASn1D,EAAO5c,QAAA,KAC5BgyE,gBAAkBjuD,EAAA,KAClBkuD,WAAA,EAAY,KACZC,KACHx0D,OAAOC,aAAaxkB,KAAK6G,OAAO,IAAM0d,OAAOC,aAAaxkB,KAAK6G,OAAO,SACnEuH,KAAO,GACqD,IAA7D,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,MAAMxG,QAAQ5H,KAAK+4E,MACpD,MAAM,IAAI54E,MAAM,yBACb64E,cAAA,KACAC,UAAA,CCrBP,SAAS9sB,GAAY1oC,GAAA,SAsCVmH,EAAEnH,GAAA,IACJA,EAAG,MAAMtjB,MAAM,sBAEbkR,EAAGoS,EAAGmH,EAAGvZ,GAAA,IACX,IAAI1L,EAAI,EAAG,EAAIA,EAAGA,IAAA,GAAS8d,EAAEmH,EAAIjlB,IAAM0L,EAAEjQ,WAAWuE,GAAI,OAAO,UAC7D,UAEAA,EAAE8d,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IAChB,IAAI2iB,EAAI,EAAGA,EAAI3iB,EAAG2iB,IAAKE,EAAEmH,EAAIrH,GAAKlS,EAAE1L,EAAI4d,EAAA,UAEtC3iB,EAAE6iB,EAAGmH,EAAGvZ,EAAG1L,GAAA,IACb,IAAI/E,EAAI,EAAGA,EAAI+E,EAAG/E,IAAK6iB,EAAEmH,EAAIhqB,GAAKyQ,CAAA,UAEhCkS,EAAEE,GAAA,OACF,IAAI0E,WAAW1E,EAAA,UAEfkb,EAAGlb,EAAGmH,GAAA,IACR,IAAIvZ,EAAI,GAAI1L,EAAI,EAAGA,EAAI8d,EAAG9d,IAAK0L,EAAE7L,KAAK,IAAIolB,GAAA,OACxCvZ,CAAA,UAcA4P,EAAGwC,EAAGmH,GAAA,IAQTvZ,EAAI,mBAPCoS,EAAEpS,EAAG1L,EAAG/E,GAAA,IACV,IAAI2iB,EAAI3iB,EAAE+E,GAAIg5B,EAAK,EAAGA,EAAKpb,IAC9BlS,EAAE7L,KAAK5E,EAAED,OAASgF,EAAI,EAAI,GAAK,IAAIilB,KAC/BhqB,EAAED,OAASgF,EAAI,IAFcg5B,IAGjClb,EAAEpS,EAAEstB,GAAKh5B,EAAI,EAAG/E,EAAA,CAGZ,CACNyQ,EAAG,EAAGoS,GACDpS,CAAA,KAELlP,EAAe,eACbshB,EAAOzjB,KAAA,SAIFmC,EAAEshB,EAAGmH,GAAA,IACP,IAAIvZ,EAAK,GAAMuZ,EAAI,IAAQ,EAAGnH,EAAIpS,GAAKA,KAAO,SAC5CA,GAAKoS,EAAKpS,EAAI,GAAMA,EAAIoS,CAAA,UAExBvC,EAAEuC,EAAGpS,EAAG1L,EAAG/E,EAAG2iB,GACrBqH,IAAIhqB,EAAI+E,IAAA,GACM8d,EAAEpS,GAAZzQ,GAAK+E,IAAgB4d,QAClB,EAAI3iB,EAAA,UA+EJ2qB,EAAE9H,EAAGpS,EAAG1L,EAAG/E,EAAG+9B,GAAA,GACrB/T,EAAE,MAAQ+T,GACN,KAAOA,EAAG,IAAI1d,EAAIsC,EAAE,UACnB,GAAiB,OAAXtC,EAAIsC,EAAEob,IAAiB,OAAO,kBAhFhClb,EAAGpS,EAAG1L,EAAG/E,EAAG+9B,EAAG1d,GAAA,IAGtBsK,EACAN,EAHEtH,EAAItS,EACNgN,EAAI,GAAK1Y,EAGTwL,EAAIoS,EAAE,IACN3d,EAAI2d,EAAE,QACRqH,EAAE,GAAK+T,GACP/T,EAAE,MAAQhqB,GACVgqB,EAAE,MAAQnH,GACVmH,EAAE,EAAIjlB,GACDslB,EAAI,EAAGA,EAAI0T,IAAK1T,EAAG,IAClB,GAAKrqB,EAAEqqB,GAAI,OAAO,IACpB9Z,EAAEvQ,EAAEqqB,GAAA,IAEJ9Z,EAAE,IAAMwtB,EAAG,OAAO,MACtB/4B,EAAE,GAAK,EACF2lB,EAAI,EAAG,GAAKA,IAAKA,EAAG,IACnBpa,EAAEoa,GAAK,GAAKA,EAAG,OAAO,EAC1B3lB,EAAE2lB,EAAI,GAAK3lB,EAAE2lB,GAAKpa,EAAEoa,EAAA,KAEjBN,EAAI,EAAGA,EAAI0T,IAAK1T,EAAIM,EAAI3qB,EAAEqqB,GAAK,EAAIrqB,EAAEqqB,KAAOhK,EAAErb,EAAE2lB,MAAQN,GAAA,GACzD,GAAKrlB,EAAE,IACT,OAAQhF,EAAI,IAAIge,GAASzN,EAAI,EAAKvQ,EAAEmI,MAAQkY,EAAE,GAAKC,EAAEuC,EAAGE,EAAG,EAAGtF,EAAGzd,GAAIyd,EAAA,IAMrE8C,EALEqC,GAAK,EACP7V,EAAI0Q,EAAI,EACRsxB,EAAI,EACJ3tB,EAAI,EACJ2H,EAAI,EAEJk0B,EAAI,GAAKl4C,EAAA,IACXslB,EAAI,EACJM,EAAI,EACCoT,EAAI,EAAGpT,GAAK5lB,IAAK4lB,EAAGoT,IAAM,EAAG,IAEhC3c,GADA2H,IAAM,EAGF,GADJA,GAAKxY,EAAEoa,IACI,OAAO,OACX,EAAIpa,EAAEoa,KAAMpa,EAAEoa,IAClB3qB,EAAI,IAAIge,GACJzN,EAAIoa,EACN3qB,EAAEmI,MAAQkY,EAAEgK,KACb/J,EAAEuC,EAAGE,EAAIgsB,EAAGhR,EAAGkf,EAAGj9C,GACjB+uC,EAAIxtC,EAAEwtC,EAAGpkB,EAAA,KAEhBA,EAAI5lB,EAAI,EACHg5B,EAAI,EAAG,IAAMpT,IAAKA,EAAGoT,IAAM,EAAG,IAEjC3c,GADA2H,IAAM,EAGF,GADJA,GAAKxY,EAAEoa,IACI,OAAO,OACX,EAAIpa,EAAEoa,KAAMpa,EAAEoa,GAAI,IACvB3qB,EAAI,IAAIge,GACH+wB,EAAIhiC,IAAM6V,EAAG,KAChBG,GAAKk6B,EAEA18B,EAAI,IADTqC,EAAI+H,GACe5lB,EAAI,GAAK6d,KAEtB,IADJrC,GAAKhQ,EAAEqS,QAELA,EACFrC,IAAM,EAIR9C,GADAw/B,EAAI,IADJ18B,EAAIqC,EAAI7d,GAIR8d,EAAEpS,GADFmS,EAAImsB,EAAIhiC,IACCwD,EAAIgQ,EAAIxb,EACjB8d,EAAEpS,EAAImS,GAAGza,MAAQ4a,EAAItS,EAAImS,CAAA,CAE3B5iB,EAAEuQ,EAAIoa,EAAI5lB,EACV/E,EAAEmI,MAAQkY,EAAEgK,KACZ/J,EAAEuC,EAAGE,GAAKgsB,GAAKhqC,GAAIg5B,EAAGkf,EAAGj9C,GACzB+uC,EAAIxtC,EAAEwtC,EAAGpkB,EAAA,SAGNvJ,GAAK,EAAIpc,EAAE,IAAM,EAAI,EAAIyY,CAAA,CAKS,CAChCoF,EAAGpS,EAAG1L,EAAG/E,EAAG+9B,EAAG1d,EAAA,UAEjBrC,IAAA,KACF7V,MAAQ/I,KAAKmR,EAAI,WAEf8Z,IAAA,KACFliB,MAAQ/I,KAAKmR,EAAI,WAEfwS,IAAA,KACF0gC,EAAI1lB,EAAG,EAAG/f,GAAA,KACVqlC,EAAI1gC,EAAE,QACN21D,GAAKl5E,KAAKm5E,GAAKn5E,KAAKo5E,GAAKp5E,KAAKq5E,GAAK,OACnCC,GAAK36C,EAAG+7B,GAAIzvC,EAAA,UAEV5M,EAAGoF,EAAGpS,EAAG1L,EAAG/E,GACnBgqB,EAAE,MAAQnH,GACVmH,EAAE,MAAQvZ,GACVuZ,EAAE,WAAahqB,GACf6iB,EAAE81D,GAAK,IACP91D,EAAE06B,EAAI,EACN16B,EAAED,GAAK,EACPC,EAAE+1D,GAAK,EACP/1D,EAAEg2D,GAAKpoE,EACPoS,EAAEi2D,GAAK/zE,EACP8d,EAAEk2D,GAAKtoE,EACPoS,EAAEm2D,GAAKj0E,EAAI/E,EACX6iB,EAAEo2D,GAAK,GAAKj5E,EAAI+E,EAAI/E,EAAI,EAAI,EAAI+E,EAChCyD,EAAGqa,EAAA,UAEItS,EAAGsS,EAAGmH,GAAA,IACR,IAAIvZ,EAAI,EAAG,EAAIuZ,KAAOvZ,GAAKlQ,EAAEsiB,EAAG,MAAQmH,EAAA,OACtCvZ,CAAA,UAEAzL,EAAG6d,EAAGmH,GAAA,IACTvZ,EAAIF,EAAGsS,EAAGmH,GAAA,OACPmzB,EAAEt6B,IAAMpS,EAAIA,CAAA,UAEZ8P,EAAGsC,EAAGpS,EAAG1L,EAAG/E,GAAA,IACf2iB,EACFob,EAAI,MACN/T,EAAE,MAAQnH,GACVmH,EAAE,MAAQvZ,GACVuZ,EAAE,WAAahqB,GACf6iB,EAAEq2D,GAAKl5E,EACP6iB,EAAEs2D,GAAK,EACPt2D,EAAEvC,EAAI,EACNuC,EAAE8H,EAAI,IACF3qB,IAAMA,EAAI,GACT2iB,EAAI,EAAGA,EAAI3iB,IAAK2iB,EAAGob,GAAKttB,EAAE1L,EAAI4d,IAAO,EAAIA,EAC9CE,EAAEs2D,GAAKp7C,EACPlb,EAAEu2D,GAAKp5E,EACP6iB,EAAEg2D,GAAKpoE,EACPoS,EAAEi2D,GAAK/zE,CAAA,UAEA6d,EAAGC,GAAA,KACH,GAAKA,EAAEvC,GAAKuC,EAAEu2D,GAAKv2D,EAAEq2D,IACzBr2D,EAAEs2D,MAAQ,EACRt2D,EAAEs2D,IAAOt2D,EAAEg2D,GAAGh2D,EAAEi2D,GAAKj2D,EAAEu2D,KAAQC,GAAK,IAAQ,IAC3Cx2D,EAAEu2D,GACHv2D,EAAEvC,GAAK,EACZ28B,EAAGp6B,KAAQA,EAAE8H,EAAI,EAAK9H,EAAEvC,EAAI,YAErBvT,EAAE8V,EAAGpS,GAAA,GACZuZ,EAAE,GAAKvZ,IACFoS,EAAE8H,GAAKla,GAAKspD,GAAI,KACfh1D,EAAIgkB,EAAGlG,GAAK2/B,GAAG/xC,GAAA,OACnBoS,EAAEvC,GAAK7P,EACPmS,EAAGC,GACI9d,CAAA,QAET8d,EAAE8H,EAAI,EACE9H,EAAEvC,EAAI,WAEPyuB,IAAA,KACFnsB,EAAIxjB,KAAKu5E,GAAKv5E,KAAKm+C,EAAI,OACvBs7B,GAAK,QACLC,GAAK,OACLC,GAAK,QACLC,GAAK,OACLC,GAAK,QACLL,GAAK,WAEHx3D,IAAA,KACF+3D,GAAK,OACLN,GAAK,QACLluD,EAAIvrB,KAAKkhB,EAAIlhB,KAAKg6E,GAAKh6E,KAAK85E,GAAK95E,KAAK05E,GAAK,WAEzC/vD,EAAGlG,GAAA,OACFA,EAAEs2D,MAAQt2D,EAAEvC,EAAK+4D,GAAK,KAAS,WAEhCp8B,EAAGp6B,GAAA,OACVmH,EAAEnH,EAAEu2D,IAAMv2D,EAAEq2D,IACLr2D,EAAE8H,GAAM9H,EAAEu2D,IAAMv2D,EAAEq2D,IAAMr2D,EAAEvC,EAAI+4D,EAAA,UAE9BvsE,EAAG+V,EAAGmH,GACbnH,EAAEvC,EAAI0J,EACNnH,EAAE8H,EAAIsyB,EAAGp6B,EAAA,UAEFq6B,EAAGr6B,GACVA,EAAEvC,GAAKg5D,KAAOtvD,EAAEnH,EAAEvC,GAAKg5D,IAAK12D,EAAGC,GAAA,UAExBra,EAAGqa,GACVmH,EAAE,MAAQnH,GAAK,MAAQA,EAAEg2D,IACzBh2D,EAAEi2D,GAAKj2D,EAAEo2D,IACHp2D,EAAE06B,GAAK16B,EAAEg2D,GAAGh2D,EAAEi2D,MAASj2D,EAAE06B,GAAK,KAAQ,EAAK16B,EAAED,GAAK,IACnDoH,EAAE,MAAQnH,GAAK,MAAQA,EAAEg2D,IAC1Bh2D,EAAEi2D,GAAKj2D,EAAEm2D,IACHn2D,EAAED,GAAK,EAAKC,EAAE06B,EAAI16B,EAAEg2D,GAAGh2D,EAAEi2D,MAASj2D,EAAE06B,GAAK,GAC3C16B,EAAE+1D,GACD/1D,EAAED,EAAI,GACLC,EAAE06B,IAAM,EAAK16B,EAAED,GAAK,EAAKC,EAAE+1D,GAAK,aAEnCz7B,EAAEt6B,GAAA,OACFtS,EAAGsS,EAAG,YAENtiB,EAAEsiB,EAAGmH,GAAA,IACRvZ,EAAIoS,EAAE81D,GAAA,EACN91D,EAAED,GAAKpa,EAAGqa,GAAA,IACV9d,EAAI8d,EAAED,EACR5iB,EAAKyQ,EAAIuZ,IAAO,EAChBrH,GAAKE,EAAE06B,IAAMx4C,EAAI/E,GAAK,MACxB2iB,GAAMlS,GAAKzQ,EAAK6iB,EAAE06B,GAAOv9C,EAAI,GAAM+E,IAAO,GAAO0L,EAAIzQ,EAAI,EACzD+E,EAAI0L,EACCzQ,EAAI,EAAG,KAAO+E,GAAM/E,GAAK,EAAK+E,IAAM,SACzCA,EAAI,EAAK/E,EAAIu5E,GAAGx0E,GAChB8d,EAAED,GAAK7d,EACP8d,EAAE81D,IAAMloE,GAAK1L,GAAK,EACX4d,CAAA,UAEA46B,EAAG16B,EAAGmH,EAAGvZ,GAChBoS,EAAEmH,EAAI,GAAMvZ,GAAK,GAAM,IACvBoS,EAAEmH,EAAI,GAAMvZ,GAAK,GAAM,IACvBoS,EAAEmH,EAAI,GAAMvZ,GAAK,EAAK,IACtBoS,EAAEmH,EAAI,GAAMvZ,GAAK,EAAK,aAEfstC,EAAGl7B,EAAGmH,GAAA,OACLnH,EAAEmH,EAAI,IAAM,EAAMnH,EAAEmH,EAAI,IAAM,WAE/BlB,EAAGjG,EAAGmH,GAAA,OACN+zB,EAAGl7B,EAAGmH,GAAMnH,EAAEmH,EAAI,IAAM,YAExB3pB,EAAGwiB,EAAGmH,GAAA,OACN+zB,EAAGl7B,EAAGmH,GAAM+zB,EAAGl7B,EAAGmH,EAAI,IAAM,YAE5ByzB,EAAG56B,EAAGpS,GAAA,IACT1L,EAAI,GAAK0L,EAAA,OACbuZ,EAAE,MAAQnH,GACVmH,EAAE,EAAIvZ,GACNoS,EAAEwhC,EAAI1hC,EAAE5d,GACJ,MAAQ8d,EAAEwhC,EAAU,GACxBxhC,EAAE22D,GAAK,GAAK/oE,EACZoS,EAAE42D,GAAKhpE,EACA,YAEAwY,EAAGpG,EAAGpS,GACbuZ,EAAE,MAAQnH,GACVmH,EAAE,MAAQvZ,GACVuZ,EAAEnH,EAAE42D,IAAMhpE,EAAEgpE,IACZ10E,EAAE0L,EAAE4zC,EAAG,EAAGxhC,EAAEwhC,EAAG,EAAG,GAAK5zC,EAAEgpE,GAAA,UAElBp4D,IAAA,KACFgjC,EAAI,QACJo1B,GAAKr6E,KAAKo6E,GAAK,WAEb36B,EAAGh8B,EAAGpS,EAAG1L,EAAG/E,GACnBgqB,EAAE,MAAQjlB,GACVilB,EAAE,MAAQhqB,GAAA,IACN2iB,EAAI5d,EAAE,GACRg5B,EAAI/9B,EAAE,aACH2iB,IAAMA,GAAKE,EAAIkb,EAAIttB,EAAI,GAAKA,GAAA,GAC5BstB,IAAMA,GAAKttB,EAAIkS,EAAIE,EAAI,GAAKA,GAC7B,GAAKF,GAAK,GAAKob,EAAU,GAC7Bh5B,EAAE,GAAK4d,EACP3iB,EAAE,GAAK+9B,EACA,YAEArb,EAAGG,EAAGmH,GAAA,OACLnH,GAAK,GAAKmH,GAAK,IAAOA,CAAA,UAEvB84B,EAAGjgC,EAAGmH,GAAA,QAEF,WAAJnH,IAAuB,WAAJmH,KAAqB,EAAK,cACxC,SAAJnH,IAAqB,SAAJmH,KAAmB,EAAK,YAC/C,WAGKi5B,EAAEj5B,EAAGvZ,GACZoS,EAAKpS,GAAK,SAASA,EAAG1L,EAAG/E,EAAG2iB,EAAGob,EAAG1d,EAAG9e,GAAA,IAC/B+e,EAAA,IACCA,EAAI,EAAGA,EAAIyd,IAAKzd,EAAG,KAClBqK,EAAI9H,EAAKmH,GAAG3J,EAAE9e,EAAI+e,EAAI,GAAItgB,EAAG2iB,EAAIrC,GACrCD,EAAE9e,EAAI+e,GAAKwiC,EAAGryC,EAAE1L,EAAIub,GAAIqK,EAAA,YAIrBjD,IAAA,KACFgyD,GAAKt6E,KAAKu6E,GAAKv6E,KAAKw6E,GAAK,WAEvB97B,EAAGj7B,EAAGmH,GAAA,QACO,YAATnH,EAAImH,MAAqB,IAAMnH,EAAImH,KAAQ,WAE/CknB,EAAGruB,GAAA,OACN,GAAKA,GAAK,IAAMA,EAAUA,EAC1B,EAAIA,EAAU,EACd,IAAMA,EAAU,oBAEbwgC,EAAGxgC,EAAGmH,GAAA,OACNknB,EAAGruB,GAAMA,EAAImH,EAAI,IAAQ,aAEzBu5B,EAAG1gC,EAAGmH,EAAGvZ,GAAA,OACTjN,KAAK8jC,IAAItd,EAAIvZ,GAAKjN,KAAK8jC,IAAIzkB,EAAIpS,EAAA,UAE/B+yC,EAAG3gC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,GAAA,IAC5Bh5B,EAAI4d,EAAEob,EAAI,GACLttB,EAAI,EAAGA,EAAIzQ,IAAKyQ,EAAGkS,EAAEob,EAAIttB,GAAK1L,EAAI+9C,EAAGjgC,EAAEmH,EAAIvZ,GAAI1L,EAAA,UAE7C0+C,EAAG5gC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IAClB2iB,EAAA,IACCA,EAAI,EAAGA,EAAIlS,IAAKkS,EAAG,KAClBob,EAAIlb,EAAEmH,EAAIrH,GACZtC,EAAK0d,GAAK,EAAK,IAGfx8B,EAAQ,UADRA,GADAA,EAAQ,SAAJw8B,KACM1d,GAAK,IAAMA,IAEvBtb,EAAE/E,EAAI2iB,IAAW,WAAJob,GAAkBx8B,IAAO,YAGjCoiD,EAAG9gC,EAAGmH,GACbA,EAAE4vD,GAAM/2D,GAAK,EAAK,IAClBmH,EAAE2vD,GAAM92D,GAAK,EAAK,IAClBmH,EAAE0vD,GAAM72D,GAAK,GAAM,aAEZihC,EAAGjhC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,GAAA,IACrBob,EAAA,IACCA,EAAI,EAAGA,EAAIh5B,IAAKg5B,EAAG,KAClB1d,EAAI2J,EAAEvZ,EAAIstB,GACZx8B,EAAI8e,IAAM,EAEVC,EAAID,EAEJsK,EAAQ,KADRA,GAFAA,EAAItK,IAAM,MAEEwC,EAAE+2D,IAAM,IAAO,KAAQr4E,GAAK,IAAO,MAAS,IAIxD+e,EAAQ,KADRA,GADAA,IAAYuC,EAAE82D,IAAM,IAAO,KAAQp4E,GAAK,IAAO,MAAS,KAC5CshB,EAAE62D,IAAM,IAAO,KAAQ/uD,GAAK,IAAO,MAAS,IAE1D3qB,EAAE2iB,EAAIob,IAAU,WAAJ1d,IAAmBsK,GAAK,IAAMrK,CAAA,WAGrC+jC,EAAGr6B,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,GACtBE,EAAKpS,GAAK,SAASoS,EAAGmH,EAAGvZ,EAAG1L,EAAGg5B,EAAG1d,EAAG9e,EAAG+e,EAAGqK,GAAA,IACpC5lB,EAAIxD,EAAGwD,EAAIub,IAAKvb,EAAA,IACdxD,EAAI,EAAGA,EAAIopB,IAAKppB,EAAGw8B,EAAE1d,KAAOsC,EAAElS,EAAEzQ,EAAE6iB,EAAEmH,OAAA,EAE7CnH,EAAKmH,GAAK,SAASA,EAAGvZ,EAAGstB,EAAG1d,EAAG9e,EAAG+e,EAAGqK,GAAA,IAC/B3M,EAAI,GAAKgM,EAAEpH,EACbyH,EAAIL,EAAE6vD,GACN92D,EAAIiH,EAAEu6B,EAAE,GACR9mC,EAAIuM,EAAE+kB,EAAA,GACJ,EAAI/wB,EACN,IAAKgM,GAAK,GAAKA,EAAEpH,GAAK,EAAGnF,GAAK,GAAKO,GAAK,EAAGvN,EAAIstB,IAAKttB,EAAG,KAEnDF,EADEvL,EAAI,MAEHuL,EAAI,EAAGA,EAAI8Z,IAAK9Z,EACnBA,EAAIyZ,IAAMhlB,EAAIhF,EAAEqgB,EAAE9e,OAAS+e,EAAEqK,KAAOhI,EAAEI,EAAE/d,EAAIyY,IAAOzY,IAAMgZ,CAAA,MAE1D6E,EAAK,eAAiB9d,GAAGsb,EAAG9e,EAAGwhB,EAAGtF,EAAG6C,EAAGqK,EAAGla,EAAGstB,EAAG1T,EAAA,WAGjDk6B,EAAG1hC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IACjByQ,EAAIuZ,EAAIvZ,EAAGuZ,EAAIvZ,GAAK,KACnBkS,EAAIE,EAAEmH,KACVjlB,EAAE/E,KAAQ2iB,GAAK,GAAM,IACrB5d,EAAE/E,KAAQ2iB,GAAK,EAAK,IACpB5d,EAAE/E,KAAQ2iB,GAAK,EAAK,cAGf8hC,EAAG5hC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IACjByQ,EAAIuZ,EAAIvZ,EAAGuZ,EAAIvZ,GAAK,KACnBkS,EAAIE,EAAEmH,KACVjlB,EAAE/E,KAAQ2iB,GAAK,GAAM,IACrB5d,EAAE/E,KAAQ2iB,GAAK,EAAK,IACpB5d,EAAE/E,KAAQ2iB,GAAK,EAAK,IACpB5d,EAAE/E,KAAQ2iB,GAAK,GAAM,cAGhBgiC,EAAG9hC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IACjByQ,EAAIuZ,EAAIvZ,EAAGuZ,EAAIvZ,GAAK,KAErBkS,GADEob,EAAIlb,EAAEmH,OACG,GAAM,IAAS+T,GAAK,GAAM,GACrCA,EAAMA,GAAK,EAAK,IAASA,GAAK,GAAM,GACtCh5B,EAAE/E,KAAO2iB,EACT5d,EAAE/E,KAAO+9B,CAAA,WAGJkmB,EAAGphC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IACjByQ,EAAIuZ,EAAIvZ,EAAGuZ,EAAIvZ,GAAK,KAErBkS,GADEob,EAAIlb,EAAEmH,OACG,GAAM,IAAS+T,GAAK,GAAM,EACrCA,EAAMA,GAAK,EAAK,IAASA,GAAK,EAAK,GACrCh5B,EAAE/E,KAAO2iB,EACT5d,EAAE/E,KAAO+9B,CAAA,WAGJ8mB,GAAGhiC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IACjByQ,EAAIuZ,EAAIvZ,EAAGuZ,EAAIvZ,GAAK,KACnBkS,EAAIE,EAAEmH,KACVjlB,EAAE/E,KAAQ2iB,GAAK,EAAK,IACpB5d,EAAE/E,KAAQ2iB,GAAK,EAAK,IACpB5d,EAAE/E,KAAQ2iB,GAAK,GAAM,cAGhBkrB,GAAGhrB,EAAGmH,EAAGvZ,EAAGzQ,EAAG2iB,EAAGob,GAAA,GACrB,GAAKA,EACP,IAAKttB,EAAIuZ,EAAIvZ,EAAGuZ,EAAIvZ,GAEhB8sC,EACEv9C,IAFH+9B,EAAIlb,EAAEmH,MAGC,IAAM,GACN+T,EAAE,IAAM,EAAK,MACbA,EAAE,IAAM,EAAK,SACdA,EAAE,IAAM,MACT,GAEHpb,GAAK,QACP5d,EAAE/E,EAAG2iB,EAAGE,EAAGmH,EAAGvZ,EAAA,UAEZs0C,GAAG/6B,EAAGvZ,GACboS,EAAKpS,GAAG,GAAKoS,EAAKmH,EAAI,KACtBnH,EAAKpS,GAAG,GAAKoS,EAAKmH,EAAI,KACtBnH,EAAKpS,GAAG,GAAKoS,EAAKmH,EAAI,KACtBnH,EAAKpS,GAAG,GAAKoS,EAAKmH,EAAI,KACtBnH,EAAKpS,GAAG,GAAKoS,EAAKmH,EAAI,KACtBnH,EAAKpS,GAAG,GAAKoS,EAAKmH,EAAI,KACtBnH,EAAKpS,GAAG,GAAKoS,EAAKmH,EAAI,KACtBnH,EAAKpS,GAAG,GAAKoS,EAAKmH,EAAI,KACtBnH,EAAKpS,GAAG,GAAKoS,EAAKmH,EAAI,KACtBnH,EAAKpS,GAAG,GAAKoS,EAAKmH,EAAI,KACtBnH,EAAKpS,GAAG,IAAMoS,EAAKmH,EAAI,MACvBnH,EAAKpS,GAAG,IAAMoS,EAAKmH,EAAI,MACvBnH,EAAKpS,GAAG,IAAMoS,EAAKmH,EAAI,MACvBnH,EAAKpS,GAAG,IAAMoS,EAAKmH,EAAI,MACvBnH,EAAKpS,GAAG,IAAMoS,EAAKmH,EAAI,KACvBnH,EAAKpS,GAAG,IAAMoS,EAAKmH,EAAI,cAEhBkhB,GAAGroB,GAAA,OACHA,GAAKi3D,IAAMj3D,GAAKk3D,IAAMl3D,GAAKm3D,IAAMn3D,GAAKo3D,EAAA,UAEtCj7D,KAAA,KACFwqB,GAAK,QACLnhC,KAAOjJ,KAAK69C,EAAI79C,KAAK86E,GAAK,WAExBl1B,KAAA,KACFj4C,EAAI,QACJsd,EAAI,QACJ8vD,GAAK,QACLp8B,EAAI,QACJt1B,GAAKrpB,KAAKg7E,GAAKh7E,KAAKi7E,GAAKj7E,KAAKk7E,GAAKl7E,KAAKm7E,GAAKn7E,KAAKo7E,GAAKp7E,KAAKq7E,GAAKr7E,KAAKs7E,GAAKt7E,KAAK0kD,EAAI1kD,KAAKmkD,EAAInkD,KAAKgiB,EAAIhiB,KAAKq+C,EAAI,WAE7GwH,KAAA,KACF01B,GAAKv7E,KAAKoV,OAASpV,KAAKwI,MAAQxI,KAAK89C,EAAI,OACzC7yB,EAAI,CAAC,EAAD,KACJA,EAAEuwD,KAAO,IAAI57D,GAAA,KACbqL,EAAEwwD,GAAK,IAAI71B,GAAA,KACX81B,GAAK,cAEHxvC,KAAA,KACF1jC,MAAQ,CAAC,QACT4M,OAAS,CAAC,QACVumE,GAAK,CAAC,QACNC,GAAK,CAAC,QACNvoE,OAAS,CAAC,YAERyyC,KAAA,KACF+1B,GAAK77E,KAAKsqC,GAAKtqC,KAAK87E,GAAK97E,KAAK+7E,GAAK/7E,KAAKg8E,GAAKh8E,KAAKi8E,GAAKj8E,KAAKk8E,GAAKl8E,KAAK0qC,GAAK1qC,KAAKiB,EAAIjB,KAAKmhB,EAAInhB,KAAKm8E,GAAKn8E,KAAKo8E,GAAKp8E,KAAKq8E,GAAK,WAEzH1mB,GAAGlyC,GAAA,OACVovC,MAAM,gCACCpvC,EAAE6E,CAAA,UAEF09B,GAAGviC,EAAGmH,GAAA,IACTvZ,EAAIoS,EAAE6E,EACR1nB,EAAIgqB,EAAE0xD,GAAGrxD,EAAEuwD,KACXj4D,EAAI3iB,EAAEwpC,GACNzL,EAAI/9B,EAAEk6E,GAAKr3D,EAAE84D,GAAK37E,EAAEi9C,EACpB58B,EAAIu7D,GAAE5xD,EAAE0xD,GAAGx+B,GACX37C,EAAIshB,EAAE9V,EACNuT,EAAIuC,EAAE46B,EACN9yB,EAAI9H,EAAEwH,EACNrM,EAAI6E,EAAEzB,EACNiJ,EAAIxH,EAAEs3D,GACNp3D,EAAIF,EAAE0gC,EACN9lC,EAAIuM,EAAEhR,GACNzI,EAAIyZ,EAAE6xD,GACN72E,EAAIglB,EAAE8xD,GACNv7D,EAAIyJ,EAAE+xD,GACNn5D,EAAIC,EAAE84D,GACN5uE,EAAI8V,EAAE84D,GAAK94D,EAAE6E,EACbqnB,EAAIlsB,EAAEi7B,EACN18B,EAAK2tB,EAAI,GAAM,SACZnsB,EACDvC,EAAE9e,EAAG+e,EAAG,KAAM,KAAMqK,EAAG3M,EAAGqM,EAAGtH,EAAG4H,EAAG3M,EAAGqM,EAAGtH,EAAGJ,EAAGob,EAAG,KAAM,KAAMgR,IAC7D1uB,EAAE2J,EAAE8gB,GAAI9gB,EAAEgyD,GAAIz6E,EAAG+e,EAAG7C,EAAGlN,EAAGvL,EAAGub,EAAGoK,EAAG3M,EAAGqM,EAAGtH,EAAGJ,EAAGob,EAAI/9B,EAAEi9C,EAAGt6B,EAAGob,EAAGgR,KAC7Dt+B,GACCmS,EAAI,EAAI7V,EAAG6V,GAAK,EACpBnF,EAAIkN,EACFpa,EAAIyN,EACJhZ,EAAIqlB,EACJ9J,EAAIwC,EACJ/E,GAAK6E,EAAEo5D,GACPl5D,GAAKF,EAAEo5D,GACPl+C,GAAK,EAAI/9B,EAAEi9C,EAEZ58B,EAAE9e,GADD+e,GAAK,EAAIuC,EAAE63D,IACH73D,EAAE63D,GAAIn5E,EAAG+e,EAAG7C,EAAGlN,EAAGvL,EAAGub,EAAGoK,EAAG3M,EAAGqM,EAAGtH,EAAGJ,EAAGob,EAAI/9B,EAAEi9C,EAAGt6B,EAAGob,EAAGgR,GAAA,OACnEzuB,GAAKuC,EAAE63D,GACP73D,EAAExiB,EAAI0M,EAAI8V,EAAEkb,GACPh5B,EAAEilB,EAAE8gB,GAAI9gB,EAAEgyD,GAAIz6E,EAAG+e,EAAGyuB,GACrBhqC,EAAEilB,EAAEhR,GAAIgR,EAAE6xD,GAAIlxD,EAAG3M,EAAGoD,GACpBrc,EAAEilB,EAAE8xD,GAAI9xD,EAAE+xD,GAAI1xD,EAAGtH,EAAG3B,GACpB3Q,KACI,EAAJ1D,GACAsT,EACE9e,EACA+e,EACA,KACA,KACAqK,EACA3M,EACAqM,EACAtH,EACA4H,EACA3M,EACAqM,EACAtH,EACAJ,EACAob,EAAI/9B,EAAEi9C,EACN,KACA,KACAlO,GAECt+B,CAAA,UAEAs8B,GAAGlqB,EAAGpS,EAAG1L,GAAA,IACZ/E,EAAI6iB,EAAEk7B,EACRp7B,EAAI,CAACE,EAAEihC,GAAA,GACL,MAAQ9jD,EAAG,KACT+9B,EAAIlb,EAAEi7B,EACRz9B,EAAI5P,EAAEirE,GAAGx+B,EACT37C,EAAI8e,GAAK67D,IAAM77D,GAAK25D,GACtBvpE,EAAIA,EAAEirE,GAAGrxD,EAAEuwD,KAAA,IACPt6D,EAAI,CAAC,GACPqK,EAAI9H,EAAE84D,GACRr7D,EAAE,GAAKuC,EAAE6E,EACT7E,EAAEs5D,KACC,GAAKxxD,IAAMrK,EAAE,MAAQqK,EAAIhI,EAAE,IAAME,EAAEjb,OACpCib,EAAExiB,EAAIwiB,EAAE84D,GAAK94D,EAAE6E,GAAK7E,EAAEkb,IAAMzd,EAAE,GAAKuC,EAAEkb,EAAIlb,EAAExiB,EAAIsqB,IAAA,IAC7C3M,EAAIvN,EAAE+4B,GACR7e,EAAIla,EAAEypE,GAAKvvD,EAAIla,EAAEwsC,EACnBp6B,EAAIu5D,GAAGp8E,EAAG2iB,EAAE,GAAIE,EAAEjb,MAAOm2B,EAAGzd,EAAGtC,EAAG2M,GAAKppB,EAAI,EAAI,GAAIkP,EAAEwsC,GACrDjzB,EAAEjlB,GAAKub,GACPuC,GAAKqoB,GAAG7qB,IAAMg8D,GAAGr+D,EAAG2M,EAAGppB,EAAGw8B,EAAGzd,EAAG7P,EAAEwsC,EAAA,QAE7B,WAEAqI,GAAGziC,GAAA,IACNmH,EAAInH,EAAEy5D,GACR7rE,EAAIuZ,EAAE0xD,GAAGx+B,EACTn4C,EAAI,GAAK0L,EACTzQ,EAAIyQ,GAAK8rE,IAAM9rE,GAAK+rE,IAAM/rE,GAAKyrE,IAAMzrE,GAAKgsE,IAAM,IAAMhsE,GAAKy6B,GAAGz6B,GAAA,GAChEuZ,EAAE0yD,OAAS,KACX1yD,EAAE2yD,GAAK,KACP3yD,EAAE4yD,GAAK,KACP5yD,EAAE6yD,GAAK,MACF1iB,GAAGnwC,EAAE8yD,GAAIj6D,EAAG7iB,EAAI,GAAK,IAAK,OAAO,KACtCA,GAAKkrC,GAAGz6B,IAAMmkD,KACV/xC,EAAEw4D,GAAIppB,MAAM,wBACX,IACCltD,GAAA,GACIilB,EAAE2yD,GAAK5nB,GAAKlyC,EAAEs5D,GAAK,IACvB1rE,EAAKoS,EAAEi7B,EAAI,GAAM,EACjB9zB,EAAE0yD,OAAS/5D,EAAEE,EAAEi7B,EAAI,EAAIrtC,GACnB,MAAQuZ,EAAE0yD,OAAQ,OAAO,EAC7B1yD,EAAE8gB,GAAK9gB,EAAE0yD,OACT1yD,EAAEgyD,GAAK,EACPhyD,EAAEhR,GAAKgR,EAAE8gB,GACT9gB,EAAE6xD,GAAK7xD,EAAEgyD,GAAKn5D,EAAEi7B,EAChB9zB,EAAE8xD,GAAK9xD,EAAEhR,GACTgR,EAAE+xD,GAAK/xD,EAAE6xD,GAAKprE,EACduZ,EAAE2yD,GAAKv3B,GACPwP,IAAA,OAEG3C,MAAM,gBACbjyD,IAAOgqB,EAAE4yD,GAAK7vC,GAAKhoC,GAAKyyD,KAAA,IAEtBzyD,IAAMg4E,GAAI,KACPl6D,EAAI,EAAG,IAAMA,IAAKA,EACpBm6D,GAAGn6D,GAAM,OAASA,EAAI,KAAOuL,IAAO6uD,GAClCC,GAAGr6D,IAAM,OAASA,EAAI,KAAOuL,GAC7B+uD,GAAGt6D,IAAM,OAASA,EAAI,KACtBu6D,GAAGv6D,GAAM,QAAUA,EAAI,KAAOuL,IAAO6uD,GAAA,IACrCp6D,EAAIw6D,GAAIx6D,EAAIy6D,KAAMz6D,EACpBmH,EAAK,OAASnH,EAAI,IAAMuL,IAAO6uD,GAC7BM,GAAG16D,EAAIw6D,IAAM/6B,GAAGt4B,EAAG,KACnBwzD,GAAG36D,EAAIw6D,IAAM/6B,GAAIt4B,EAAI,GAAM,EAAG,IACnC+yD,GAAK,SAEA,WAEA/vC,GAAGnqB,GAAA,IACNpS,EAAIoS,EAAEy5D,GACRv3E,EAAI8d,EAAEi7B,EACN99C,EAAI6iB,EAAE6E,EAAA,OACRsC,IAAW,EAAPnH,EAAE84D,KACF,GAAK52E,GAAK,GAAK/E,EAAU,GAC7B+E,EAAI0L,EAAEksE,GAAG95D,EAAGpS,GAAA,MACJA,EAAEmsE,IAAMnsE,EAAEmsE,GAAG/5D,EAAGpS,EAAG1L,GAC3B0L,EAAEgtE,IAAM14E,EACD,YAEA2gD,GAAG7iC,GACVA,EAAEy5D,GAAGI,OAAS,cAEP92B,GAAG/iC,EAAGmH,EAAGvZ,EAAG1L,GAAA,OACf,IAAMgI,EAAE8V,EAAG,GAAW,GAC1BmH,EAAE,GAAKjd,EAAE8V,EAAG,IAAM,EAClBpS,EAAE,GAAK1D,EAAE8V,EAAG,IAAM,EAClB9d,EAAE,GAAKgI,EAAE8V,EAAG,GACL,GAAK9V,EAAE8V,EAAG,GAAK,GAAKA,EAAE8H,EAAA,UAEtBlqB,GAAGoiB,EAAGmH,GAAA,GACT,EAAInH,EAAG,OAAOA,EAAI,MAClBpS,EAAKoS,EAAI,GAAM,SACV,GAAS,EAAJA,IAAWpS,GAAK1D,EAAEid,EAAGvZ,GAAK,WAEjCo1C,GAAGhjC,EAAGmH,GAAA,OACT,IAAMA,EAAUA,EAAI,IAGjB,IADLvZ,IADEA,EAAIitE,GAAG1zD,EAAI,KACH,GAAKnH,GAAK,GAAS,GAAJpS,KACXA,EAAI,MADlBA,CAAA,UAGKw7B,GAAGppB,EAAGmH,EAAGvZ,GAAA,IACZ1L,EAAIgkB,EAAGtY,GAEPzQ,EAAI6iB,EADRmH,GAAS,IAAJjlB,GACQwL,EAAI,WACbvQ,IACD8M,EAAG2D,EAAGA,EAAE6P,EAAI,GACZvb,EAAIgkB,EAAGtY,GACPuZ,GAAKnH,EAAEmH,GAAG7hB,MACV6hB,GAAKjlB,GAAM,GAAK/E,GAAK,GACxB8M,EAAG2D,EAAGA,EAAE6P,EAAIuC,EAAEmH,GAAGzZ,GACVsS,EAAEmH,GAAG7hB,KAAA,UAEL89C,GAAGpjC,EAAGpS,EAAG1L,GAAA,OAChBA,EAAEwL,GAAKsS,EAAEtS,EACTxL,EAAEoD,OAAU0a,EAAE1a,OAASsI,IAAO,EAC9BuZ,EAAE,GAAKjlB,EAAEwL,GACFsS,EAAEtS,CAAA,UAEF21C,GAAGrjC,EAAGpS,EAAG1L,GAAA,IACZ/E,EAAI6iB,EAAE86D,GAAA,OAEV3zD,GADAvZ,EAAI,GAAKzQ,EAAI,EAAI6iB,EAAE+6D,GAAG/6D,EAAEyvB,IAAMvtC,GAAK/E,IAAMyQ,GAAKzQ,KACxC6iB,EAAEg7D,IACDh7D,EAAEi7D,GAAGrtE,EAAA,UAEL41C,GAAGxjC,EAAGpS,EAAGzQ,EAAG2iB,GAAA,IACfob,EAAIlb,EAAEk7D,GACR19D,EAAIwC,EAAEthB,EAAIkP,EACVlP,EAAIshB,EAAEiG,EACRrY,EAAIlP,EAAIkP,EAAA,IACJ6P,EAAItgB,EACN2qB,EAAIhI,EAAA,IACNA,EAAIE,EAAE0F,GACDvoB,EAAI6iB,EAAEm7D,GAAI,EAAIjgD,KAAO,KACpB/f,EAAI6E,EAAEo7D,GAAGlgD,GACX1T,EAAI9oB,EACJwhB,EAAItS,EACJgN,EAAI6C,EACJ/P,EAAIoa,EAGJ3lB,GAFA2lB,EAAIhI,EACJrC,EAAItgB,EACAge,EAAE67D,IAAA,OACR7vD,EAAEK,EAAItH,GACNiH,EAAEjH,GAAK/E,EAAEkgE,IACDlgE,EAAEmgE,IAAA,KACH,EACHC,GAAG3gE,EAAGlN,GAAIwS,EAAIsH,GAAKrlB,EAAG2lB,EAAGrK,GAAA,WAEtB,MAEDC,EAAI8J,EACJzH,EAAIG,EACJhW,EAAI4d,EACJokB,EAAIzuB,EACJc,GALE5Y,EAAIwV,GAKA67D,GAAA,GACHt5D,IACF89D,GAAG5gE,EAAGlN,EAAG,KAAM,KAAM,EAAGxD,EAAGgiC,GAC5ByU,EAAG/lC,EAAGlN,EAAI,EAAG,EAAG,EAAG6Q,EAAI,EAAGrU,EAAGgiC,EAAI,GAChCx+B,GAAK6Q,EACL2tB,GAAK3tB,IACJb,GAAA,IAEF,IAAIwI,EAAI,GAAKvgB,EAAEoa,EACbq6B,EAAIl0B,EAAI,EACRjc,EAAI4V,EAAGtB,EAAG5Y,EAAEoa,GACZs6B,EAAI10C,EAAE+7C,EACN/7C,EAAIA,EAAEumC,GAAKxuB,GAAK/X,EAAEoa,GAAK9V,EACzByT,EAAIqC,GAEJ,KACIu6B,EAAID,EACN38C,EAAIiI,EACJ+0C,EAAI,MACD+gC,GAAG7gE,EAAGlN,EAAGxD,EAAGgiC,EAAI3tB,EAAG,EAAGrU,EAAGgiC,GAAIwO,EAAIn8B,GAAK,KAEvC28B,GAAKR,GAAKN,GAAKl0B,EACjBg1B,EAAI38B,IAAM28B,EAAI38B,IAAA,EAFNm9D,GAAIphC,EAAE58C,MAAQ,EAAK,KAGzBkd,EAAGlN,IAAKgtC,EAAGxwC,EAAGgiC,EAAIwO,EAAIn8B,EAAG28B,EAAIR,EAAGxwC,EAAGgiC,EAAIwO,GACzCA,EAAIQ,CAAA,CAENxtC,GAAK6Q,EACL2tB,GAAK3tB,IACHb,EACE08B,IAAMz0C,GAAKsE,EAAA,CAEjBiW,GAAK/E,EAAEkgE,IAAMn5E,EAAE4lB,EAAGrK,EAAItb,EAAG2lB,EAAGrK,GAAKyC,EAAIsH,EAAI,GAAKrlB,EAAGA,GAAA,WAE9C,MACHA,EAAIyY,EACJmF,EAAIrS,EAKJ6Q,GAJA3D,EAAIO,EAAE67D,KAGN9qC,EAAItxB,IADJ1Q,GADAwD,EAAI,GAAKyN,EAAE4E,GACH,IAGRrC,EAAImC,EAAGjF,EAAGO,EAAE4E,GACZmG,EAAI/K,EAAEumC,EACDvmC,EAAIA,EAAE+wB,GAAK1kB,GAAKrM,EAAE4E,GAAKrC,EAAG8J,EAAItH,GAAK,KACtCk6B,EAAIl0B,EACJjc,EAAIkR,EACJk/B,EAAI,IAAIx1B,EACRlf,EAAIoa,EAAImsB,EACHoO,EAAIv6B,EAAInF,EAAGmF,EAAIpa,GAClBm7C,EAAG1G,EAAEnwC,KAAMowC,GAAIshC,GAAGthC,EAAGl4C,EAAG4d,EAAGrS,EAAGoa,EAAGrK,GAAKsC,GAAKrS,EAAK+P,GAAK/P,EACvDqS,EAAIu6B,IACDwG,EAAG1G,EAAEnwC,KAAMowC,GAAIshC,GAAGthC,EAAGl4C,EAAG4d,EAAGxB,EAAGuJ,EAAGrK,GAAKsC,GAAKxB,EAAKd,GAAKc,KACtDiJ,EACEtd,IAAMiR,GAAKuC,EAAA,YAGd,KACC9C,GAAKkN,GAAKpa,GAAK+P,GAAK,EAAItC,EAAE4E,EAAG,KAG/BA,EAAI+H,EACJlN,EAFAzY,EAAIsb,GAAKyC,EAAIsH,GAAKrlB,GADlB+pC,GAAKhsB,EAAIsH,GAAK3H,EAAG1E,EAAE67D,GAAI77D,EAAE4E,IAIzBrS,EAAIoa,EACJ5d,EAAIuT,EAEJC,EAAI,GACCwuB,GAFL3tB,EAAI2tB,GAES,EAAG,GAAKA,IAAKA,EAAGxuB,EAAEwuB,GAAKx+B,EAAExD,EAAIgiC,GAAA,IACrCA,EAAI3tB,EAAI,EAAG,GAAK2tB,IAAKA,EAAGnsB,EAAEnF,EAAIsxB,GAAKxuB,EAAEwuB,GAC1C0vC,GAAGzgE,EAAGqM,EAAGtH,EAAG4H,EAAG3lB,EAAG2lB,EAAGrK,EAAA,MAChBm+D,GAAGzgE,EAAGqM,EAAGtH,EAAGtF,EAAGlN,EAAGoa,EAAGrK,GAEhCA,EAAIqC,EACJgI,EAAI3qB,CAAA,CAEN2qB,GAAK3qB,GAAK+E,EAAE4d,EAAG3iB,EAAGsgB,EAAGqK,EAAGtK,EAAA,UAEjBimC,GAAGzjC,EAAGpS,GAAA,IACT1L,EAAI8d,EAAE2gC,EACRxjD,EAAI6iB,EAAE67D,GAAK77D,EAAEthB,EAAIshB,EAAEiG,EACnBnG,EAAIlS,EAAIoS,EAAEiG,EAAA,GACZkB,EAAEvZ,GAAKoS,EAAE7E,EAAE+f,GACX/T,EAAE,IAAMrH,GACJ,EAAIA,EAAG,KACLob,EAAIlb,EAAE7E,EACRqC,EAAIwC,EAAE0F,GACNhnB,EAAIshB,EAAEm7D,GACN19D,EAAIyd,EAAEn2B,MAAA,GACRy+C,GAAGxjC,EAAGF,EAAG5d,EAAG/E,GAIZ2iB,EAHAphB,EAAI,CAACA,GAILyoB,GAHAjlB,EAAI8d,EAAEiG,IACN9oB,EAAIyQ,IAGJuZ,EAAE+T,EAAExd,EAAIwd,EAAE4gD,IACV3+E,EAAI+9B,EAAEA,IAAM/9B,EAAI+9B,EAAEA,GACdh5B,EAAIg5B,EAAE19B,EAAG,KACPsqB,EAAIoT,EAAE19B,EAAI0E,EACZA,EAAIg5B,EAAE19B,EACRsiB,EAAE,IAAMgI,EAAIrK,CAAA,IAEdvb,GAAK/E,EACA+E,EAAI,GACH4d,EAAE,IAAM,EAAIob,EAAExd,EACfwd,EAAE49C,GAAK52E,EAAIg5B,EAAE19B,EACb09B,EAAE+f,EAAI/f,EAAE4gD,GAAK5gD,EAAExd,EACfwd,EAAErW,EAAI1nB,EAAI+E,EACVA,EAAI,GACLA,EAAG,IACLxD,EAAIA,EAAE,GAEF,IADJwD,EAAI8d,EAAE+7D,IACK1hC,EAAG,CAEV,IAAIl/B,EAAIjZ,EAAEslB,EAAEuwD,KAKVvwD,GAJArqB,EAAI+E,EAAEm4C,EACNv6B,EAAIob,EAAE+f,EACN/f,EAAIA,EAAErW,EACNiD,EAAI3M,EAAEwrB,GACFxrB,EAAEi/B,GACNl6B,EAAIgb,EAAA,IACJ/f,EAAIA,EAAEk8D,GAAKr3D,EAAEg8D,GAAK7gE,EAAEi/B,EACtB,EAAIl6B,KAEJ,KACItF,EAAI4C,EACN9P,EAAIhP,EACJyD,EAAI2d,EACJpC,EAAIoK,EACJ/H,EAAI5E,EAAA,OACEhe,GAAA,KACD8+E,GACHC,GAAGthE,EAAGlN,EAAGvL,EAAGub,EAAGqC,GAAA,WAEZ25D,GACHyC,GAAGvhE,EAAGlN,EAAGvL,EAAGub,EAAGqC,GAAA,WAEZk3D,GACHkF,GAAGvhE,EAAGlN,EAAGvL,EAAGub,EAAGqC,GACfy5D,GAAG97D,EAAGqC,EAAG,EAAG5d,EAAG,EAAG,cAEfi6E,GACHC,GAAGzhE,EAAGlN,EAAGvL,EAAGub,EAAGqC,GAAA,WAEZ45D,GACH3uC,GAAGpwB,EAAGlN,EAAGvL,EAAGub,EAAGqC,EAAG,cAEfm3D,GACHlsC,GAAGpwB,EAAGlN,EAAGvL,EAAGub,EAAGqC,EAAG,GAClBy5D,GAAG97D,EAAGqC,EAAG,EAAG5d,EAAG,EAAG,cAEfk3E,GACHruC,GAAGpwB,EAAGlN,EAAGvL,EAAGub,EAAGqC,EAAG,cAEfo3D,GACHnsC,GAAGpwB,EAAGlN,EAAGvL,EAAGub,EAAGqC,EAAG,GAClBy5D,GAAG97D,EAAGqC,EAAG,EAAG5d,EAAG,EAAG,cAEfy3E,GACH0C,GAAG1hE,EAAGlN,EAAGvL,EAAGub,EAAGqC,GAAA,WAEZq3D,GACHkF,GAAG1hE,EAAGlN,EAAGvL,EAAGub,EAAGqC,GACfw8D,GAAG7+D,EAAGqC,EAAG5d,EAAG,EAAG,cAEZq6E,GACHC,GAAG7hE,EAAGlN,EAAGvL,EAAGub,EAAGqC,GAAA,cAGfoH,EAAE,GAENzoB,GAAK+e,EACLtC,GAAKqM,CAAA,CAEPxH,EAAEg8D,IAAM9gD,CAAA,MACHk0B,MAAM,6BACbjoC,EAAEnH,EAAEg8D,IAAM95E,EAAEyP,OAAA,EAGhBqO,EAAEiG,EAAIrY,EACNuZ,EAAEnH,EAAEiG,GAAKjG,EAAE7iB,EAAA,UAEJymD,GAAG5jC,GAAA,IACNmH,EAAA,GACA,EAAInH,EAAE08D,GAAI,OAAO,MAChBv1D,EAAI,EAAGA,EAAInH,EAAEg7D,KAAM7zD,EAAG,KACrBvZ,EAAIoS,EAAEi7D,GAAG9zD,GAAGy5B,EACd1+C,EAAI8d,EAAEi7D,GAAG9zD,GAAGq5B,EAAA,GAEZ,EAAI5yC,EAAE,GAAG1L,EAAE,GAAK,GAAGwL,GACnB,EAAIE,EAAE,GAAG1L,EAAE,GAAK,GAAGwL,GACnB,EAAIE,EAAE,GAAG1L,EAAE,GAAK,GAAGwL,EAEnB,OAAO,SAEJ,WAEAs2C,GAAGhkC,EAAGpS,EAAG1L,EAAG/E,EAAG2iB,EAAGob,GAAA,GACrB,GAAKlb,EAAE4hC,EAAG,KACRpkC,EAAIwC,EAAE28D,GACRj+E,EAAIshB,EAAE48D,GAAA,IACHz1D,EAAE,MAAQ01D,GAAG78D,EAAE4hC,IAAKh0C,EAAI1L,IAAK0L,EAChCivE,GAAG78D,EAAE4hC,GAAGpkC,EAAG9e,EAAGvB,EAAG2iB,EAAG3iB,EAAG2iB,EAAGob,GAAK1d,EAAIrgB,EAAKuB,EAAIohB,EAAKA,GAAKob,EACxDlb,EAAE28D,GAAKn/D,EACPwC,EAAE48D,GAAKl+E,CAAA,WAGFgmD,GAAG1kC,EAAGpS,GAAA,IACT1L,EAAI8d,EAAE7E,EAAEs+D,GACVt8E,EAAI,GAAK+E,EAAE0/C,GAAK,GAAK1/C,EAAE0/C,EAAI5hC,EAAE7E,EAAE3d,EAAIwiB,EAAEiG,EACjB,GAApB9oB,EAAI6iB,EAAEiG,EAAI9oB,EAAIA,EAAI6iB,EAAEiG,EACtBkB,EAAEvZ,GAAKoS,EAAE7E,EAAE+f,GACPttB,EAAIzQ,EAAG,KACL2iB,EAAIE,EAAE7E,EAAEpW,MACVm2B,EAAIh5B,EAAE65E,GACNv+D,EAAItb,EAAE46E,GAAKh9D,EAAI3iB,EACfuB,EAAIshB,EAAE2gC,EACNljC,EAAIuC,EAAE67D,GAAK77D,EAAEthB,EAAIvB,EACjB2qB,EAAI9H,EAAEo7D,GACRj0D,EAAE,GAAKnH,EAAEk7D,IACT/zD,EAAE,GAAKW,EAAE,GAAGwzD,IACZyB,GAAGj1D,EAAE,GAAI3qB,EAAGyQ,EAAGlP,EAAG+e,EAAGyd,EAAG1d,GACxBwmC,GAAG9hD,EAAG/E,EAAGyQ,EAAGstB,EAAG1d,EAAGsC,EAAA,CAEpBE,EAAEiG,EAAIjG,EAAEg8D,GAAKpuE,CAAA,UAEN8xC,GAAG1/B,EAAGpS,EAAG1L,EAAG/E,EAAG2iB,EAAGob,EAAG1d,GAAA,IACxB9e,EAAIshB,EAAE8hC,EAAI3kD,EACZsgB,EAAIuC,EAAE8hC,EAAI3kD,EACV2qB,EAAI9H,EAAE7d,EACNgZ,EAAI6E,EAAExC,EACNgK,EAAItlB,EAAI8d,EAAE8hC,EACV5hC,EAAIsH,EACN1H,EAAI5d,EAAI/E,EAAI2iB,EAAA,IACRlF,EAAI1Y,EAAI/E,EAAI+9B,EACdxtB,EAAI,IAAMyN,EAAEuhE,GACZv6E,EAAI6d,EAAEg9D,GAAKt+E,EAAI,SACfgf,EAAI,EAAIvC,EAAEuhE,GAAKvhE,EAAE8hE,GAAK,KACtBl9D,EAAI5E,EAAE+hE,GACNhzE,EAAIsd,EAAI5M,EAAIyoC,GAAGloC,EAAGsC,EAAG/e,GAAK,KAC5ByoB,EAAEnH,EAAEiG,EAAIiV,GACR/T,EAAEvM,GAAKkF,GAAA,IACHosB,GAAA,EACJlsB,EAAG,OAAS,MACHksB,GAAK1kB,EAAI5M,GAAK,KACf2D,EAAI,KACJ7f,GAAKyD,EAAG,KAERwD,EAAI6hB,EAAItlB,EACVilB,GAFIhlB,EAAI6d,GAEJg9D,IACJ76E,EAAEg7E,GAAKh7E,EAAEA,EACTA,EAAEi7E,GAAKz3E,EAAA,EACHxD,EAAEqb,EAAEk/D,IAAMt2D,EAAGjkB,EAAEqb,EAAEy/D,GAAI96E,EAAEqb,EAAE6/D,IAC7Bl7E,EAAIzD,EAAIgxC,EAAA,IAEVjyB,EAAIsC,IAAM7V,EAAIm5C,GAAGloC,EAAGsC,EAAG/e,IACvByoB,EAAE,MAAQjd,GACVA,EAAEwrE,KAAQ9nE,EAAE4Z,GAAKtd,EAAEyrE,GAAMzpC,GAAA,IACpBA,EACH,GAAKmO,EAAGvyB,GAAI5d,EAAEurE,GAAK,CACbl3D,EAAIuJ,EACNniB,EAAIiI,EAAA,IACJ0sC,EAAI9yB,EACJ9pB,EAAIwM,EAAE2rE,GAAG3vD,EAAG3H,GAAM04C,GAAK,GACzB9vC,EAAEjd,EAAEurE,IAAA,IACE/3E,EAAEgQ,GACHzD,EAAGsU,EAAGA,EAAEd,EAAI/f,EAAEgQ,GAAK/H,EAAE20C,GAAK58C,EAAE4H,MAASiZ,EAAI,IACzCtU,EAAGsU,EAAGA,EAAEd,EAAI/f,EAAEgQ,EAAI,KAAMyZ,EAAE,KAAOzpB,EAAE4H,OAASiZ,EAAI7gB,EAAE4H,OAAA,GAClDiZ,IAAM2tB,GAAA,EAAI,MACV3tB,EAAI6qB,GAAGl/B,EAAE02C,EAAE,GAAI12C,EAAEs2C,EAAE,GAAI14B,GAAA,GAC5BA,EAAEA,EAAG,SACLokB,GAAK,IAAM3tB,EAAG,KACX2tB,EACH,GAAIhiC,EAAE0rE,GAAIhoE,EAAE4Z,IAAMtd,EAAEyrE,GAAMp3D,GAAK,KAAQ,MAClC,IACH87B,EAAGvyB,GACHokB,EAAI9C,GAAGl/B,EAAE02C,EAAE,GAAI12C,EAAEs2C,EAAE,GAAI14B,GACvBuyB,EAAGvyB,GACHniB,EAAIyjC,GAAGl/B,EAAE02C,EAAE,GAAI12C,EAAEs2C,EAAE,GAAI14B,GACvBwyB,EAAIlR,GAAGl/B,EAAE02C,EAAE,GAAI12C,EAAEs2C,EAAE,GAAI14B,GACnBA,EAAEA,EAAG,MACTla,EAAE4Z,IAAO8yB,GAAK,GAAOpO,GAAK,GAAO3tB,GAAK,EAAK5Y,KAAO,KAEtDumC,GAAA,IACE1kB,IACA/J,GAEKtgB,IACHsgB,EAAI,IACJ/e,EACF,MAAQ8e,GAAK9e,GAAKw8B,KAAOx8B,EAAI,KAAO8e,EAAEwC,EAAGthB,GACzC,MAAQgf,GAER,KAAOwC,EAAIsH,GACRjJ,EAAI3Q,EAAEsS,KACJxC,EAAE8jC,GAAI,UAAYjjC,EAAK,cAAgBb,EAAEi5D,IAAMp4D,CAAA,MACjD,GAAI,IAAMA,EAAG,IAClBA,EAAI3gB,GAAG2gB,EAAI,IAAKuJ,GAChBniB,EAAIyjC,GAAGl/B,EAAE02C,EAAE,GAAI12C,EAAEs2C,EAAE,GAAI14B,GACvBuyB,EAAGvyB,GAEHniB,EAAIq9C,GAAG7lD,EADPwI,EAAI/H,GAAG+H,EAAGmiB,IAENA,EAAEA,EAAG,SACLN,EAAItlB,EAAIyD,GAAKma,EAAI0H,EAAIjJ,EAAG,MAAMyB,EAC7B,IAAKs6B,EAAI,EAAGA,EAAI/7B,IAAK+7B,EAAG1sC,EAAE4Z,EAAI8yB,GAAK1sC,EAAE4Z,EAAI8yB,EAAI30C,GAAA,IAClD6hB,GAAKjJ,EACAd,GAAKc,EAAGd,GAAKtgB,GACfsgB,GAAKtgB,IAAMuB,EAAG,MAAQ8e,GAAK9e,GAAKw8B,KAAOx8B,EAAI,KAAO8e,EAAEwC,EAAGthB,GAAA,GAC1DyoB,EAAEK,GAAK1H,GACPrC,EAAIsC,IAAM7V,EAAIm5C,GAAGloC,EAAGsC,EAAG/e,IACnB,MAAQgf,EACV,KAAOwC,EAAIsH,GACRjJ,EAAI3Q,EAAEsS,KACJxC,EAAE8jC,GAAI,UAAYjjC,EAAK,cAAgBb,EAAEi5D,IAAMp4D,CAAA,KACjD,MAAIA,EAAI7Q,GASR,MAAMsS,EAAA,IARXksB,EAAI3tB,EAAI,IACH4I,EAAE,MAAQzJ,GAAIwC,EAAIsH,GACpBjJ,EAAI3Q,EAAEsS,KAAQxC,EAAE8jC,GAAI,UAAYjjC,EAAK,cAAgBb,EAAEi5D,IAAMp4D,EAChEA,EAAIiJ,EAEJL,IAAI+kB,KADJvmC,EAAI+X,GACQk5D,KACZhpE,EAAE2Q,GAAK5Y,EAAE67C,EAAEtV,GACXA,GAAA,CAAI,CAENA,GAAK/kB,EAAEW,EAAEA,GAAKsyB,EAAGtyB,GAAA,IAEf9H,EAAEg9D,IAAMl1D,EAAEA,GAAKN,EAAI1H,EACrBqH,EAAEnH,EAAE7d,EAAE2lB,GACH9H,EAAEF,EAAI,EACNE,EAAE7d,EAAI6d,EAAEm9D,GACRn9D,EAAE8hC,EAAI9hC,EAAEo9D,GACT,EAAIp9D,EAAExC,EAAEk/D,IAAMt2D,EAAGpG,EAAExC,EAAE6/D,GAAIr9D,EAAExC,EAAEy/D,QAC5B,IAAIn1D,EAAEA,EAAG,MAAM9H,EACf,MAAQxC,GAAKA,EAAEwC,EAAGthB,EAAIw8B,EAAIA,EAAIx8B,GAAKshB,EAAEF,EAAI,EAAKE,EAAE8hC,EAAIt6B,EAAItlB,CAAA,QACtD,SAET8d,EAAEF,EAAI,EACC,WAEA6kC,GAAG3kC,GACVmH,EAAE,MAAQnH,GACVA,EAAE+6D,GAAK,KACP/6D,EAAEs9D,GAAK,KACPt9D,EAAEi7D,GAAK,SACHrtE,EAAIoS,EAAEi9D,GAAA,MACFrvE,IAAMA,EAAE4zC,EAAI,MACpBxhC,EAAEq9D,GAAK,KACPl2D,EAAE,MAAQnH,EAAA,UAEH4kC,KAAA,IACHz9B,EAAI,IAAImsC,GAAA,OACR,MAAQnsC,EAAU,MACtBA,EAAErH,EAAI,EACNqH,EAAEo2D,GAAKC,GACPt7B,GAAG,YAAa,kBAChBA,GAAG,YAAa,oBAChBA,GAAG,eAAgB,qBACnBA,GAAG,eAAgB,uBACnBq5B,GAAK36B,EACL+6B,GAAK16B,EACLi7B,GAAKx6B,EACLy6B,GAAKv6B,EACL06B,GAAKx6B,EACL26B,GAAKr7B,EACLi7B,GAAKr6B,GACLhiC,EAAKy9D,gBAAkBC,GACvB19D,EAAK29D,eAAiBC,GACfz2D,EAAA,UAEA09B,GAAG7kC,EAAGpS,EAAG1L,EAAGsb,EAAG9e,GAAA,IAClB+e,EAAI,EACN+J,EAAI,CAACxH,GACLpF,EAAI,CAAChN,GACLF,EAAI8P,EAAErb,EACNA,EAAIqb,EAAEA,EACNE,EAAI,KACJqC,EAAI,EACNC,EAAG,OAAS,IACN9d,EACF,KAAOub,GAAKvT,EAAEwD,EAAG,IAAM,KACjBw+B,EAAI1kB,EACNjJ,EAAI3D,EACJw/B,EAAI58B,EACJ7X,EAAI,EACJ20C,EAAIF,EAAEj4C,EACNzE,EAAI08C,EAAEghC,GAAGhhC,EAAE8gC,IACXxgC,EAAIxwC,EAAEowC,EAAG,MACPF,EAAEyjC,GAAM,GAAKnjC,EAAIj9B,EAAI,MACpB,QACH28B,EAAEyjC,IAAM,GAAKnjC,EACbh9C,EAAE49E,GAAK5gC,EACPh9C,EAAEs5E,GAAK9qC,EAAE,GACTxuC,EAAE29E,GAAK98D,EAAE,GACT7gB,EAAEgkD,EAAI,CAAC,QACLtH,EAAE8gC,GACJ/zD,EAAE,GAAKizB,EAAE8gC,IACDxgC,GAAA,KACD,OACA,EACHh9C,EAAEqiB,EAAI7V,EAAEowC,EAAG,GAAK,EAChB30C,EAAIk/C,GAAGhlC,EAAGniB,EAAEs5E,GAAIt5E,EAAEqiB,GAAIF,EAAGniB,EAAE29E,GAAI39E,EAAEqiB,GAAI,EAAGq6B,EAAG18C,EAAEgkD,GAC7ChkD,EAAEgkD,EAAIhkD,EAAEgkD,EAAE,cAEP,MAMDxG,EALEj1B,EAAI/b,EAAEowC,EAAG,GAAK,EAChB98C,EAAI,GAAKyoB,EAAI,EAAI,EAAIA,EAAI,EAAI,EAAIA,EAAI,EAAI,KAC3CimB,EAAE,GAAKrsB,EAAGniB,EAAEs5E,GAAIx5E,GAChBE,EAAEqiB,EAAIviB,EAGD09C,EAFDv1C,EAAIk/C,GAAG5+B,EAAG,EAAG,EAAGm0B,EAAG18C,EAAEgkD,GAEZ,KACPt7B,EACF5H,EAAIyH,EACJ+1B,EAAIt+C,EACJ0iD,EAAI,IAAM,GAAKpE,EAAEj8B,GACjB8E,EAAI/E,EAAEsgC,GAAA,GACJ,MAAQv7B,EAAGq2B,EAAI,MACd,KACCD,EAAIe,EAAE0F,EAAE,GACVrT,EAAI2N,EAAE9P,EAAA,IACRrnB,EAAE,GAAKm3B,EAAE0F,EAAE,GAAG,GACTt7B,EAAI,EAAGA,EAAI,EAAI5H,IAAK4H,EAAGvB,EAAEuB,GAAK65B,EAAGhF,EAAE5M,EAAIjoB,GAAIvB,EAAEuB,EAAI,SAC/CA,EAAI,EAAIg6B,IAAKh6B,EAAGvB,EAAEuB,GAAK,EAC9B41B,EAAE0F,EAAE,GAAK,KACT1F,EAAE0F,EAAE,GAAK78B,EACTq2B,EAAI,GAGRv1C,EAAIu1C,EAAA,WAED,gBAGH/zB,EAAE,GAEN1J,EAAI9X,CAAA,KAGV6hB,EAAIA,EAAE,GACN5M,EAAIA,EAAE,GACF6C,GAAKvT,EAAEwD,EAAG,MAAuB+P,EAAI,IAAnBsC,EAAI7V,EAAEwD,EAAG,KAAoB,IAAMqS,GAAS,CAChEvC,EAAEsC,EAAI,QACAE,CAAA,KAEJwgC,EAAA,GACCA,EAAI/iC,EACP0J,EAAG,KAMCu5B,EACAC,EAIAC,EAVEE,EAAItjC,EACNyjC,EAAIz5B,EACJg6B,EAAI5mC,EACJ8mC,EAAI3hC,EACJ6hC,EAAI1/C,EAGJ4/C,EAAIhB,EAAE3+C,EACNi/C,EAAIN,EAAEtjC,EACNwkC,GAAI,CAAC,MAELhX,GAAI,EACJkX,GAAK,EACL7Z,GAAKy1C,GAAGp8B,GACV9zC,EAAG,OAAS,IACNg0C,GAAK13C,EAAE43C,EAAG,GAAI,KACZ3lC,GAAKjS,EAAE43C,EAAG,GAAK,EACjBK,GAAKtiC,EAAGohC,EAAG9kC,IACXimC,GAAKviC,EAAG2hC,EAAGrlC,IACXssB,GAAK0Z,GAAKC,GAAA,IACPyC,GAAG1C,GAAIC,GAAI,EAAGtB,EAAGkB,IAAI,MAAMp0C,EAAA,IAChCo0C,GAAIA,GAAE,GACNZ,EAAE05B,GAAK3+D,GACFukC,EAAK,EAAGA,EAAKjY,KAAMiY,EAAI,KACtB2B,GAAML,GAAEtB,IAAO,EAAK,MACxBsB,GAAEtB,GAAM2B,GACRA,IAAMrX,KAAMA,GAAIqX,GAAK,OAGrBP,EAAEh6B,EAAG,MAAMla,EAAA,IACV+yC,EAAK,EAAG,EAAIA,IAAMA,EAAI,KACrBuR,GAAI6rB,GAAGp9B,IACVA,GAAM,EAAIe,IAAMwQ,IAAK,GAAKxQ,GAC3BQ,GAAKgQ,KAAMhQ,GAAKgQ,GAAA,KAEd3P,GAAKrnB,EAAG8P,GAAI3C,GAAIltB,GAChB+uB,GAAKc,GACPyX,GAAKvnB,EAAGgP,GAAIhqB,GAAA,GACV,MAAQuiC,GAAI,IAAItY,GAAK,UACpBhjB,EAAE,OAAS+iB,IAAMC,GAAKsY,GAAA,IACvBI,GAAK/iC,EAAEoiC,IAAA,GACP,MAAQ/X,IAAM,MAAQ0Y,IAAM,MAAQN,GAAI,CAC1CzB,EAAEhhC,EAAI,QACAlS,CAAA,KAEJm1C,GAAKR,GAAA,IACJ7B,EAAKE,EAAI,EAAGF,EAAK1V,KAAK0V,EAAI,KACzB9iD,GAAKusC,GAAGuW,GACVsC,GAAKplD,GAAGgjD,EACRxX,GAAKxrC,GAAG4iD,EACR6C,GAAK,EACLG,GAAK,EACLC,GAAK,MACF9C,EAAK,EAAG,EAAIA,IAAMA,EAAI,CACzBuR,GAAI6rB,GAAGp9B,GACPqC,GAAGrC,GAAMoC,GACT3Z,GAAGuX,GAAMC,GACRD,GAAM,EAAIe,IAAMwQ,IAAK,GAAKxQ,GAC3Bx/C,EAAG,KACG0hD,GACFI,GAAKkO,GACLxN,GAAK5D,EACL8D,GAAK/B,GACLiC,GAAK/B,GACLgC,GAAKnE,EACLoE,GAAK,EACLC,GAAKP,GAAGviD,EACR+iD,GAAKh7C,EAAE+6C,GAAI,MACb9nD,EAAEynD,GAAI,EAAG,EAAGZ,IACRkB,GAAI,KACFC,GAAKj7C,EAAE+6C,GAAI,GAAK,EAClBG,GAAKl7C,EAAE+6C,GAAI,GACXI,GAAKn7C,EAAE+6C,GAAI,GAAKG,GAAK,EAAI,GAC3BR,GAAGS,IAAM,KACJF,KAAyBP,GAAjBS,GAAKn7C,EAAE+6C,GAAI,IAAe,OACnCK,GAAK,MACJ,KACDC,GAAKzlC,EAAE,IACT0lC,GAAKt7C,EAAE+6C,GAAI,GAAK,KACd,GAAKO,GAAI,CACXd,GAAG5kC,EAAI,MACH2lC,GAAK,QACHvjD,CAAA,KAEH0hD,GAAK,EAAGA,GAAK4B,KAAM5B,GAAI2B,GAAGy4B,GAAGp6B,KAAO15C,EAAE+6C,GAAI,OAC3CU,QAAA,EACFC,QAAA,EACAC,GAAKnB,GACLjF,GAAK8F,GACL2B,GAAKlD,GACLoD,GAAKxC,GACL2C,GAAK,EACLS,GAAKnC,GAAG1jD,EACR+lD,GAAK,EACLC,GAAKjtB,EAAG,IAAK/f,GACfhe,EAAG,KACI2qB,EAAEqgC,GAAI,EAAG,EAAG1I,GAAI,KADX,IAENv1C,EAAE89C,GAAI,GAAI,KACRK,GAAK,EAAI,EAAIn+C,EAAE89C,GAAI,OACrBrC,GAAK,EAAIz7C,EAAE89C,GAAIK,KACRnB,GAAI,MAAM/pD,CAAA,MACdwoD,GAAKuB,GAAA,IACPtB,GAAK,EAAGA,GAAKsB,IAAMvB,MAAQ,CAC9BtL,EAAG2N,IAAA,IACCQ,GAAKL,GAAG,GAAc,IAATjiC,EAAG8hC,MACpB/9C,EAAG+9C,GAAIA,GAAGvqC,EAAI+qC,GAAG96C,GAAA,IACb+6C,GAAKD,GAAGljD,MAAA,GACR,GAAKmjD,GAAKrB,GAAGxB,MAAQ6C,GAAK,GAAKA,KAAOP,GAAKO,QAC1C,KACCC,GAAK,IAAMD,GACb1lC,GAAK0lC,GAAK,GACVS,GAAK+0B,GAAGl7D,IACRqmC,GAAKl/C,EAAE89C,GAAIk2B,GAAGn7D,KAAOmmC,GAAA,GACnBtD,GAAKwD,GAAKlC,GAAI,MAAM/pD,EAEtB,IAAK,IAAI0sD,GAAKnB,GAAKR,GAAK,EAAG,EAAIkB,MAC7BhC,GAAGxB,MAAQiE,EAAA,EAGnBtC,GAAK,QACCpqD,CAAA,CAERoqD,KAAO1B,GAAG/lC,EAAI,GACdwlC,GAAKiC,EAAA,EAENjC,GAAKA,KAAOL,GAAGn9B,KAAOk9B,GAAKl9B,EAAEg9B,GAAIC,GAAI,EAAGH,GAAIZ,KAC7CsB,IAAM,GAAKN,GAAMS,GAAKT,IAAQN,GAAG5kC,EAAI,EAAK2lC,GAAK,MAE7C,GAAKA,GAAI,MAAM73C,EAAA,GACnB41C,IAAM,GAAK26B,GAAGx9B,KAAQ6C,GAAK,GAAKT,GAAGnC,GAAGlzC,GACtC21C,IAAMN,GAAGnC,GAAGlzC,EACZkzC,GAAK6E,GACD,GAAK9E,EAAI,KAETiK,GADEE,GAAKjI,GAAG,OAEP+H,GAAK,EAAGA,GAAKsH,KAAKtH,GAAI/H,GAAG+H,IAAME,KAAOA,GAAKjI,GAAG+H,KACnDnH,IAAMqH,EAAA,KAGVltD,GAAGg4E,GAAKpyB,GACR5lD,GAAG83E,GAAK,EACRlyB,KACI5lD,GAAG+3E,IACD3yB,GAAG,GAAG5Z,GAAG,GAAK,GAAG9jC,OAAS,GACzB09C,GAAG,GAAG5Z,GAAG,GAAK,GAAG9jC,OAAS,GAC3B09C,GAAG,GAAG5Z,GAAG,GAAK,GAAG9jC,SACnB,EACF,GAAK+9C,IACH,IAAML,GAAG,GAAG5Z,GAAG,GAAK,GAAG9jC,QACrB1H,GAAG83E,GAAK,EAAK93E,GAAG+3E,IAAM3yB,GAAG,GAAG5Z,GAAG,GAAK,GAAG9jC,OAAS,IACtD1H,GAAG63E,IAAM73E,GAAG83E,IAAM,EAAIjyB,GAClB7lD,GAAG63E,GAAI,KACLvpB,GACFhB,GAAKttD,GAAA,IACFsuD,GAAK,EAAGA,GAAK+K,KAAM/K,GAAI,KACtBE,GAAKF,GACP9kB,GAAK8jB,GAAG2qB,GAAGzpB,IACXhB,GAAKF,GAAGtK,EAAE,GAAGsK,GAAG1K,EAAE,GAAK4L,IAAA,KAClBhB,GAAG9lD,OACJ8hC,GAAG15B,EAAI09C,GAAG19C,EAAI,IAAO05B,GAAG9hC,MAAQ8lD,GAAG9lD,QACnC8hC,GAAG15B,EAAI,EACR05B,GAAG9hC,MAAQ,EACX8mD,KAAOhJ,GAAGgI,GAAI,EAAGhkB,IACjBglB,KAAOhJ,GAAG8H,GAAGtK,EAAE,GAAGsK,GAAG1K,EAAE,GAAK4L,IAAK,GAAIhlB,IACrCglB,KAAOhJ,GAAG8H,GAAGtK,EAAE,GAAGsK,GAAG1K,EAAE,GAAK4L,IAAK,EAAGhlB,IACrCgc,GAAG8H,GAAGtK,EAAE,GAAGsK,GAAG1K,EAAE,GAAK4L,IAAK,GAAIhlB,IAAA,GAIxCga,EAAE25B,GAAK/4B,GACPZ,EAAE45B,GAAKhwC,GACPoW,EAAE65B,GAAK9wC,GACPiX,EAAEk8B,GAAK/6B,GACP/B,EAAI,QACEr5B,CAAA,CAERq5B,EAAI,OAER/iC,EAAI+iC,GACI,CACNhjC,EAAEsC,EAAI,QACAE,CAAA,IAEJ,EAAID,GAAA,GACA5d,EAAEu6E,GAAK,GAAK38D,GAAK66B,EAAGz4C,EAAE86E,GAAIl9D,GAAK,CACnCvC,EAAEsC,EAAI,EACNrC,EAAI,QACEuC,CAAA,OAEH7d,EAAEu6E,GAAK,MACVnxB,GAAK/tC,EACP6uC,GAAK7kC,EACLkkC,GAAK9wC,EACLuxC,GAAKZ,GAAG/tC,EACRwuC,GAAKG,GAAG2uB,GAAA,GACVvvB,GAAG7sD,EAAI2tD,GACPd,GAAGpuD,EAAIuuD,GACPS,GAAG1c,GAAK5vB,EAAGwsC,GAAIL,IACfG,GAAG+wB,GAAK,GAAKlxB,IAAM,GAAK,GAAKA,IAAM,EAC/B9pD,EAAG,CACLsb,EAAE+/D,GAAKa,GAAA,MACDp+D,CAAA,IAGJ,OADJtC,EAAIoC,EAAE0H,EAAI5M,IACK,CACb4C,EAAEsC,EAAI,EACNrC,EAAI,QACEuC,CAAA,CAERvC,GAAKA,EAAIiiC,GAAGliC,EAAGE,EAAG,EAAG8J,EAAG5M,EAAGA,EAAG,SAAWlN,EAAEoa,EAAA,MACrC9H,CAAA,QAERvC,GACK,MAAQ/e,EAAKA,EAAE,GAAKgf,GAAMyJ,EAAE,MAAQzJ,GAAIyJ,EAAEjlB,IAAMsb,EAAEskC,EAAI,EAAI5/C,GAAKyiD,GAAGxiD,IACnEwiD,GAAGxiD,GACAsb,CAAA,UAEAqnC,GAAG9kC,EAAGpS,GAAA,IACT1L,EAAI8d,EAAEthB,EAAIshB,EAAE7iB,EACdA,EAAI+E,EAAI0L,EAAI,GAAKA,EAAA,OACnBuZ,EAAEnH,EAAEthB,GAAKkP,GACToS,EAAE2gC,EAAI7gC,EAAE3iB,GACJ,MAAQ6iB,EAAE2gC,GAAW3gC,EAAE0F,GAAK,KAAQ1F,EAAEm7D,GAAK,EAAKn7D,EAAEF,EAAI,EAAI,IAC9DE,EAAE0F,GAAK1F,EAAE2gC,EACT3gC,EAAEm7D,GAAKn7D,EAAE67D,GAAK35E,EAAI0L,EACX,YAEAm3C,GAAG/kC,EAAGpS,GAAA,IACT1L,EAAI8d,EAAEiG,EACR9oB,EAAIyQ,EAAI1L,EACR4d,EAAIE,EAAE2gC,EACNzlB,EAAIlb,EAAE67D,GAAK77D,EAAEthB,EAAIwD,EAAA,IACdilB,EAAEvZ,GAAKoS,EAAE7E,EAAE+f,GAAI,EAAI/9B,GAAK,KACvBqgB,EAAI,GAAKrgB,EAAI,GAAKA,EACpBuB,EAAIshB,EAAE7E,EAAEs+D,GACRh8D,EAAIuC,EAAE7E,EAAEpW,MACR+iB,EAAIrK,EAAID,EACRrC,EAAIzc,EAAEq9E,GACNv0D,EAAI9oB,EAAEo+E,GAAKr/D,EAAIvb,EACfge,EAAIF,EAAE0F,GACN9K,EAAIoF,EAAEm7D,GACR33B,GAAGxjC,EAAGxC,EAAGsC,EAAGob,GACZmjD,GAAGn+D,EAAGtF,EAAGO,EAAGqM,EAAGM,GACfk8B,GAAGtlD,EAAGwD,EAAGA,EAAIsb,EAAGrC,EAAGqM,EAAG/J,GACtBtgB,GAAKqgB,EACLsC,GAAKtC,EAAIwC,EAAEthB,EACXwD,GAAKsb,CAAA,CAEP2J,EAAEjlB,GAAK0L,GACPoS,EAAEiG,EAAIjG,EAAEg8D,GAAKpuE,CAAA,UAyBNo3C,KAAA,KACFs5B,GAAK/hF,KAAKgiF,GAAKhiF,KAAKk0C,GAAKl0C,KAAKiiF,GAAK,WAEjCv5B,KAAA,KACFw5B,GAAKliF,KAAKmiF,GAAKniF,KAAKoiF,GAAKpiF,KAAKspB,GAAKtpB,KAAKY,EAAIZ,KAAKmC,EAAI,WAEnDwmD,KAAA,KACF05B,GAAKriF,KAAKsiF,GAAKtiF,KAAKuiF,GAAK,OACzBC,GAAKj/D,EAAE,QACPk/D,GAAKl/D,EAAE,YAELqlC,KAAA,KACF85B,GAAA,eAz5CHj/D,EAAI,mBAPCA,EAAEmH,EAAGvZ,EAAG1L,GAAA,IACV,IAAI/E,EAAI+E,EAAE0L,GAAIkS,EAAI,EAAGA,EAAI3iB,IAC5BgqB,EAAEplB,KAAKG,EAAEhF,OAAS0Q,EAAI,EAAI,GAAK,KAC3B1L,EAAEhF,OAAS0Q,EAAI,IAFYkS,IAG/BE,EAAEmH,EAAErH,GAAIlS,EAAI,EAAG1L,EAAA,CAGX,CACN8d,EAAG,EAAG,CAAC,EAAG,KACLA,CAAA,CAu5CA,EAAK,UAEHolC,KAAA,KACF85B,GAAKp/D,EAAE,QACPq/D,GAAK3hE,EAAG,CAAC,EAAG,GAAI2nC,IAAA,KAChBi6B,GAAK5hE,EAAG,CAAC,EAAG,IAAK2nC,GAAA,UAEfE,KAAA,KACFg6B,GAAK9iF,KAAK+iF,GAAK/iF,KAAKopB,GAAKppB,KAAKgjF,GAAK,OACnCC,GAAK,IAAI1/D,EAAE,QACX2/D,GAAK,IAAI3/D,EAAE,YAETwlC,KAAA,KACFo6B,GAAKnjF,KAAKojF,GAAKpjF,KAAKqjF,GAAKrjF,KAAKsjF,GAAK,WAEjCt6B,KAAA,KACFu6B,GAAKvjF,KAAKwjF,GAAK,WAEbv6B,KAAA,KACFw6B,GAAK,CAAC,EAAG,QACTC,GAAK,CAAC,EAAG,QACTC,GAAK,CAAC,EAAG,QACTC,GAAK5jF,KAAKsvC,GAAK,WAEb4Z,KAAA,KACF26B,GAAKtgE,EAAE,UACPugE,GAAK,OACLC,GAAKxgE,EAAE,SACPygE,GAAKhkF,KAAKikF,GAAKjkF,KAAK4jF,GAAK5jF,KAAKkkF,GAAKlkF,KAAKmkF,GAAKnkF,KAAKokF,GAAK,WAErDh7B,KAAA,KACFi7B,GAAKrkF,KAAKiiB,EAAIjiB,KAAKskF,GAAK,OACxBC,GAAKjkF,MAAM,IAAIyoD,IAAA,KACfxE,EAAI,OACJigC,GAAKlkF,MAAM,IAAI4oD,IAAA,KACfu7B,GAAK,OACL7lE,EAAI,IAAI+rC,EAAA,UAENtB,KAAA,KACF17C,EAAI4V,EAAE,SACN0H,EAAI1H,EAAE,QACNw3D,GAAKx3D,EAAE,YAEL+lC,KAAA,KACFo7B,GAAK1kF,KAAKujB,EAAI,OACdohE,GAAK,QACL/+E,EAAI,IAAI+pC,EAAA,KACRi1C,GAAK,IAAIn8B,GAAA,KACTo8B,GAAK,IAAIn8B,GAAA,KACTo8B,GAAK,IAAIh8B,GAAA,KACTi8B,GAAK,IAAIp8B,GAAA,KACTq8B,GAAKhlF,KAAKilF,GAAKjlF,KAAKklF,GAAK,OACzBxhC,EAAI,IAAI0F,GAAA,KACR+7B,GAAKnlF,KAAKolF,GAAKplF,KAAKqlF,GAAKrlF,KAAKslF,GAAKtlF,KAAKulF,GAAKvlF,KAAKwlF,GAAKxlF,KAAKylF,GAAK,OACjEC,GAAK/mD,EAAG,EAAGgR,GAAA,KACXi0C,GAAK,OAEL+B,GAAKhnD,EAAG,EAAGsqB,IAAA,KACX28B,GAAK,IAAI/8B,GAAA,KACTg9B,GAAK7lF,KAAK8lF,GAAK,OACfC,GAAK,QACLC,GAAK,OACLC,GAAK,CAAC,EAAG,EAAG,EAAG,QACfC,GAAK5lF,MAAM,IAAI+oD,IAAA,KACf88B,GAAK,OACLC,GAAK9lF,MAAM,IAAI0oD,IAAA,KACfq9B,GAAK,OACL9B,GAAKjkF,MAAM,IAAIyoD,IAAA,KACfxE,EAAI,OACJ+hC,GAAK,QACLC,GAAK,OACLC,GAAK,QACLC,GAAK,OACLC,GAAK,QACLC,GAAK,OACLC,GAAK,QACL/8D,EAAI7pB,KAAK6jD,EAAI7jD,KAAK6mF,GAAK,OACvBC,GAAK,QACL7kE,EAAIjiB,KAAK+mF,GAAK/mF,KAAKgnF,GAAKhnF,KAAKinF,GAAK,OAClCzC,GAAKlkF,MAAM,IAAI4oD,IAAA,KACfv/B,EAAI3pB,KAAKykF,GAAK,OACdyC,GAAKjmE,EAAG,CAAC,EAAG,GAAI8nC,IAAA,KAChBo+B,GAAK,UACLC,GAAK,QACLC,GAAKrnF,KAAKsnF,GAAKtnF,KAAK+9C,EAAI,OACxBwpC,GAAK,QACLC,GAAK,OACL78C,GAAK,QACL88C,GAAK,OACLC,GAAK,QACLC,GAAK3nF,KAAK4nF,GAAK,WAEb1kC,GAAGz/B,EAAGmH,GAAA,OACN,EAAInH,EAAI,EAAIA,EAAImH,EAAIA,EAAInH,CAAA,UAExBknC,KAAA,KACFriC,EAAItoB,KAAK0+C,EAAI1+C,KAAKu8E,GAAKv8E,KAAKoV,OAASpV,KAAKwI,MAAQ,OAClDmF,EAAI,QACJsd,EAAI,QACJ8vD,GAAK,QACL8B,GAAK78E,KAAKs7E,GAAKt7E,KAAKmkD,EAAInkD,KAAKgiB,EAAIhiB,KAAKq+C,EAAI,OAC1C6+B,GAAK,YACL2K,IAAM,oBACNC,GAAK,sBACLC,GAAK,yBACLC,GAAKhoF,KAAK+8E,GAAK,OACf13E,KAAO,QACP02E,GAAK/7E,KAAKg8E,GAAKh8E,KAAKi8E,GAAKj8E,KAAK2+B,EAAI3+B,KAAKiB,EAAIjB,KAAKu/E,GAAKv/E,KAAKmhB,EAAInhB,KAAKm8E,GAAKn8E,KAAKq8E,GAAKr8E,KAAK2vC,EAAI,OAC3FgP,EAAI,QACJ+F,EAAI,WAEFmG,KAAA,IACHpnC,EAAI,IAAI6lC,GAAA,aACJ7lC,IACJA,EAAEF,EAAI,EAAKE,EAAEkhE,GAAK,KAAQlhE,EAAEihE,GAAK,EAAKjhE,EAAE0hE,GAAK,EAAI8C,KAAOA,GAAKr8B,KAC1DnoC,CAAA,UAEAunC,GAAEvnC,EAAGmH,EAAGvZ,GAAA,UACVoS,EAAEF,IAAOE,EAAEF,EAAIqH,EAAKnH,EAAEkhE,GAAKtzE,EAAKoS,EAAEihE,GAAK,GACrC,WAEAj5B,GAAGhoC,EAAGmH,EAAGvZ,GAAA,OACT,GAAKA,GAAK,KAAOoS,EAAEmH,EAAI,IAAM,GAAKnH,EAAEmH,EAAI,IAAM,IAAMnH,EAAEmH,EAAI,YAE1D+gC,GAAGloC,EAAGpS,GAAA,GACT,MAAQoS,EAAG,OAAO,KACtBA,EAAEF,EAAI,EACNE,EAAEkhE,GAAK,KACH,MAAQtzE,EAAG,OAAO25C,GAAEvnC,EAAG,EAAG,4CAC1B9d,EAAI0L,EAAEhM,KACNke,EAAIlS,EAAEs+B,EACNhR,EAAIttB,EAAE22E,GAAA,GACN,EAAIrpD,EAAG,OAAOqsB,GAAEvnC,EAAG,EAAG,yBACtBxC,EAAItb,EAAE4d,EAAI,GAAM5d,EAAE4d,EAAI,IAAM,EAAM5d,EAAE4d,EAAI,IAAM,GAC9CphB,EAAIshB,EAAEmhE,GAAA,GACVziF,EAAE8/E,KAAW,EAAJhhE,GACT9e,EAAE+xC,GAAMjzB,GAAK,EAAK,EAClB9e,EAAE6/E,GAAM/gE,GAAK,EAAK,EAClB9e,EAAE4/E,GAAK9gE,GAAK,EACR,EAAI9e,EAAE+xC,GAAI,OAAO8W,GAAEvnC,EAAG,EAAG,sCACxBthB,EAAE6/E,GAAI,OAAOh3B,GAAEvnC,EAAG,EAAG,0BAC1BF,GAAK,EACLob,GAAK,MACDzd,EAAIuC,EAAEohE,GAAA,GACN1iF,EAAE8/E,GAAI,IACJ,EAAItjD,EAAG,OAAOqsB,GAAEvnC,EAAG,EAAG,mCACrBgoC,GAAG9lD,EAAG4d,EAAGob,GAAI,OAAOqsB,GAAEvnC,EAAG,EAAG,iBACjCvC,EAAE/e,EAAmC,OAA7BwD,EAAE4d,EAAI,IAAM,EAAK5d,EAAE4d,EAAI,IAC/BrC,EAAEoI,GAAK3jB,EAAE4d,EAAI,IAAM,EACnBrC,EAAEtgB,EAAmC,OAA7B+E,EAAE4d,EAAI,IAAM,EAAK5d,EAAE4d,EAAI,IAC/BrC,EAAEkhE,GAAKz8E,EAAE4d,EAAI,IAAM,EACnBA,GAAK,EACLob,GAAK,EACLlb,EAAEgiE,GAAMvkE,EAAE/e,EAAI,IAAO,EACrBshB,EAAE+hE,GAAMtkE,EAAEtgB,EAAI,IAAO,EACrByQ,EAAE7I,MAAQ0Y,EAAE/e,EACZkP,EAAE+D,OAAS8L,EAAEtgB,EACbyQ,EAAE8qE,GAAK,EACP9qE,EAAEpQ,EAAI,EACNoQ,EAAE8P,EAAI,EACN9P,EAAEkuE,GAAKluE,EAAE7I,MACT6I,EAAEstB,EAAIttB,EAAE+D,OACR/D,EAAE4qE,GAAK,EACP5qE,EAAE2qE,GAAK3qE,EAAE7I,MACT6I,EAAE0qE,GAAK1qE,EAAE+D,OACT/D,EAAEqtC,EAAIrtC,EAAE7I,MACR6I,EAAEiX,EAAIjX,EAAE+D,OAERxU,GADAqgB,EAAIwC,EAAEmiE,IACFjD,GAAI,EAAG,IAAK1hE,EAAE0hE,GAAGhiF,QAErBiqB,EAAE,OADF3J,EAAIwC,EAAEshE,KAEN9jE,EAAEshE,GAAK,EACPthE,EAAEqhE,GAAK,EACPrhE,EAAEohE,GAAK,EACPzhF,EAAEqgB,EAAEuhE,GAAI,EAAG,EAAGvhE,EAAEuhE,GAAG7hF,QACnBC,EAAEqgB,EAAEwhE,GAAI,EAAG,EAAGxhE,EAAEwhE,GAAA,IAEdtgF,EAAE4/E,GAAKpjD,EAAG,OAAOqsB,GAAEvnC,EAAG,EAAG,wBAE7BpF,EADA4C,EAAIwC,EAAE7d,EACAD,EAAG4d,EAAGphB,EAAE4/E,IACdx+D,GAAKphB,EAAE4/E,GACPpjD,GAAKx8B,EAAE4/E,GACP5/E,EAAE8/E,KAAQ/gE,EAAEihE,GAAKpkC,EAAE98B,GAAMC,EAAEghE,GAAKnkC,EAAE98B,IAClCC,EAAIuC,EAAEshE,GAAA,IAEJx5D,EADE3M,EAAI6E,EAAEmiE,GAAA,GAEVh7D,EAAE,MAAQ3J,GACV2J,EAAE,MAAQ1J,GACVA,EAAEqhE,GAAKxkC,EAAE98B,GACLC,EAAEqhE,GAAI,IACRrhE,EAAEohE,GAAKvkC,EAAE98B,GACL88B,EAAE98B,GAAI,KACRC,EAAEmhE,GAAKtkC,EAAE98B,GACJsK,EAAI,EAAG,EAAIA,IAAKA,EAAGrK,EAAEshE,GAAGj3D,GAAKwyB,EAAE98B,GAAKrb,EAAGqb,EAAG,GAAK,MAC/CsK,EAAI,EAAG,EAAIA,IAAKA,EAAGrK,EAAEuhE,GAAGl3D,GAAKwyB,EAAE98B,GAAKrb,EAAGqb,EAAG,GAAK,KAElDC,EAAEohE,GAAI,IAAK/2D,EAAI,EAAG,EAAIA,IAAKA,EAAG3M,EAAE+jE,GAAGp3D,GAAKwyB,EAAE98B,GAAK9P,EAAG8P,EAAG,GAAK,SACzDC,EAAEohE,GAAK,KACVrhE,EAAEu4D,GAAI,OAAOxuB,GAAEvnC,EAAG,EAAG,mCACzBvC,EAAIuC,EAAEqhE,IACJ9B,GAAKjlC,EAAE98B,GACTC,EAAEkI,GAAKjY,EAAG8P,EAAG,GACbC,EAAE6hE,GAAK5xE,EAAG8P,EAAG,GACbC,EAAE4hE,GAAK/kC,EAAE98B,GACLC,EAAE4hE,IAAM/kC,EAAE98B,GAAI,KACXrC,EAAI,EAAG,EAAIA,IAAKA,EAAGm/B,EAAE98B,KAAOC,EAAE+hE,GAAGrkE,GAAKhZ,EAAGqb,EAAG,QAC5CrC,EAAI,EAAG,EAAIA,IAAKA,EAAGm/B,EAAE98B,KAAOC,EAAEgiE,GAAGtkE,GAAKhZ,EAAGqb,EAAG,OAEnDwC,EAAEkG,EAAI,GAAKzI,EAAEkI,GAAK,EAAIlI,EAAE8hE,GAAK,EAAI,EAC7B/hE,EAAEu4D,GAAI,OAAOxuB,GAAEvnC,EAAG,EAAG,kCAErBwH,EAAI0T,EAAA,GACRA,EAFApT,EAAIhI,EAGJA,EAAIgI,EAAIN,EACR/J,EAAI+J,EACJxH,EAAE0hE,IAAM,GAAKh0E,EAAGsS,EAAE7d,EAAG,IAAM,EAEvBqlB,EAAI,GADRrM,EAAI6E,EAAE0hE,IACSx/E,EAAI,MACd,KACH4lB,GAAK,EAAI3M,EACTsC,GAAK,EAAItC,EACJqM,EAAI,EAAGA,EAAIrM,IAAKqM,EAAG,KAClBtH,EAAIhe,EAAEg5B,EAAI,GAAMh5B,EAAEg5B,EAAI,IAAM,EAAMh5B,EAAEg5B,EAAI,IAAM,GAClDhb,EAAIzC,IAAMyC,EAAIzC,GACd7C,EAAGoF,EAAEiiE,IAAIz6D,GAAItlB,EAAG4lB,EAAG5H,GACnB4H,GAAK5H,EACLzC,GAAKyC,EACLgb,GAAK,EAEPtgB,EAAGoF,EAAEiiE,IAAI9mE,GAAIjZ,EAAG4lB,EAAGrK,GACnBvb,EAAI4lB,EAAIhI,EAAI,EAAI,KAEd,GAAK5d,EAAG,OAAOqlD,GAAEvnC,EAAG9d,EAAG,+BAE3BA,EAAIwL,EADJoa,EAAI9H,EAAE7d,EACI,GACV+4B,EAAIof,EAAExyB,GAAK3lB,EAAG2lB,EAAG,GAAK,EACtBhI,EAAIw6B,EAAExyB,GAAK3lB,EAAG2lB,EAAG,GAAK,EACtBrK,EAAI68B,EAAExyB,GAAK3lB,EAAG2lB,EAAG,GAAK,EACtB3M,EAAIm/B,EAAExyB,GAAK3lB,EAAG2lB,EAAG,GAAK,EACtBA,EAAIwyB,EAAExyB,GAAK3lB,EAAG2lB,EAAG,GAAK,EACtBN,EAAIxH,EAAEshE,GACDphE,EAAI,EAAG,EAAIA,IAAKA,EAAG,IAClBsH,EAAEs3D,GAAI,KACJphE,EAAI8J,EAAEu3D,GAAG7+D,GACbsH,EAAEo3D,KAAOlhE,GAAKxb,EAAA,KACT,IAAI,EAAIge,EAAG,CAChBF,EAAEkiE,GAAGhiE,GAAKF,EAAEkiE,GAAG,YAEVxkE,EAAIxb,CAAA,KACP6d,EAAIC,EAAEkiE,GAAGhiE,GACbH,EAAEigE,GAAG,GAAKyE,GAAGhlC,GAAG/hC,EAAIwd,EAAG,MACvBnb,EAAEigE,GAAG,GAAK0E,GAAGjlC,GAAG/hC,EAAI,EAAG,MACvBqC,EAAEkgE,GAAG,GAAK,EAAIwE,GAAGhlC,GAAG/hC,EAAIoC,EAAG,MAC3BC,EAAEkgE,GAAG,GAAM,OAASyE,GAAGjlC,GAAG/hC,EAAID,EAAG,OAAU,KACvCsC,EAAEkgE,GAAG,KAAOlgE,EAAEkgE,GAAG,GAAK,GAC1BlgE,EAAEmgE,GAAG,GAAKuE,GAAGhlC,GAAG/hC,EAAIvC,EAAG,MACvB4E,EAAEmgE,GAAG,GAAKwE,GAAGjlC,GAAG/hC,EAAIoK,EAAG,MACvB/H,EAAE8rB,GAAKnuB,EAAIoK,CAAA,KAERppB,EAAE8/E,GAAI,OAAOj3B,GAAEvnC,EAAG,EAAG,wBAC1Bs6B,EAAE98B,GACF9e,EAAIshB,EAAEmiE,GACDjgF,EAAI,EAAG,EAAIA,IAAKA,EAAG,KACjBg5B,EAAI,EAAG,EAAIA,IAAKA,EAAA,IACdpb,EAAI,EAAG,EAAIA,IAAKA,EAAA,IACdrC,EAAI,EAAG,GAAKA,IAAKA,EACnBtC,EAAIzd,EAAE8f,EAAGmnE,GAAGziF,GAAGg5B,GAAGpb,GAAGrC,IAAM/P,EAAG8P,EAAG,GAAKonE,GAAG1iF,GAAGg5B,GAAGpb,GAAGrC,GAChD/e,EAAEygF,GAAGj9E,GAAGg5B,GAAG+jD,GAAGn/D,GAAGrC,GAAKtC,EAAA,IAC1B+f,EAAI,EAAG,GAAKA,IAAKA,EAAGx8B,EAAE0gF,GAAGl9E,GAAGg5B,GAAKx8B,EAAEygF,GAAGj9E,GAAG2iF,GAAG3pD,GAAA,QAEnDlb,EAAEqiE,GAAK/nC,EAAE98B,GACTwC,EAAEqiE,KAAOriE,EAAEoiE,GAAK10E,EAAG8P,EAAG,IACdwC,EAAEihE,GAAK,WAER94B,GAAGnoC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,GAAA,IACxB1d,EAAI2J,EAAEhqB,GAAG8hF,GAAGrxE,GAAA,IACXA,EAAI,EAAG,GAAKzQ,IAAKA,EAAG,KAClBO,EAAEsiB,EAAGxC,EAAE5P,EAAI,IAAK,OAAOzQ,EAAA,MACpBO,EAAEsiB,EAAGxC,EAAE5P,EAAI,QACX4P,EAAI2J,IAAIhqB,GAAG8hF,GAAG,GAAMrxE,EAAI,EAAI,IAAMzQ,EAAI,OAAO,OACjDuB,EAAIyoB,EAAEhqB,EAAI,GAAG8hF,GAAA,GACbvhF,EAAEsiB,EAAGxC,EAAE5P,EAAI,IAAK,KACd6P,EAAIuC,EAGJ8H,EAAI,KACJpqB,EAAE+f,GAHJ+J,EAAIhK,IACJrC,EAAIvN,GAES,OACTlQ,EAAE+f,EAAG+J,EAAErM,EAAI,IAAK,KAClBqC,EAAI,EAGJrC,EAAI,GAFJ2M,EAAIpqB,EAAE+f,EAAG+J,EAAErM,EAAI,MACfqM,EAAI9pB,EAAE+f,EAAG+J,EAAErM,EAAI,EAAI2M,KAEnBA,EAAI,EACCN,EAAIs9D,GAAG3pE,GAAIqM,EAAEhK,KAAMA,EAAGsK,GAAKA,EAAIpqB,EAAE+f,EAAG+J,EAAEhK,IAC3CsK,GAAK,GAAK,GAAK3M,EAAA,MAEfzd,EAAE+f,EAAG+J,EAAErM,EAAI,KACL2M,EAAI,EAAI,EAAIpqB,EAAE+f,EAAG,KAAQqK,GAAKpqB,EAAE+f,EAAG,MACpCqK,EAAI,EAAIpqB,EAAE+f,EAAG,UACCqK,EAAlBpqB,EAAE+f,EAAG+J,EAAErM,EAAI,IAAW,EAAIzd,EAAE+f,EAAG+J,EAAErM,EAAI,IAAY,EACtDqC,EAAI9e,EAAE,QACAopB,EAAI,EAAKtK,EAAI9e,EAAE,GACvBA,EAAIw8B,EAAI6pD,GAAG5nF,GAAA,GACXsgB,EAAIuC,GACED,GAAKpa,EAAG8X,GAAA,IAEZtC,EADEqM,EAAI/J,EAAEsC,EAERG,GADA/E,EAAIsC,EAAEq4D,IAAM,IACFr4D,EAAEi9B,GAAKlzB,IAAO,KACxB/J,EAAEsC,EACJtC,EAAEq4D,IAAM51D,EACRzC,EAAEq4D,IAAM,EACRr4D,EAAEi9B,IAAOv/B,EAAI,EAAK+E,IAAMsH,EACxB1H,EAAEphB,KAAOopB,EAAI5H,GAAKA,GAAKhe,GAAG,EAAI/E,GAAK,UAE9B,YAEAkrD,GAAGroC,GAAA,IACNmH,EAAInH,EAAE2iE,GAAG3iE,EAAE4iE,GAAK,GACpBz7D,EAAE44D,GAAK,EACP54D,EAAE24D,GAAK,EACP3iF,EAAE6iB,EAAEwiE,GAAI,EAAG,EAAGxiE,EAAEwiE,GAAGtlF,QACnB8iB,EAAEsjE,GAAK,WAoQA96B,GAAGxoC,EAAGpS,GAAA,GACT,MAAQoS,EAAG,OAAO,KAClB,MAAQpS,EAAG,OAAO25C,GAAEvnC,EAAG,EAAG,4CACzBA,EAAEihE,KAAO/4B,GAAGloC,EAAGpS,GAAI,OAAO,KAC/BuZ,EAAEnH,EAAEihE,IACA,MAAQrzE,EAAEy2E,IAAMz2E,EAAEy2E,GAAGz2E,GAAI,CAC3BA,EAAEgrE,KAAO54D,EAAEkG,EAAI,OACX1I,EAAIwnE,GAAGhlE,EAAEkG,GAAA,MACRlG,EAAEkG,GACDlG,EAAE8hE,GAAK,EAAK9hE,EAAE6hE,GAAK,IACnB7hE,EAAE8hE,GAAMl0E,EAAE8P,EAAIF,GAAM,EACrBwC,EAAE6hE,GAAMj0E,EAAEpQ,EAAIggB,GAAM,EACrB,EAAIwC,EAAE8hE,KAAO9hE,EAAE8hE,GAAK,GACpB,EAAI9hE,EAAE6hE,KAAO7hE,EAAE6hE,GAAK,IACxB7hE,EAAE2hE,GAAM/zE,EAAEstB,EAAI,GAAK1d,GAAM,EACzBwC,EAAE4hE,GAAMh0E,EAAEkuE,GAAK,GAAKt+D,GAAM,EAC1BwC,EAAE4hE,GAAK5hE,EAAEgiE,KAAOhiE,EAAE4hE,GAAK5hE,EAAEgiE,IACzBhiE,EAAE2hE,GAAK3hE,EAAE+hE,KAAO/hE,EAAE2hE,GAAK3hE,EAAE+hE,IACrB,EAAI/hE,EAAEkG,EAAG,KACPxnB,EAAIshB,EAAEqhE,GAAA,IACL7jE,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBC,EAAA,GACAuC,EAAEshE,GAAGxC,GAAI,KACPh3D,EAAI9H,EAAEshE,GAAGtC,GAAGxhE,GAChBwC,EAAEshE,GAAG1C,KAAO92D,GAAKppB,EAAEinB,GAAA,MACdmC,EAAIppB,EAAEinB,GAAA,IACRlI,EAAI,EAAG,GAAKA,IAAKA,EAAG,KACnBtC,EAAI6E,EAAEyjE,GAAGjmE,GAAGC,GACd+J,EAAIM,EAAA,GACNppB,EAAE2gF,KAAQ73D,GAAK9oB,EAAE8gF,GAAG,GAAK/hE,IAAM+J,GAAK9oB,EAAE+gF,GAAG,KAErC,GADJj4D,EAAI,EAAIA,EAAI,EAAI,GAAKA,EAAI,GAAKA,GACnB,KACLtH,EAAIsH,EAAA,EACJ9oB,EAAE4gF,KACFp/D,EAAI,EAAIxhB,EAAE4gF,GAAKp/D,GAAK,EAAIA,GAAK,GAC3B,EAAIxhB,EAAE4gF,KAAOp/D,EAAI,EAAIxhB,EAAE4gF,IAAA,EACzBp/D,IAAMA,EAAI,GACd/E,EAAEykE,GAAK1/D,EACP/E,EAAE0kE,GAAK,EAAIr4D,EAAItH,EACf/E,EAAEukE,GAAK,IAAMl4D,EAAI,EAAI,IAAMA,EAAI,EAAI,OAC9BrM,EAAE0kE,GAAK,EACd1kE,EAAEwkE,GAAKliE,CAAA,GAIbD,EAAI,OACC+pC,GAAEvnC,EAAG,EAAG,sBAAwBxC,EAAIwC,EAAEF,EAAA,GACxCtC,EAAI,GAAKA,EAAI,IACZA,EAAG,CACLwC,EAAEwhE,GAAK,IACHxhE,EAAEyhE,KAAOzhE,EAAEuhE,GAAK0D,IACpBjlE,EAAG,CACDxC,EAAIwC,EAAEuhE,GAEJ7iF,EAAI,GADFwhB,EAAIF,EAAEgiE,IAAA,IAERpnE,EAAI,GAAKsF,EACTxS,EAAIwS,EAAI,EACR/d,EAAI,EAAI6d,EAAEkG,EAAIhG,GAAK,EAAIF,EAAEyhE,GAAK,EAAI,GAAK,EACvC/jE,GAAK,GAAKsC,EAAEyhE,GAAK,EAAI,GAAKvhE,EAAA,IAG5B/E,EAAIzc,EAAI,KAFR+e,EAAM,GAAK,GAAKD,EAAIwnE,GAAGhlE,EAAEkG,IAAO,EAAKtL,IACrCkN,EAAI,MAAQ9H,EAAE2jE,IAAM,EAAI3jE,EAAE2jE,GAAGzmF,OAAS8iB,EAAEohE,GAAG1iF,EAAIshB,EAAEohE,GAAGjkF,EAAI,KAE/Cge,EAAGqC,EAAI,MACX,IACCrC,EAAI6E,EAAEujE,GAAI,IACZvjE,EAAEujE,GAAK,EACPvjE,EAAEqjE,GAAKvjE,EAAE3E,GACT6E,EAAEwjE,GAAK,EACH,MAAQxjE,EAAEqjE,GAAI,CAChB7lE,EAAI+pC,GAAEvnC,EAAG,EAAG,gDACNA,CAAA,CAERA,EAAEujE,GAAKpoE,CAAA,CAETA,EAAI6E,EAAEqjE,GACN77D,EAAIxH,EAAEwjE,GACNxjE,EAAEsiE,GAAKnnE,EACP6E,EAAEuiE,GAAK/6D,EACPA,GAAK9oB,EACLshB,EAAEyiE,GAAKvnD,EAAGtgB,EAAGgrC,IACb5lC,EAAE0iE,GAAK,EACP1iE,EAAE2iE,GAAKznD,EAAGxtB,EAAI,EAAG63C,IACjBvlC,EAAE4iE,GAAK,EACP5iE,EAAE8gE,GAAK3+E,EAAI+4B,EAAG/4B,EAAGmjD,IAAM,KACvBtlC,EAAE8gC,EAAI,EACN9gC,EAAEigC,EAAE4gC,GAAK,EACT7gE,EAAEigC,EAAE6gC,GAAK9gE,EAAE8gE,GACX9gE,EAAEigC,EAAEa,EAAI9gC,EAAE8gC,EAAA,EACN9gC,EAAEyhE,KAAOzhE,EAAEigC,EAAEa,GAAK5gC,GACtBiH,GAAA,GACAnH,EAAE6iE,GAAK1nE,EACP6E,EAAE8iE,GAAKt7D,EACPA,GAAK,IACLxH,EAAE+gE,GAAK7lD,EAAGxd,EAAG+nC,IACbzlC,EAAEghE,GAAK,EACPhhE,EAAEigC,EAAE8gC,GAAK/gE,EAAE+gE,GACX/gE,EAAEigC,EAAE+gC,GAAKhhE,EAAEghE,GAAA,GACNhhE,EAAEyhE,KAAOzhE,EAAEigC,EAAE+gC,IAAM9gE,GACxBF,EAAEogC,EAAI,GAAKlgC,EACXF,EAAEoG,EAAI,EAAIlG,EAEVA,GADAtF,EAAIoqE,GAAGhlE,EAAEkG,IACDlG,EAAEogC,EACVxlC,EAAKA,EAAI,EAAKoF,EAAEoG,EAChBpG,EAAE+iE,GAAK5nE,EACP6E,EAAEgjE,GAAKx7D,EAAItH,EACXF,EAAEijE,GAAKjjE,EAAE+iE,GACT/iE,EAAEkjE,GAAKljE,EAAEgjE,GAAK,GAAKxlE,EAAIwC,EAAEogC,EAAIxlC,EAC7BoF,EAAEmjE,GAAKnjE,EAAEijE,GACTjjE,EAAEojE,GAAKpjE,EAAEkjE,GAAK,EAAI1lE,EAAIwC,EAAEoG,EAAIxL,EAC5BoF,EAAEwhE,GAAK,EACPh6D,GAAK/J,EACLuC,EAAEknB,GAAKpf,EAAI3M,EAAI,KACf6E,EAAEgkE,GAAKl8D,EAAIN,EAAI,KACfL,EAAEK,EAAIM,GAAK9H,EAAEwjE,GAAKxjE,EAAEujE,IACpBl7B,GAAGroC,GACH7iB,EAAE6iB,EAAEsiE,GAAItiE,EAAEuiE,GAAI,EAAG7jF,GACjB8e,EAAI,MAGJA,EAAG,IACL5P,EAAEkrE,GAAK,EACPlrE,EAAE1D,EAAI8V,EAAE+iE,GACRn1E,EAAEgtC,EAAI56B,EAAEgjE,GACRp1E,EAAE4Z,EAAIxH,EAAEijE,GACRr1E,EAAE2Q,EAAIyB,EAAEkjE,GACRt1E,EAAE0pE,GAAKt3D,EAAEmjE,GACTv1E,EAAEs3E,GAAKllE,EAAEojE,GACTx1E,EAAEiqE,GAAK73D,EAAEogC,EACTxyC,EAAEwrE,GAAKp5D,EAAEoG,EACTxY,EAAEstC,EAAI,KACNttC,EAAEqzC,EAAI,GACDkkC,GAAI,KACF3nE,GAAK,IAAK,KAAOA,IAAKA,EAAG4nE,GAAG,IAAM5nE,GAAK,EAAIA,GAAKA,EAAIA,EAAA,IACpDA,GAAK,KAAM,MAAQA,IAAKA,EAC3B6nE,GAAG,KAAO7nE,IAAM,IAAMA,GAAK,IAAM,IAAMA,EAAI,IAAMA,EAAA,IAC9CA,GAAK,IAAK,KAAOA,IAAKA,EACzB8nE,GAAG,IAAM9nE,IAAM,GAAKA,GAAK,GAAK,GAAKA,EAAI,GAAKA,EAAA,IACzCA,GAAK,IAAK,KAAOA,IAAKA,EACzB+nE,GAAG,IAAM/nE,GAAK,EAAIA,EAAI,EAAI,IAAMA,EAAI,IAAMA,EAC5C2nE,GAAK,EAEPK,GAAKt6B,GACLu6B,GAAK57B,GACL67B,GAAK96B,GACL+6B,GAAK76B,GACL86B,GAAK15B,GACL25B,GAAKz8B,GACL7d,GAAKu6C,GACLhiF,GAAKisD,GACLg2B,GAAK3zB,GACL4zB,GAAKxzB,GACLyzB,GAAKh2B,GACLi2B,GAAK/1B,GACLg2B,GAAK96C,GACL+6C,GAAKxzB,GACLyzB,GAAK53B,GACL63B,GAAK33B,GACL43B,GAAKx3B,GACLy3B,GAAKv3B,GACLw3B,GAAE,GAAKx6B,GACPw6B,GAAE,GAAKr/C,GACPq/C,GAAE,GAAK16B,GACP06B,GAAE,GAAK96B,GACP86B,GAAE,GAAK53B,GACP43B,GAAE,GAAKl6B,GACPk6B,GAAE,GAAKluD,GACPkuD,GAAE,GAAKC,GACPD,GAAE,GAAKv5B,GACPu5B,GAAE,GAAKn3B,GACP7iB,GAAE,GAAKuf,GACPvf,GAAE,GAAK8e,GACP9e,GAAE,GAAK4f,GACP5f,GAAE,GAAKif,GACPjf,GAAE,GAAKk6C,GACPl6C,GAAE,GAAKmf,GACPnf,GAAE,GAAKof,GACP+6B,GAAG,GAAKh5B,GACRg5B,GAAG,GAAKx7B,GACRw7B,GAAG,GAAKj6B,GACRi6B,GAAG,GAAKz5B,GACRy5B,GAAG,GAAK/4B,GACR+4B,GAAG,GAAKv5B,GACRu5B,GAAG,GAAK94B,GACRtwC,EAAI,OACCA,EAAI,EAEbA,IAAMA,EAAA,SA5bEwC,EAAGpS,GAAA,IACRoS,EAAExB,EAAI,EAAGwB,EAAExB,EAAIwB,EAAE2hE,KAAM3hE,EAAExB,EAAG,KAI7B0c,EAHE1d,EAAIwC,EAAEiiE,GAAGjiE,EAAExB,EAAIwB,EAAE0hE,IACnBhjF,EAAIshB,EAAE7d,EACNsb,EAAIuC,EAAA,IAEDkb,EAAI,EAAGA,EAAIzd,EAAEukE,KAAM9mD,EAAG,KACrBpT,EAAIppB,EACJyc,EAAIsC,EACJ+J,EAAIrM,EAAEmnE,GACRpiE,EAAI/E,EAAEonE,GAAK,EAAIrnD,EACftgB,EAAIO,EAAEqnE,GACN90E,EAAIyN,EAAE4lE,GAAG5lE,EAAE6lE,GAAK9lD,GAAA,GAClB/f,EAAEmmE,GAAGzC,GACAnxE,EAAE6yE,GAAK7iF,EAAEoqB,EAAG3M,EAAEgnE,GAAGjD,GAAG,IACjB,EAAIxhF,EAAEoqB,EAAG3M,EAAEgnE,GAAGjD,GAAG,IACjBxhF,EAAEoqB,EAAG3M,EAAEgnE,GAAGjD,GAAG,IAChBxxE,EAAE6yE,GAAK,EACZplE,EAAEknE,KAAO30E,EAAE8yE,GAAK9iF,EAAEoqB,EAAG3M,EAAEinE,KACvB10E,EAAE2yE,IAAM3iF,EAAEoqB,EAAG,KAAO,EAChBpa,EAAE2yE,GAAI,KACJl+E,EAAIuL,EAAE4yE,GACR5iE,EAAI,MACDvC,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAElB4E,EADA7V,EAAI0Q,EAAE,EAAIO,GAAA,IAET4E,EAAI,EAAG,EAAIA,IAAKA,EAAG,CACtB7V,EAAI28E,GAAGr/D,EAAEtH,EAAIH,IAAI7V,GAAA,IACZ,IAAIgiC,EAAI46C,GAAGppF,EAAEoqB,EAAG5d,EAAE,KAAM,EAAIgiC,GAC/BA,EAAI46C,GAAG,EAAI56C,EAAIxuC,EAAEoqB,EAAG5d,EAAEgiC,KACxBhiC,GAAKgiC,EACL1kB,EAAEtH,EAAIH,GAAK7V,CAAA,CAEbhI,EAAEC,EAAGub,EAAG8J,EAAGtH,EAAG,GACdxC,GAAK,EACL9C,EAAE,EAAIO,GAAKjR,CAAA,OAGZA,EAAIxM,EAAEoqB,EAAG,KAAQpqB,EAAEoqB,EAAG,KAAO,EAAI,EAAKpqB,EAAEoqB,EAAG,KAAO,EAAI,EACpDpa,EAAE4yE,GAAG,GAAKp2E,EACX/M,EAAEqqB,EAAGtH,EAAGhW,EAAG,GACX/M,EAAEyd,EAAG,EAAG1Q,EAAG,GACfwD,EAAEizE,GAAKjjF,EAAEoqB,EAAG,KAAQpqB,EAAEoqB,EAAG,KAAQpqB,EAAEoqB,EAAG,KAAO,EAAI,EAAK,EAAK,KAEzDrK,EAAEtb,EAAE4zE,GAAI,OAAOxuB,GAAEvnC,EAAG,EAAG,iDACpBA,EAAEsjE,GAAKtjE,EAAEgiE,KAAMhiE,EAAEsjE,GAAI,IAE1B7lE,EAAID,EACJsK,GAFAppB,EAAIshB,GAEE2iE,GAAGjkF,EAAEkkF,GAAK,GAChBp7D,EAAI9oB,EAAEikF,GAAGjkF,EAAEkkF,GAAKlkF,EAAE4kF,IAClBpoD,EAAIx8B,EAAEqiF,GAAGriF,EAAEsiF,GAAKtiF,EAAE4kF,IACbpjE,EAAIxhB,EAAE2jF,GAAKnnD,EAAEslD,GAAK,EACpB14D,EAAEi4D,GAAKv4D,EAAEu4D,GAAK,EACb7kD,EAAEmlD,KAAOv4D,EAAEg4D,GAAKt4D,EAAEs4D,GAAK,GACtB5kD,EAAEwlD,GAAK,EACPxlD,EAAEulD,GAAK,EACPvlD,EAAEilD,GAAK,MACP,KACC5hE,EACF2H,EAKW,GAJX4B,EAAIN,EACJA,EAAI/J,EACJyC,EAAIxhB,EAAEyjF,GAAG/C,GACTxkE,EAAIlc,EAAEqiF,GAAGriF,EAAEsiF,GAAKtiF,EAAE4kF,IAClB51E,EAAIhP,EAAEwjF,GAAGtnE,EAAE2lE,IACbplE,EAAIP,EAAEwlE,GACNj+E,EAAI,EACJub,EAAIhf,EAAEikF,GAAGjkF,EAAEkkF,GAAK,GAChB14E,EAAI6V,EAAI,EACR5iB,EAAEge,EAAGhZ,EAAG,EAAG,KACPyY,EAAEylE,GAAA,IACAjmC,EAAI,EACJnwC,EAAIiW,EAAE,OACL,CACLgsB,EAAIpsB,EAAE,QACFu6B,EAAIvyB,EAAEg4D,GAAKpiE,EAAEoiE,GAAA,GACjBzlC,EAAImqC,GAAGh9D,EAAGtH,EAAE,GAAIm6B,EAAG3sC,EAAEuyE,GAAI,EAAG/zC,EAAG,GAC/BpkB,EAAEg4D,GAAKpiE,EAAEoiE,IAAM,EAAIzlC,GAAK,EACpB,EAAIA,EAAGmrC,GAAGt5C,EAAG,EAAG/wB,EAAGhZ,OAClB,KACCwD,EAAKumC,EAAE,GAAK,GAAM,MACjBA,EAAI,EAAG,IAAMA,EAAGA,GAAK,GAAI/wB,EAAEhZ,EAAI+pC,GAAKvmC,CAAA,CAE3Cy0C,EAAI,EACJnwC,EAAIiW,EAAE,OAEJo6B,EAAW,GAAPxyB,EAAEi4D,GACNrlC,EAAW,GAAPh9B,EAAEqiE,GAAA,IACL7zC,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBgP,EAAQ,EAAJR,EAAA,IACH/0C,EAAIugB,EAAI,EAAG,EAAIvgB,IAAKA,EAIpB20C,EAAKA,GAAK,GADVY,GADAb,EAAImqC,GAAGh9D,EAAGvd,EADZowC,EAAIa,GAAS,EAAJZ,GACS5sC,EAAEsyE,GAAI5lC,EAAGj/B,EAAGhZ,IACpBi4C,IACa,EACrBl0B,EAAKA,GAAK,GAAM,EAAIm0B,EAAI,EAAI,EAAIA,EAAI,EAAI,GAAKl/B,EAAEhZ,EAAI,IACnDA,GAAK,GACVm4C,IAAM,EACNI,EAAKA,GAAK,EAAMQ,GAAK,EACrBn7B,GAAMA,GAAK,EAAKmG,KAAO,MAEzBjc,EAAIqwC,EACJF,EAAIM,GAAK,EACJn8B,EAAI,EAAG,EAAIA,EAAGA,GAAK,EAAG,KACzB2H,EAAI,EACJo0B,EAAIxyB,EAAEi4D,IAAO,EAAIxhE,EACjBm8B,EAAIh9B,EAAEqiE,IAAO,EAAIxhE,EACZ2tB,EAAI,EAAG,EAAIA,IAAKA,EAAG,KACtBgP,EAAQ,EAAJR,EACC/0C,EAAI,EAAG,EAAIA,IAAKA,EAClB00C,EAAIa,GAAS,EAAJZ,GAGPA,EAAKA,GAAK,GADVY,EAAI,GADJb,EAAImqC,GAAGh9D,EAAGtH,EAAE,GAAIm6B,EAAG3sC,EAAEwyE,GAAI,EAAG/kE,EAAGhZ,MAEV,EACrB+jB,EAAKA,GAAK,GAAM,EAAIm0B,EAAI,EAAI,EAAIA,EAAI,EAAI,GAAKl/B,EAAEhZ,EAAI,IACnDA,GAAK,GACVm4C,IAAM,EACNI,EAAKA,GAAK,EAAMQ,GAAK,EAEvBhxC,GAAKgc,GAAM,EAAI3H,EACftU,GAAMqwC,GAAK,GAAM/7B,EACjB67B,IAAU,IAAJM,IAAYn8B,CAAA,CAEpBuJ,EAAEi4D,GAAK91E,EACPyT,EAAEqiE,GAAK3lC,EACPx/B,EAAE8lE,GAAK3gE,EACPnF,EAAE6lE,GAAKv2E,EACP0Q,EAAEulE,GAAS,MAAJj2E,EAAY,EAAIwD,EAAEyyE,GACzBjgE,IAAMH,EAAI7V,EAAA,MAERxL,EAAEwnB,IACFxnB,EAAEoiF,GAAGpiF,EAAEoiD,EAAIpiD,EAAE4kF,IAAM5kF,EAAE+kF,GAAGvoD,EAAEqlD,IAAIrlD,EAAEmlD,IACjC3hF,EAAEoiF,GAAGpiF,EAAEoiD,EAAIpiD,EAAE4kF,IAAI3D,KAAOz/D,GACvBzC,EAAEs4D,GAAI,OAAOxuB,GAAEvnC,EAAG,EAAG,yCAE3BqoC,GAAGroC,GAEHthB,EAAIkP,EACJ6P,EAAI,EACJyd,GAHA1d,EAAIwC,GAGEigC,EACNn4B,EAAI,EAAItK,EAAE0I,GAAK1I,EAAEgB,GAAKhB,EAAEqkE,IAAMrkE,EAAEgB,GAAKhB,EAAEmkE,GACnC,GAAKnkE,EAAEikE,GACTzhE,EAAG,IACAkb,EAAE1c,EAAIhB,EAAEgB,EAAK0c,EAAE0lD,GAAK94D,EAAI+uC,GAAGr5C,EAAG0d,GAAKzd,EAAI,EAExCyd,GADAhV,EAAI1I,EAAEyiC,GACA4gC,GAEN/4D,GADA5d,EAAI86E,GAAGxnE,EAAE0I,IACD1I,EAAE4iC,EACV54B,EAAKtd,EAAI,EAAKsT,EAAE4I,EAChB8lB,EAAI,GAAKhR,EAAI1d,EAAE4iC,EACfz6C,EAAI,EAAIu1B,EAAI1d,EAAE4I,EACdlG,EAAI1C,EAAEulE,GACNnoE,EAAI4C,EAAEwlE,GAAKl7D,EAAIokB,EACfx+B,EAAI8P,EAAEylE,GACN9nE,EAAIqC,EAAE0lE,GAAK17D,EAAI7hB,EACfxD,EAAIqb,EAAE2lE,GACNzlE,EAAIF,EAAE4lE,GAAK57D,EAAI7hB,EAEf+0C,EAAI,IADJJ,EAAIp0B,EAAE1H,GAENuB,EAAIu6B,GAAK98B,EAAEmkE,GAAK,KACXnkE,EAAEikE,IAAM5qB,GAAGr5C,EAAG0I,GACfA,EAAE06D,GACJ,IAAY1lC,GAAPb,EAAI78B,GAASyiC,EAAEzhC,EAAG2I,EAAEkzB,EAAE4F,EAAE2gC,IAAK16D,EAAIm0B,EAAEynC,GAAI57D,EAAIm0B,EAAEunC,KAAM17D,EAAG,CAEzDk0B,EAAIl0B,EACJjc,EAAIixC,EAAA,IAEFj1B,GADEzoB,GAHAy9C,EAAIZ,GAGE4F,GACF4gC,GACRtiE,EAAI08B,EAAEmF,EAAA,IACF5iD,EAAIA,EAAEsjF,GAAGtjF,EAAEsjD,EAAI1G,GACjBQ,EAAIK,EAAE8nC,GACN38D,EAAI60B,EAAE+nC,GAAK,GAAK/8D,EAAI1H,EAAI,GAAK67B,EAC7B57B,EAAIhhB,EAAEoiF,GACN5jC,EAAIx+C,EAAEqiF,GAAA,GACJ,GAAK7jC,EACP,GAAK70B,EAAE,GAAK60B,GAAI,GAAKf,EAAE/0B,EACrB,EAAIk0B,GAAKksC,GAAG1rC,EAAGx0B,EAAG7H,EAAGy9B,EAAI,GACvBx+C,EAAEmiF,IAAM6G,GAAG5rC,EAAGx0B,EAAG7H,EAAGy9B,GACpB,EAAI/xC,GAAKo8E,GAAGzrC,EAAGx0B,EAAG7H,EAAGy9B,EAAI,GACzBx+C,EAAEmiF,IAAM4G,GAAG3rC,EAAGx0B,EAAG7H,EAAGy9B,OACnB,KACCn8B,EAAIo7B,EAAE70B,EACR65B,EAAIhF,EAAEgoC,GACN7iC,EAAInF,EAAEioC,GAAK,EAAIj9D,EAAIpG,EAAI,EAAIu6B,EAC3Bv1B,EAAIo2B,EAAEkoC,GACNloC,EAAIA,EAAEmoC,GAAK,EAAIn9D,EAAIpG,EAAI,EAAIu6B,EAC3Bn0B,EAAIzoB,EAAEkiF,GAAA,EACJtlC,IACDt2C,GAAG82C,EAAGx0B,EAAG7H,EAAGy9B,EAAI,EAAGx9B,EAAGyH,GACvB+/D,GAAG/lC,EAAGG,EAAGv7B,EAAGo2B,EAAGp7B,EAAGm8B,EAAI,EAAGx9B,EAAGyH,IAC9BzoB,EAAEmiF,KAAOuG,GAAGtrC,EAAGx0B,EAAG7H,EAAGy9B,EAAGx9B,EAAGyH,GAAImgE,GAAGnmC,EAAGG,EAAGv7B,EAAGo2B,EAAGp7B,EAAGm8B,EAAGx9B,EAAGyH,IAAA,EACnDhc,IACDshC,GAAGqP,EAAGx0B,EAAG7H,EAAGy9B,EAAI,EAAGx9B,EAAGyH,GACvB8/D,GAAG9lC,EAAGG,EAAGv7B,EAAGo2B,EAAGp7B,EAAGm8B,EAAI,EAAGx9B,EAAGyH,IAC9BzoB,EAAEmiF,KAAOsG,GAAGrrC,EAAGx0B,EAAG7H,EAAGy9B,EAAGx9B,EAAGyH,GAAIkgE,GAAGlmC,EAAGG,EAAGv7B,EAAGo2B,EAAGp7B,EAAGm8B,EAAGx9B,EAAGyH,GAAA,KAG/DzI,EAAE2iE,IAAM/wB,MAAM,kBACV,MAAQ1wD,EAAE0lF,IAAK,IACjBl+D,EAAI,GAAKo0B,EACTA,EAAI,IAAMA,EAAI,GACdI,GACMh8C,EAAEwL,EAAIsT,EAAEulE,GACTrkF,EAAEk8C,EAAIp9B,EAAEwlE,GAAK92C,EACbxtC,EAAE8oB,EAAIhK,EAAEylE,GACRvkF,EAAE6f,EAAIf,EAAE0lE,GAAKv9E,EACbjH,EAAE44E,GAAK95D,EAAE2lE,GACTzkF,EAAEgiD,EAAIljC,EAAE4lE,GAAKz9E,IACZugB,GAAKhc,EACNxL,EAAEwL,EAAIgW,EACNxhB,EAAEk8C,EAAIhgC,EACNlc,EAAE8oB,EAAI9Z,EACNhP,EAAE6f,EAAIpD,EACNzc,EAAE44E,GAAKn1E,EACPzD,EAAEgiD,EAAIhjC,GACXqC,IAAMu6B,GAAKpwC,GACXowC,EAAI57C,EAAEw8B,IAAMof,EAAI57C,EAAEw8B,GAClBx8B,EAAEw8C,EAAI,KACNx8C,EAAEuiD,EAAI,KAEJ,MAAQzjC,EAAEmmE,IACV,EAAInmE,EAAEmmE,GAAGzmF,QACTgpB,EAAIo0B,IACF57C,EAAEuiD,EAAIyP,GAAGlzC,EAAG9e,EAAGwnB,EAAGo0B,EAAIp0B,GACvBxnB,EAAEw8C,EAAI19B,EAAE0pB,GACT,MAAQxoC,EAAEw8C,GAAK,GAAKx8C,EAAEw8C,EAAEh+C,QACxB,CACAugB,EAAI8pC,GAAE/pC,EAAG,EAAG,sCACNwC,CAAA,CAERkG,EAAIxnB,EAAElB,IACF0M,EAAIxL,EAAElB,EAAI0oB,EACXA,EAAIxnB,EAAElB,EACP2pB,IAAQ,EAAJjd,IACHxL,EAAEk8C,GAAKp9B,EAAE4iC,EAAIl2C,EACbxL,EAAE6f,GAAKf,EAAE4I,GAAKlc,GAAK,GACnBxL,EAAEgiD,GAAKljC,EAAE4I,GAAKlc,GAAK,GACpB,MAAQxL,EAAEw8C,IAAMx8C,EAAEuiD,GAAKviD,EAAEqG,MAAQmF,IACnCgc,EAAIo0B,IACA57C,EAAEk8C,GAAKl8C,EAAEgf,EACVhf,EAAE6f,GAAK7f,EAAEgf,GAAK,EACdhf,EAAEgiD,GAAKhiD,EAAEgf,GAAK,EACf,MAAQhf,EAAEw8C,IAAMx8C,EAAEuiD,GAAKviD,EAAEgf,GACxBhf,EAAEo6E,GAAK5yD,EAAIxnB,EAAElB,EACbkB,EAAEu8C,EAAIv8C,EAAEo9E,GAAKp9E,EAAEgf,EACfhf,EAAEmmB,EAAIy1B,EAAIp0B,EACVzI,EAAI/e,EAAE0lF,IAAI1lF,GAAA,CAEfw8B,EAAI,GAAK1d,EAAE+jE,IACTxhE,IACC7d,EAAEsb,EAAEulE,GAAIvlE,EAAEwlE,GAAKl7D,EAAG5H,EAAGtF,EAAI,GAAK4C,EAAE4iC,EAAGt4B,GACpC5lB,EAAEsb,EAAEylE,GAAIzlE,EAAE0lE,GAAK17D,EAAG9Z,EAAGyN,EAAI,EAAIqC,EAAE4I,EAAGoB,GAClCtlB,EAAEsb,EAAE2lE,GAAI3lE,EAAE4lE,GAAK57D,EAAGrlB,EAAGub,EAAI,EAAIF,EAAE4I,EAAGoB,GAAA,KAEnC/J,EAAG,OAAO8pC,GAAEvnC,EAAG,EAAG,0BAElB,EA4LC,CAAOA,EAAGpS,IAAA,MACRA,EAAE02E,IAAM12E,EAAE02E,GAAG12E,GACrB4P,GAAK,SAEFA,GACLwC,EAAEihE,GAAK,EACAzjE,GAFQ,WAIRirC,GAAGzoC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GACtBA,EAAI6iB,EAAEmH,EAAIvZ,EAAI,GAAK1L,IAAM/E,GAAK,GAC9B6iB,EAAEmH,EAAIvZ,EAAI,GAAK1L,IAAU,IAAL/E,EAAY,EAAIA,EAAI,EAAI,IAAOA,CAAA,UAE5CurD,GAAG1oC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,GACzB2oC,GAAGzoC,EAAGmH,EAAG,EAAGvZ,EAAG1L,EAAI/E,GACnBsrD,GAAGzoC,EAAGmH,EAAG,EAAGvZ,EAAG1L,EAAI4d,GACnB2oC,GAAGzoC,EAAGmH,EAAG,EAAGvZ,EAAG1L,EAAI4d,GACnB2oC,GAAGzoC,EAAGmH,EAAG,EAAGvZ,EAAG1L,EAAI/E,EAAA,UAEZ4lB,GAAG/C,GAAA,OACD,MAAQA,GAAM,IAAMA,CAAA,UAEtBkpC,GAAGlpC,EAAGmH,EAAGvZ,EAAG1L,GAAA,IAEjB/E,EADE+9B,EAAI,EAEJ1d,EAAIsC,EAAE,QACL3iB,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBuB,EAAIshB,EAAEmH,EAAI,GAAKnH,EAAEmH,EAAI,GACrB1J,EAAIuC,EAAEmH,EAAI,GAAKnH,EAAEmH,EAAI,GACrBW,GAAM,MAAQ9H,EAAEmH,EAAI,IAAO,IAAMpE,GAAG/C,EAAEmH,EAAI,KAC1ChM,EAAI4H,GAAG/C,EAAEmH,EAAI,KAAQ,MAAQnH,EAAEmH,EAAI,KAAQ,IAC/C3J,EAAE0d,EAAI,GAAKx8B,EAAIyc,EACfqC,EAAE0d,EAAI,GAAKzd,EAAIqK,EACftK,EAAE0d,EAAI,GAAKzd,EAAIqK,EACftK,EAAE0d,EAAI,GAAKx8B,EAAIyc,EACf+f,GAAK,EACL/T,GAAA,KAEGhqB,EAAI+9B,EAAI,EAAG,EAAI/9B,IAAKA,EAEpBuB,GADFshB,EAAIxC,EAAE0d,EAAI,GAAK,GACL1d,EAAE0d,EAAI,GACdzd,EAAIuC,EAAIxC,EAAE0d,EAAI,GACdpT,GAAM,MAAQtK,EAAE0d,EAAI,IAAO,IAAMnY,GAAGvF,EAAE0d,EAAI,KAE3CutB,GAAG76C,EAAG1L,EAAG,EAAG,EAAGxD,GADdyc,EAAI4H,GAAGvF,EAAE0d,EAAI,KAAQ,MAAQ1d,EAAE0d,EAAI,KAAQ,MAE5CutB,GAAG76C,EAAG1L,EAAG,EAAG,EAAGub,EAAIqK,GACnB2gC,GAAG76C,EAAG1L,EAAG,EAAG,EAAGub,EAAIqK,GACnB2gC,GAAG76C,EAAG1L,EAAG,EAAG,EAAGxD,EAAIyc,GACnB+f,IACCh5B,GAAK,YAEHknD,GAAGppC,EAAGmH,EAAGvZ,EAAG1L,GAAA,IACf/E,EAAI6iB,EAAEmH,EAAI,GAAK,EACjBrH,EAAK,MAAQE,EAAEmH,EAAI,IAAO,GAC1B+T,EAAInY,GAAG/C,EAAEmH,EAAI,IACb3J,EAAK,MAAQwC,EAAEmH,EAAI,IAAO,GAE5BuhC,GAAG96C,EAAG1L,EAAG,EAAG/E,EAAI+9B,EADhBlb,EAAI+C,GAAG/C,EAAEmH,EAAI,IACS3J,GACtBkrC,GAAG96C,EAAG1L,EAAG,EAAG/E,EAAI2iB,EAAGE,EAAGxC,GACtBkrC,GAAG96C,EAAG1L,EAAG,EAAG/E,EAAI2iB,EAAGE,EAAGxC,GACtBkrC,GAAG96C,EAAG1L,EAAG,EAAG/E,EAAI+9B,EAAGlb,EAAGxC,EAAA,UAEfqsC,GAAG7pC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GACtB+rD,GAAGlpC,EAAGmH,EAAGvZ,EAAG1L,GACZ/E,GAAK+rD,GAAGlpC,EAAGmH,EAAI,GAAIvZ,EAAG1L,EAAI,YAEnB0oD,GAAG5qC,EAAGmH,EAAGvZ,EAAG1L,GACnBujF,GAAGzlE,EAAGmH,EAAI,EAAGvZ,EAAG1L,EAAG,GACnBujF,GAAGzlE,EAAGmH,EAAI,GAAIvZ,EAAG1L,EAAI,IAAK,YAEnB4oD,GAAG9qC,EAAGmH,EAAGvZ,EAAG1L,GAAA,IAEf/E,EAAA,IADJ6iB,EAAIA,EAAEmH,EAAI,GAAK,EAEVhqB,EAAI,EAAG,EAAIA,IAAKA,EAAA,IAAQgqB,EAAI,EAAG,EAAIA,IAAKA,EAAGshC,GAAG76C,EAAG1L,EAAGilB,EAAGhqB,EAAG6iB,EAAA,UAExDksC,GAAGlsC,EAAGmH,EAAGvZ,EAAG1L,GACnB8d,EAAEmH,EAAI,IAAMw+D,GAAG3lE,EAAGmH,EAAI,EAAGvZ,EAAG1L,GAC5B8d,EAAEmH,EAAI,KAAOw+D,GAAG3lE,EAAGmH,EAAI,GAAIvZ,EAAG1L,EAAI,GAClC8d,EAAEmH,EAAI,KAAOw+D,GAAG3lE,EAAGmH,EAAI,GAAIvZ,EAAG1L,EAAI,KAClC8d,EAAEmH,EAAI,KAAOw+D,GAAG3lE,EAAGmH,EAAI,GAAIvZ,EAAG1L,EAAI,IAAM,YAEjCgpD,GAAGlrC,EAAGmH,EAAGvZ,EAAG1L,GAAA,IAEjB/E,EADE+9B,EAAIpb,EAAE,QAEL3iB,EAAI,EAAG,EAAIA,IAAKA,EAAG,KAClBqgB,EAAIwC,EAAEmH,EAAI,EAAIhqB,GAAK6iB,EAAEmH,EAAI,GAAKhqB,GAC9BuB,EAAIshB,EAAEmH,EAAI,EAAIhqB,GAAK6iB,EAAEmH,EAAI,EAAIhqB,GAC7BsgB,EAAIuC,EAAEmH,EAAI,EAAIhqB,GAAK6iB,EAAEmH,EAAI,EAAIhqB,GAC7B2qB,EAAI9H,EAAEmH,EAAI,EAAIhqB,GAAK6iB,EAAEmH,EAAI,GAAKhqB,GAClC+9B,EAAE,EAAI/9B,GAAKqgB,EAAI9e,EACfw8B,EAAE,EAAI/9B,GAAKqgB,EAAI9e,EACfw8B,EAAE,EAAI/9B,GAAK2qB,EAAIrK,EACfyd,EAAE,GAAK/9B,GAAK2qB,EAAIrK,CAAA,KAEbtgB,EAAI,EAAG,EAAIA,IAAKA,EAEhBqgB,GADFwC,EAAIkb,EAAE,EAAI,EAAI/9B,GAAK,GACT+9B,EAAE,EAAI,EAAI/9B,GAClBuB,EAAIw8B,EAAE,EAAI,EAAI/9B,GAAK+9B,EAAE,EAAI,EAAI/9B,GAC7BsgB,EAAIyd,EAAE,EAAI,EAAI/9B,GAAK+9B,EAAE,EAAI,EAAI/9B,GAC7B2qB,EAAI9H,EAAIkb,EAAE,EAAI,EAAI/9B,GAClByQ,EAAE1L,EAAI,GAAMsb,EAAI9e,GAAM,EACtBkP,EAAE1L,EAAI,IAAO4lB,EAAIrK,GAAM,EACvB7P,EAAE1L,EAAI,IAAOsb,EAAI9e,GAAM,EACvBkP,EAAE1L,EAAI,IAAO4lB,EAAIrK,GAAM,EACvBvb,GAAK,YAEHkqD,GAAGpsC,EAAGmH,EAAGvZ,GAAA,IAId1L,EAHE/E,EAAIgqB,EAAI,GACVrH,EAAIinE,GACJ7rD,EAAI,IAAMlb,EAAE7iB,EAAI,OAEb+E,EAAI,EAAGA,EAAI0L,IAAK1L,EAAG,KAGpBsb,EAFE9e,EAAIohB,EACNrC,EAAIyd,EAAIlb,EAAEmH,EAAI,OAEX3J,EAAI,EAAGA,EAAI5P,IAAK4P,EAAGwC,EAAEmH,EAAI3J,GAAK9e,EAAE+e,EAAIuC,EAAE7iB,EAAIqgB,IAC/C2J,GAAK,aAGAigB,GAAGpnB,EAAGmH,GACbilC,GAAGpsC,EAAGmH,EAAG,YAEFikC,GAAGprC,EAAGmH,GACbilC,GAAGpsC,EAAGmH,EAAG,YAEFokC,GAAGvrC,EAAGmH,GACbilC,GAAGpsC,EAAGmH,EAAG,aAEFklC,GAAGrsC,EAAGmH,GAAA,IACTvZ,EAAA,IACCA,EAAI,EAAG,GAAKA,IAAKA,EAAG1L,EAAE8d,EAAGmH,EAAI,GAAKvZ,EAAGoS,EAAGmH,EAAI,GAAI,aAE9CukC,GAAG1rC,EAAGmH,GAAA,IACTvZ,EAAA,IACCA,EAAI,GAAI,EAAIA,IAAKA,EAAGzQ,EAAE6iB,EAAGmH,EAAGnH,EAAEmH,EAAI,GAAI,IAAMA,GAAK,YAE/CglC,GAAGnsC,EAAGmH,EAAGvZ,GAAA,IACZ1L,EAAA,IACCA,EAAI,EAAG,GAAKA,IAAKA,EAAG/E,EAAEgqB,EAAGvZ,EAAI,GAAK1L,EAAG8d,EAAG,aAEtCgsC,GAAGhsC,EAAGmH,GAAA,IAEXvZ,EADE1L,EAAI,OAEH0L,EAAI,EAAG,GAAKA,IAAKA,EAAG1L,GAAK8d,EAAEmH,EAAI,EAAI,GAAKvZ,GAAKoS,EAAEmH,EAAIvZ,EAAI,IAC5Du+C,GAAGjqD,GAAK,EAAG8d,EAAGmH,EAAA,UAEPw/D,GAAG3mE,EAAGmH,GAAA,IAEXvZ,EADE1L,EAAI,MAEH0L,EAAI,EAAG,GAAKA,IAAKA,EAAG1L,GAAK8d,EAAEmH,EAAI,EAAI,GAAKvZ,GAC7Cu+C,GAAGjqD,GAAK,EAAG8d,EAAGmH,EAAA,UAEPykC,GAAG5rC,EAAGmH,GAAA,IAEXvZ,EADE1L,EAAI,MAEH0L,EAAI,EAAG,GAAKA,IAAKA,EAAG1L,GAAK8d,EAAEmH,EAAIvZ,EAAI,IACxCu+C,GAAGjqD,GAAK,EAAG8d,EAAGmH,EAAA,UAEP0kC,GAAG7rC,EAAGmH,GACbglC,GAAG,IAAKnsC,EAAGmH,EAAA,UAEJ2kC,GAAE9rC,EAAGmH,EAAGvZ,GAAA,OACPoS,EAAI,EAAImH,EAAIvZ,EAAI,GAAM,WAEvBm+C,GAAG/rC,EAAGmH,GAAA,IAQXvZ,EAPEzQ,EAAIgqB,EAAI,GAKoB,IAJ9BhqB,EAAI,IAAIgpC,WAAW,CACjB2lB,GAAE9rC,EAAE7iB,EAAI,GAAI6iB,EAAE7iB,EAAI,GAAI6iB,EAAE7iB,EAAI,IAC5B2uD,GAAE9rC,EAAE7iB,EAAI,GAAI6iB,EAAE7iB,EAAI,GAAI6iB,EAAE7iB,EAAI,IAC5B2uD,GAAE9rC,EAAE7iB,EAAI,GAAI6iB,EAAE7iB,EAAI,GAAI6iB,EAAE7iB,EAAI,IAC5B2uD,GAAE9rC,EAAE7iB,EAAI,GAAI6iB,EAAE7iB,EAAI,GAAI6iB,EAAE7iB,EAAI,MAG3ByQ,EAAI,EAAG,EAAIA,IAAKA,EAAG1L,EAAE8d,EAAGmH,EAAI,GAAKvZ,EAAGzQ,EAAG,EAAGA,EAAED,OAAA,UAE1CyuD,GAAG3rC,EAAGmH,GAAA,IACTvZ,EAAIoS,EAAEmH,EAAI,GACZjlB,EAAI8d,EAAEmH,EAAI,EAAI,IACdhqB,EAAI6iB,EAAEmH,EAAI,EAAI,IACdrH,EAAIE,EAAEmH,EAAI,EAAI,IAChBuzB,EAAG16B,EAAGmH,EAAI,EAAG,SAAW2kC,GAAE9rC,EAAEmH,EAAI,EAAI,IAAKvZ,EAAG1L,IAC5Cw4C,EAAG16B,EAAGmH,EAAI,GAAI,SAAW2kC,GAAEl+C,EAAG1L,EAAG/E,IACjCu9C,EAAG16B,EAAGmH,EAAI,GAAI,SAAW2kC,GAAE5pD,EAAG/E,EAAG2iB,IACjC46B,EAAG16B,EAAGmH,EAAI,GAAI,SAAW2kC,GAAE3uD,EAAG2iB,EAAGA,GAAA,UAE1BmsC,GAAGjsC,EAAGmH,GAAA,IAEXvZ,EADE1L,EAAI,MAEH0L,EAAI,EAAG,EAAIA,IAAKA,EAAG1L,GAAK8d,EAAEmH,EAAIvZ,EAAI,IAAMoS,EAAEmH,EAAI,EAAI,GAAKvZ,GAAA,IAC5D1L,IAAM,EACD0L,EAAI,EAAG,EAAIA,IAAKA,EAAGzQ,EAAE6iB,EAAGmH,EAAI,GAAKvZ,EAAG1L,EAAG,YAErC2sD,GAAG7uC,EAAGmH,GAAA,IACTvZ,EAAIoS,EAAEmH,EAAI,EAAI,GAChBjlB,EAAI8d,EAAEmH,EAAI,EAAI,IACdhqB,EAAI6iB,EAAEmH,EAAI,EAAI,IACdrH,EAAIE,EAAEmH,EAAI,EAAI,IACd+T,EAAIlb,EAAEmH,EAAI,EAAI,IACd3J,EAAIwC,EAAEmH,EAAI,EAAI,IACdzoB,EAAIshB,EAAEmH,EAAI,EAAI,IACd1J,EAAIuC,EAAEmH,EAAI,EAAI,IAChBnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE5pD,EAAG/E,EAAG6iB,EAAEmH,EAAI,EAAI,KAClCnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEl+C,EAAG1L,EAAG/E,GACxC6iB,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEhsC,EAAGlS,EAAG1L,GACxD8d,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,GAAK2kC,GAAE5wB,EAAGpb,EAAGlS,GACvEoS,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,GAAK2kC,GAAEtuC,EAAG0d,EAAGpb,GACvDE,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,GAAK2kC,GAAEptD,EAAG8e,EAAG0d,GACvClb,EAAEmH,EAAI,EAAI,GAAK2kC,GAAEruC,EAAG/e,EAAG8e,EAAA,UAEhB+a,GAAGvY,EAAGmH,GAAA,IACTvZ,EAAIoS,EAAEmH,EAAI,EAAI,IAChBjlB,EAAI8d,EAAEmH,EAAI,EAAI,IACdhqB,EAAI6iB,EAAEmH,EAAI,EAAI,IACdrH,EAAIE,EAAEmH,EAAI,EAAI,IACd+T,EAAIlb,EAAEmH,EAAI,EAAI,IACd3J,EAAIwC,EAAEmH,EAAI,EAAI,IACdzoB,EAAIshB,EAAEmH,EAAI,EAAI,IAChBnH,EAAEmH,EAAI,EAAI,GAAK2kC,GAAE9rC,EAAEmH,EAAI,EAAI,IAAKvZ,EAAG1L,GACnC8d,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEl+C,EAAG1L,EAAG/E,GACvC6iB,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE5pD,EAAG/E,EAAG2iB,GACvDE,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE3uD,EAAG2iB,EAAGob,GACvElb,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEhsC,EAAGob,EAAG1d,GACxDwC,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE5wB,EAAG1d,EAAG9e,GACxCshB,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEtuC,EAAG9e,EAAGA,EAAA,UAEjB6tD,GAAGvsC,EAAGmH,GAAA,IACTvZ,EAAIoS,EAAEmH,EAAI,EAAI,GAChBjlB,EAAI8d,EAAEmH,EAAI,EAAI,IACdhqB,EAAI6iB,EAAEmH,EAAI,EAAI,IACdrH,EAAIE,EAAEmH,EAAI,EAAI,IACd+T,EAAIlb,EAAEmH,EAAI,EAAI,IACd3J,EAAIwC,EAAEmH,EAAI,EAAI,IACdzoB,EAAIshB,EAAEmH,EAAI,EAAI,IACd1J,EAAIuC,EAAEmH,EAAI,EAAI,IAChBnH,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAOrH,EAAIob,EAAI,GAAM,EAC9Clb,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAO+T,EAAI1d,EAAI,GAAM,EAC9CwC,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAO3J,EAAI9e,EAAI,GAAM,EAC9CshB,EAAEmH,EAAI,EAAI,GAAMzoB,EAAI+e,EAAI,GAAM,EAC9BuC,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE3uD,EAAG+E,EAAG0L,GACxBoS,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE5pD,EAAG0L,EAAGkS,GACxBE,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEl+C,EAAGkS,EAAGob,GACxClb,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEhsC,EAAGob,EAAG1d,GACxCwC,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE5wB,EAAG1d,EAAG9e,GACxCshB,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEtuC,EAAG9e,EAAG+e,EAAA,UAEjBipE,GAAG1mE,EAAGmH,GAAA,IACTvZ,EAAIoS,EAAEmH,EAAI,EAAI,IAChBjlB,EAAI8d,EAAEmH,EAAI,EAAI,IACdhqB,EAAI6iB,EAAEmH,EAAI,EAAI,IACdrH,EAAIE,EAAEmH,EAAI,EAAI,IACd+T,EAAIlb,EAAEmH,EAAI,EAAI,IACd3J,EAAIwC,EAAEmH,EAAI,EAAI,IACdzoB,EAAIshB,EAAEmH,EAAI,EAAI,IACd1J,EAAIuC,EAAEmH,EAAI,EAAI,IAChBnH,EAAEmH,EAAI,EAAI,GAAMvZ,EAAI1L,EAAI,GAAM,EAC9B8d,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAOjlB,EAAI/E,EAAI,GAAM,EAC9C6iB,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAOhqB,EAAI2iB,EAAI,GAAM,EAC9CE,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAOrH,EAAIob,EAAI,GAAM,EAC9Clb,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEl+C,EAAG1L,EAAG/E,GACxB6iB,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE5pD,EAAG/E,EAAG2iB,GACxCE,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE3uD,EAAG2iB,EAAGob,GACxClb,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEhsC,EAAGob,EAAG1d,GACxCwC,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE5wB,EAAG1d,EAAG9e,GACxBshB,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEtuC,EAAG9e,EAAG+e,EAAA,UAEjB6xC,GAAGtvC,EAAGmH,GAAA,IACTvZ,EAAIoS,EAAEmH,EAAI,EAAI,GAChBjlB,EAAI8d,EAAEmH,EAAI,EAAI,IACdhqB,EAAI6iB,EAAEmH,EAAI,EAAI,IACdrH,EAAIE,EAAEmH,EAAI,EAAI,IAChBnH,EAAEmH,EAAI,EAAI,GAAMvZ,EAAI1L,EAAI,GAAM,EAC9B8d,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAOjlB,EAAI/E,EAAI,GAAM,EAC9C6iB,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAOhqB,EAAI2iB,EAAI,GAAM,EAC/CE,EAAEmH,EAAI,EAAI,GAAK2kC,GAAEl+C,EAAG1L,EAAG/E,GACvB6iB,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE5pD,EAAG/E,EAAG2iB,GACvCE,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE3uD,EAAG2iB,EAAGA,GACxCE,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAMnH,EAC9DmH,EAAI,EAAI,IACNnH,EAAEmH,EAAI,EAAI,IAAMrH,CAAA,UAEbotC,GAAGltC,EAAGmH,GAAA,IACTvZ,EAAIoS,EAAEmH,EAAI,EAAI,GAChBjlB,EAAI8d,EAAEmH,EAAI,EAAI,IACdhqB,EAAI6iB,EAAEmH,EAAI,EAAI,IACdrH,EAAIE,EAAEmH,EAAI,EAAI,IACd+T,EAAIlb,EAAEmH,EAAI,EAAI,IACd3J,EAAIwC,EAAEmH,EAAI,EAAI,IACdzoB,EAAIshB,EAAEmH,EAAI,EAAI,IACd1J,EAAIuC,EAAEmH,EAAI,EAAI,IAChBnH,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAOvZ,EAAIstB,EAAI,GAAM,EAC9Clb,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAOjlB,EAAI0L,EAAI,GAAM,EAC/CoS,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAOhqB,EAAI+E,EAAI,GAAM,EAC/C8d,EAAEmH,EAAI,EAAI,IAAOrH,EAAI3iB,EAAI,GAAM,EAC/B6iB,EAAEmH,EAAI,EAAI,GAAK2kC,GAAEtuC,EAAG9e,EAAG+e,GACvBuC,EAAEmH,EAAI,EAAI,GAAK2kC,GAAE5wB,EAAG1d,EAAG9e,GACvBshB,EAAEmH,EAAI,EAAI,GAAKnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEl+C,EAAGstB,EAAG1d,GACvCwC,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE5pD,EAAG0L,EAAGstB,GACxClb,EAAEmH,EAAI,EAAI,IAAMnH,EAAEmH,EAAI,EAAI,IAAM2kC,GAAE3uD,EAAG+E,EAAG0L,GACxCoS,EAAEmH,EAAI,EAAI,IAAM2kC,GAAEhsC,EAAG3iB,EAAG+E,EAAA,UAEjByqD,GAAG3sC,EAAGmH,GAAA,IACTvZ,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAG1L,EAAE8d,EAAGmH,EAAI,GAAKvZ,EAAGoS,EAAGmH,EAAI,GAAI,YAE7CgmC,GAAGntC,EAAGmH,GAAA,IACTvZ,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAGzQ,EAAE6iB,EAAGmH,EAAGnH,EAAEmH,EAAI,GAAI,GAAKA,GAAK,YAE7CmmC,GAAGttC,EAAGmH,EAAGvZ,GAAA,IACZ1L,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAG/E,EAAEgqB,EAAGvZ,EAAI,GAAK1L,EAAG8d,EAAG,YAErC4tC,GAAG5tC,EAAGmH,GAAA,IAEXvZ,EADE1L,EAAI,MAEH0L,EAAI,EAAG,EAAIA,IAAKA,EAAG1L,GAAK8d,EAAEmH,EAAIvZ,EAAI,IAAMoS,EAAEmH,EAAI,EAAI,GAAKvZ,GAC5D0/C,GAAGprD,GAAK,EAAG8d,EAAGmH,EAAA,UAEPkmC,GAAGrtC,EAAGmH,GAAA,IAEXvZ,EADE1L,EAAI,MAEH0L,EAAI,EAAG,EAAIA,IAAKA,EAAG1L,GAAK8d,EAAEmH,EAAIvZ,EAAI,IACvC0/C,GAAGprD,GAAK,EAAG8d,EAAGmH,EAAA,UAEP0mC,GAAG7tC,EAAGmH,GAAA,IAEXvZ,EADE1L,EAAI,MAEH0L,EAAI,EAAG,EAAIA,IAAKA,EAAG1L,GAAK8d,EAAEmH,EAAI,EAAI,GAAKvZ,GAC5C0/C,GAAGprD,GAAK,EAAG8d,EAAGmH,EAAA,UAEP2mC,GAAG9tC,EAAGmH,GACbmmC,GAAG,IAAKttC,EAAGmH,EAAA,UAEJ8mC,GAAGjuC,EAAGmH,EAAGvZ,GAAA,IACZ1L,EAAI8d,EAAEmH,EAAIvZ,GACZzQ,EAAI6iB,EAAEmH,EAAI,GACVrH,EAAI,GAAK3iB,EAAI+E,GAAK8kF,GAAG,KAAOhnE,EAAEmH,EAAI,EAAIvZ,GAAKoS,EAAEmH,EAAIvZ,IACjDstB,EAAI6hC,GAAG,KAAQj9C,EAAI,GAAM,IAC3BE,EAAEmH,EAAIvZ,GAAKm5E,GAAE,IAAM7kF,EAAI66D,GAAG,KAAQj9C,EAAI,GAAM,KAC5CE,EAAEmH,EAAI,GAAK4/D,GAAE,IAAM5pF,EAAI+9B,EAAA,UAEhBizB,GAAGnuC,EAAGmH,EAAGvZ,EAAG1L,GAAA,IACf/E,EAAI6iB,EAAEmH,EAAI,GACZrH,EAAIE,EAAEmH,EAAIvZ,GAAA,OACLq5E,GAAE,IAAMjnE,EAAEmH,EAAI,EAAIvZ,GAAKoS,EAAEmH,EAAIvZ,IAAM1L,GAAK+kF,GAAE,IAAMnnE,EAAI3iB,GAAK+E,CAAA,UAEzD4jB,GAAG9F,EAAGmH,EAAGvZ,EAAG1L,GAAA,OAEjB,EAAI+kF,GAAE,IAAMjnE,EAAEmH,EAAIvZ,GAAKoS,EAAEmH,EAAI,IAAM8/D,GAAE,IAAMjnE,EAAEmH,EAAI,EAAIvZ,GAAKoS,EAAEmH,EAAIvZ,KAAO1L,CAAA,UAGlEqsD,GAAGvuC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IAClB2iB,EAAIE,EAAEmH,EAAI,EAAIvZ,GAChBstB,EAAIlb,EAAEmH,EAAI,EAAIvZ,GACd4P,EAAIwC,EAAEmH,EAAIvZ,GACVlP,EAAIshB,EAAEmH,EAAI,GACV1J,EAAIuC,EAAEmH,EAAIvZ,GACVka,EAAI9H,EAAEmH,EAAI,EAAIvZ,GACduN,EAAI6E,EAAEmH,EAAI,EAAIvZ,GAAA,OACT,EAAIq5E,GAAE,IAAMzpE,EAAI9e,GAAKuoF,GAAE,IAAM/rD,EAAIzd,GAAKvb,EACzC,EACA+kF,GAAE,IAAMjnE,EAAEmH,EAAI,EAAIvZ,GAAKkS,IAAM3iB,GAC3B8pF,GAAE,IAAMnnE,EAAIob,IAAM/9B,GAClB8pF,GAAE,IAAM/rD,EAAI1d,IAAMrgB,GAClB8pF,GAAE,IAAM9rE,EAAI2M,IAAM3qB,GAClB8pF,GAAE,IAAMn/D,EAAIrK,IAAMtgB,GAClB8pF,GAAE,IAAMxpE,EAAI/e,IAAMvB,CAAA,UAEjBsxD,GAAGzuC,EAAGmH,EAAGvZ,EAAG1L,GAAA,IACf/E,EAAI,EAAI+E,EAAI,MACXA,EAAI,EAAG,GAAKA,IAAKA,EAAG4jB,GAAG9F,EAAGmH,EAAIjlB,EAAG0L,EAAGzQ,IAAM8wD,GAAGjuC,EAAGmH,EAAIjlB,EAAG0L,EAAA,UAErD+gD,GAAG3uC,EAAGmH,EAAGvZ,EAAG1L,GAAA,IACf/E,EAAI,EAAI+E,EAAI,MACXA,EAAI,EAAG,GAAKA,IAAKA,EAAG4jB,GAAG9F,EAAGmH,EAAIjlB,EAAI0L,EAAG,EAAGzQ,IAAM8wD,GAAGjuC,EAAGmH,EAAIjlB,EAAI0L,EAAG,YAE7DmhD,GAAG/uC,EAAGmH,EAAGvZ,EAAG1L,GAAA,IACf/E,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAiBsxD,GAAGzuC,EAAhBmH,GAAK,EAAIvZ,EAAaA,EAAG1L,EAAA,UAE3C+sD,GAAGjvC,EAAGmH,EAAGvZ,EAAG1L,GAAA,IACf/E,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAawxD,GAAG3uC,EAAZmH,GAAK,EAAavZ,EAAG1L,EAAA,UAEvC4tD,GAAG9vC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,EAAG1d,GAAA,IAC1BsC,EAAI,EAAIA,EAAI,EAAG,EAAI3iB,KAAO,IACzBoxD,GAAGvuC,EAAGmH,EAAGvZ,EAAGkS,EAAGob,GACjB,GAAIizB,GAAGnuC,EAAGmH,EAAGvZ,EAAG4P,GAAIywC,GAAGjuC,EAAGmH,EAAGvZ,OACxB,KACClP,EAAIshB,EACNvC,EAAI0J,EACJW,EAAIla,EACJuN,EAAIzc,EAAE+e,EAAI,EAAIqK,GACdN,EAAI9oB,EAAE+e,EAAIqK,GACV5H,EAAIxhB,EAAE+e,EAAI,GACV7C,EAAIlc,EAAE+e,EAAIqK,GACVpa,EAAIhP,EAAE+e,EAAI,EAAIqK,GAEd3lB,EAAK,IADL4d,EAAIinE,GAAG,KAAO,GAAK9mE,EAAIsH,GAAKw/D,GAAG,KAAO7rE,EAAIP,KAC5B,IAAO,EACrB8C,EAAK,GAAKqC,EAAI,IAAO,EACrBA,EAAK,EAAIA,EAAI,IAAO,EACtBrhB,EAAE+e,EAAI,EAAIqK,GAAKi/D,GAAE,IAAMroF,EAAE+e,EAAI,EAAIqK,GAAK/H,GACtCrhB,EAAE+e,EAAI,EAAIqK,GAAKi/D,GAAE,IAAM5rE,EAAIuC,GAC3Bhf,EAAE+e,EAAIqK,GAAKi/D,GAAE,IAAMv/D,EAAIrlB,GACvBzD,EAAE+e,EAAI,GAAKspE,GAAE,IAAM7mE,EAAI/d,GACvBzD,EAAE+e,EAAIqK,GAAKi/D,GAAE,IAAMnsE,EAAI8C,GACvBhf,EAAE+e,EAAI,EAAIqK,GAAKi/D,GAAE,IAAMr5E,EAAIqS,EAAA,CAE/BoH,GAAKjlB,CAAA,WAGA8+C,GAAGhhC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,EAAG1d,GAAA,IAC1BsC,EAAI,EAAIA,EAAI,EAAG,EAAI3iB,KAAO,IACzBoxD,GAAGvuC,EAAGmH,EAAGvZ,EAAGkS,EAAGob,GACjB,GAAIizB,GAAGnuC,EAAGmH,EAAGvZ,EAAG4P,GAAIywC,GAAGjuC,EAAGmH,EAAGvZ,OACxB,KACClP,EAAIshB,EACNvC,EAAI0J,EACJW,EAAIla,EACJuN,EAAIzc,EAAE+e,EAAIqK,GACVN,EAAI9oB,EAAE+e,EAAI,GACVyC,EAAIxhB,EAAE+e,EAAIqK,GAEVlN,EAAImiD,GAAG,KAAY,GADnBrvD,EAAI,GAAK8Z,EAAIrM,KACY,IACzBzN,EAAIqvD,GAAG,KAAQrvD,EAAI,GAAM,IACzBvL,EAAKyY,EAAI,GAAM,EACjBlc,EAAE+e,EAAI,EAAIqK,GAAKi/D,GAAE,IAAMroF,EAAE+e,EAAI,EAAIqK,GAAK3lB,GACtCzD,EAAE+e,EAAIqK,GAAKi/D,GAAE,IAAM5rE,EAAIzN,GACvBhP,EAAE+e,EAAI,GAAKspE,GAAE,IAAMv/D,EAAI5M,GACvBlc,EAAE+e,EAAIqK,GAAKi/D,GAAE,IAAM7mE,EAAI/d,EAAA,CAE3BglB,GAAKjlB,CAAA,WAGA4jF,GAAG9lE,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,GACzBgwC,GAAG9vC,EAAGmH,EAAGvZ,EAAG,EAAG,GAAI1L,EAAG/E,EAAG2iB,EAAA,UAElBiwC,GAAG/vC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,GACzBgwC,GAAG9vC,EAAGmH,EAAG,EAAGvZ,EAAG,GAAI1L,EAAG/E,EAAG2iB,EAAA,UAElBmwC,GAAGjwC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,GAAA,IACrBob,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAiB8lB,GAAGhhC,EAAhBmH,GAAK,EAAIvZ,EAAaA,EAAG,EAAG,GAAI1L,EAAG/E,EAAG2iB,EAAA,UAExDqwC,GAAGnwC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,GAAA,IACrBob,EAAA,IACCA,EAAI,EAAG,EAAIA,IAAKA,EAAa8lB,GAAGhhC,EAAZmH,GAAK,EAAa,EAAGvZ,EAAG,GAAI1L,EAAG/E,EAAG2iB,EAAA,UAEpDsyC,GAAGpyC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,EAAG1d,GAC/BsyC,GAAG9vC,EAAGmH,EAAGhqB,EAAG,EAAG,EAAG2iB,EAAGob,EAAG1d,GACxBsyC,GAAGliD,EAAG1L,EAAG/E,EAAG,EAAG,EAAG2iB,EAAGob,EAAG1d,EAAA,UAEjBg1C,GAAGxyC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,EAAG1d,GAC/BsyC,GAAG9vC,EAAGmH,EAAG,EAAGhqB,EAAG,EAAG2iB,EAAGob,EAAG1d,GACxBsyC,GAAGliD,EAAG1L,EAAG,EAAG/E,EAAG,EAAG2iB,EAAGob,EAAG1d,EAAA,UAEjB6tB,GAAGrrB,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,EAAG1d,GAC/BwjC,GAAGhhC,EAAGmH,EAAI,EAAIhqB,EAAGA,EAAG,EAAG,EAAG2iB,EAAGob,EAAG1d,GAChCwjC,GAAGpzC,EAAG1L,EAAI,EAAI/E,EAAGA,EAAG,EAAG,EAAG2iB,EAAGob,EAAG1d,EAAA,UAEzBo1C,GAAG5yC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,EAAG1d,GAC/BwjC,GAAGhhC,EAAGmH,EAAI,EAAG,EAAGhqB,EAAG,EAAG2iB,EAAGob,EAAG1d,GAC5BwjC,GAAGpzC,EAAG1L,EAAI,EAAG,EAAG/E,EAAG,EAAG2iB,EAAGob,EAAG1d,EAAA,UAErBu1C,KAAA,KACF8lB,GAAK,IAAIz2B,GAAA,KACTna,GAAK,QACL9xB,GAAK,QACL8iE,GAAK,QACL2B,GAAKr+E,KAAK28E,GAAK38E,KAAKy8E,GAAKz8E,KAAK48E,GAAK,OACnCc,GAAK,IAAI53B,GAAA,KACTw3B,OAAS,OACTC,GAAK,kBACLC,GAAK,uBACLC,GAAK,yBAEH5mB,KAAA,KACFxxD,KAAO,QACPypD,OAAS9uD,KAAK2qF,GAAK3qF,KAAKgoF,GAAKhoF,KAAK2vC,EAAI,OACtCi7C,GAAK,QACLC,GAAK7qF,KAAK8qF,GAAK9qF,KAAK+qF,GAAK/qF,KAAKgrF,GAAKhrF,KAAK+9C,EAAI,WAE1C+Y,KAAA,KACFgoB,GAAK9+E,KAAKy6E,GAAKz6E,KAAKwjB,EAAIxjB,KAAK++E,GAAK,OAClC55B,EAAI,QACJxV,EAAI,WAEFinB,KAAA,KACFupB,GAAK,OACLO,GAAK,IAAIz+D,EAAA,KACT6+D,GAAK,IAAI7+D,EAAA,KACTixB,GAAKlzC,KAAKu+E,GAAKv+E,KAAK2gF,GAAK,OACzBnC,GAAK,QACLC,GAAK,OACLC,GAAK,IAAI/6D,EAAA,KACTo9D,GAAK,IAAIniE,CAAA,UAEPm4C,KAAA,KACFiqB,GAAKhhF,KAAKujB,EAAI,OACd3E,EAAI,IAAI+rC,GAAA,KACR60B,GAAK,IAAI35B,GAAA,KACTzB,EAAI,QACJk7B,GAAK,OACLn2D,GAAK,QACLy1D,GAAK,OACLh5E,EAAI,IAAIoc,EAAA,KACRy+D,GAAK,OACLG,GAAK,IAAI5+D,EAAA,KACTy9D,GAAKz/E,KAAKulD,EAAIvlD,KAAK0pB,EAAI1pB,KAAKY,EAAIZ,KAAKmC,EAAInC,KAAK6gF,GAAK,OACnD5/D,EAAI,IAAI21C,GAAA,KACR+nB,GAAK,OACLE,GAAKlgD,EAAG,EAAGm4B,IAAA,KACXwqB,GAAK,WAEHrqB,KAAA,KACFg0B,GAAKjrF,KAAKqlD,EAAIrlD,KAAKkrF,GAAKlrF,KAAKY,EAAIZ,KAAKmC,EAAI,OAC1Cyc,EAAI,IAAI+rC,GAAA,KACRwgC,GAAK,OACL3L,GAAK,QACLe,GAAK,OACLH,GAAK,UACLC,GAAK,WAEHlpB,GAAG1zC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,GAAA,IAC5Blb,EAAI,MAAQA,EAAI,EAAIA,EAAEmH,EAAI,GACrBA,EAAI,EAAGA,EAAI+T,IAAK/T,EAAIhqB,EAAE2iB,EAAIqH,GAAMnH,EAAIpS,EAAE1L,EAAIilB,GAAM,IAAOnH,EAAI7iB,EAAE2iB,EAAIqH,EAAA,UAE/DysC,GAAG5zC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,GAAA,IAGtB1d,EAAA,GAFF,MAAQwC,EAAG0zC,GAAG,KAAM,KAAM9lD,EAAG1L,EAAG/E,EAAG2iB,EAAGob,QAAA,IAGnC1d,EAAI,EAAGA,EAAI0d,IAAK1d,EAAGrgB,EAAE2iB,EAAItC,GAAMwC,EAAEmH,EAAI3J,GAAK5P,EAAE1L,EAAIsb,GAAM,aAGtD62C,GAAGr0C,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,GAAA,GACxB,MAAQlb,EAAG0zC,GAAG,KAAM,KAAM9lD,EAAG1L,EAAG/E,EAAG2iB,EAAGob,OACrC,KAID1d,EAHE9e,EAAIshB,EAAEmH,EAAI,GACZ1J,EAAI/e,EACJopB,EAAIppB,EAAA,IAED8e,EAAI,EAAGA,EAAI0d,IAAK1d,EAEhBC,EAAIqK,GADNppB,EAAIshB,EAAEmH,EAAI3J,IACIC,EACZqK,EAAKla,EAAE1L,EAAIsb,KAAW,IAALC,EAAY,EAAIA,EAAI,EAAI,IAAOA,GAAM,IACtDA,EAAI/e,EACJvB,EAAE2iB,EAAItC,GAAKsK,CAAA,WAGX4oC,GAAG1wC,EAAGpS,EAAGzQ,EAAG+9B,GAAA,IACf1d,EAAI5P,EAAE7I,MACRrG,EAAIkP,EAAEstB,EAAA,GACR/T,EAAE,MAAQnH,GAAK,MAAQpS,GACnB,EAAIzQ,GAAK,GAAK+9B,GAAK/9B,EAAI+9B,EAAIx8B,EAAG,OAAO,SACpCshB,EAAE4jE,GAAI,IACL,MAAQ5jE,EAAE0jE,GAAI,KAEZjmE,EAAA,GADJuC,EAAE0jE,GAAK,IAAIlwB,IAEV/1C,EAAI,MAAQuC,EAAE0jE,MACXjmE,EAAI7P,EAAE7I,MAAQ6I,EAAEstB,EAClB/T,EAAE,GAAKnH,EAAE8jE,GAAG5mF,QACX8iB,EAAE8jE,GAAKhkE,EAAErC,GACTuC,EAAE+jE,GAAK,EACR,MAAQ/jE,EAAE8jE,GACLrmE,EAAI,GACHuC,EAAEknB,GAAKlnB,EAAE8jE,GAAM9jE,EAAEgkE,GAAKhkE,EAAE+jE,GAAM/jE,EAAEikE,GAAK,KAAQxmE,EAAI,GACtDA,GAAKA,IACHA,EAAG,CACNA,EAAIuC,EAAE0jE,GAAA,IACF57D,EAAI9H,EAAE2jE,GACRxoE,EAAI6E,EAAEs6B,EACN9yB,EAAIxH,EAAE6jE,GACN3jE,EAAIF,EAAEknB,GACNtsB,EAAIoF,EAAEgkE,GACNt2E,EAAIyN,EAAI,EACRhZ,EAAIqlB,EAAI,EACRzH,EAAItC,EAAEtC,EAAA,GACRgM,EAAE,MAAQW,GAAK,MAAQ5H,GAAK,MAAQtS,GACpCivE,GAAG,GAAK,KACRA,GAAG,GAAKnpB,GACRmpB,GAAG,GAAKjpB,GACRipB,GAAG,GAAKxoB,GACR52C,EAAEs+D,GAAK77D,EACPzC,EAAEq/D,GAAKliE,EACP6C,EAAE/e,EAAIkP,EAAE7I,MACR0Y,EAAEtgB,EAAIyQ,EAAE+D,OACRwV,EAAE,EAAI1J,EAAE/e,GAAK,EAAI+e,EAAEtgB,GACf,GAAKqqB,EAAG5Z,EAAI,OACX,GACD6P,EAAEgqE,GAAM3/D,EAAE3M,EAAI,IAAM,EAAK,EAC1BsC,EAAEmkC,EAAK95B,EAAE3M,EAAI,IAAM,EAAK,EACxBsC,EAAE+pE,GAAM1/D,EAAE3M,EAAI,IAAM,EAAK,EACzBA,EAAK2M,EAAE3M,EAAI,IAAM,EAAK,EACvB,EAAIsC,EAAEgqE,IAAM,EAAIhqE,EAAEgqE,IAAM,GAAKhqE,EAAEmkC,GAAK,EAAInkC,EAAE+pE,IAAMrsE,EAEhDvN,EAAI,OACD,GACDmS,EAAEqkE,IAAMj6C,GACTpqB,EAAEskE,GAAK5hC,GACP1iC,EAAEukE,GAAKzhC,GACP9iC,EAAE05D,GAAKh8D,EACPsC,EAAEhb,MAAQ6I,EAAE7I,MACZgb,EAAEpO,OAAS/D,EAAE+D,OACboO,EAAE24D,GAAK9qE,EAAE8qE,GACT34D,EAAErC,EAAI9P,EAAE8P,EACRqC,EAAE+7D,GAAKluE,EAAEkuE,GACT/7D,EAAEviB,EAAIoQ,EAAEpQ,EACRuiB,EAAEmb,EAAIttB,EAAEstB,EACTzd,EAAEgqE,GAEFznE,EAAG,CACDmH,EAAE,GAAK1J,EAAEgqE,IAAM75E,EAAIg3C,KACnBz9B,EAAG,OAAS,IACN,MAAQvZ,EAAG,CACbA,EAAI,QACEoS,CAAA,IAERmH,EAAE,MAAQ1J,GACVA,EAAEkqE,GAAK/5E,EACPA,EAAElP,EAAI+e,EAAE/e,EACRkP,EAAEzQ,EAAIsgB,EAAEtgB,EACRyQ,EAAEuN,EAAIsC,EAAEtC,EACRvN,EAAEuN,EAAEs+D,GAAKh8D,EACT7P,EAAEuN,EAAEpW,MAAQ0Y,EAAE/e,EACdkP,EAAEuN,EAAExJ,OAAS8L,EAAEtgB,EACfyQ,EAAEkS,EAAI,EACNpC,EAAG9P,EAAEzL,EAAG2lB,EAAGpa,EAAGvL,IACT0iD,GAAGpnC,EAAE/e,EAAG+e,EAAEtgB,EAAG,EAAGyQ,EAAG,MAAO,MAAMuZ,EAAA,MAChCvZ,EAAEstE,IAAM,GAAKttE,EAAEwtE,GAAG,GAAGE,IAAM13B,GAAGh2C,EAAE4P,IAC/BC,EAAEiqE,GAAK,EACR5/D,EAAIla,EAAElP,EAAIkP,EAAEzQ,EACZyQ,EAAE8X,GAAK,KACP9X,EAAEutE,GAAK,EACPvtE,EAAE+yC,EAAI7gC,EAAEgI,GACRla,EAAEiuE,GAAK,EACR,MAAQjuE,EAAE+yC,GAAM/yC,EAAEkS,EAAI,EAAKlS,EAAI,GAAOA,EAAI,IACxC6P,EAAEiqE,GAAK,EAAK95E,EAAIk3C,GAAGl3C,EAAG6P,EAAE/e,KACzBkP,EAAG,MAAMuZ,EACdvZ,EAAI,QACEoS,CAAA,CAERvC,EAAEkqE,GAAK,KACP/5E,EAAI,OAEHA,EAAIzL,GAAKsb,EAAE/e,EAAI+e,EAAEtgB,EACtBsgB,GAAK7P,CAAA,IAEH6P,EAAG,OAAO,QACTuC,EAAE0jE,GAAG8D,GAAMxnE,EAAEkkE,GAAK,EAAMhpD,EAAIx8B,EAAIvB,CAAA,CAEvCgqB,EAAE,MAAQnH,EAAE0jE,IACZv8D,EAAEhqB,EAAI+9B,GAAKx8B,GACXshB,EAAG,IAEDpS,GADAka,EAAI9H,EAAE0jE,IACAhlF,EACNA,EAAIopB,EAAE3M,EAAE+f,EACJ,GAAKpT,EAAE2/D,GAAI,IACb/5E,EAAIsS,EAAEikE,GACN9hF,EAAI6d,EAAEmkE,GACNpkE,EAAIC,EAAE2jE,GACNxoE,EAAI6E,EAAEs6B,EAAI,EAAIn9C,EAAIyQ,EAClB4Z,EAAIxH,EAAEknB,GACNhnB,EAAIF,EAAEgkE,GAAK7mF,EAAIyQ,EACfuZ,EAAEhM,GAAK6E,EAAEs6B,EAAIt6B,EAAE6jE,IACX,GAAK/7D,EAAE85B,EACT,IAAKz6B,EAAE,MAAQ01D,GAAG/0D,EAAE85B,IAAKnkC,EAAI,EAAGA,EAAIyd,IAAKzd,EACvCo/D,GAAG/0D,EAAE85B,GAAGl0C,EAAGvL,EAAG4d,EAAG5E,EAAGqM,EAAGtH,EAAGtS,GACvBF,EAAI8Z,EACJrlB,EAAI+d,EACJA,GAAKtS,EACLuN,GAAKvN,OAEV,IAAK6P,EAAI,EAAGA,EAAIyd,IAAKzd,EACnBvb,EAAEslB,EAAGtH,EAAGH,EAAG5E,EAAGvN,GAAKF,EAAI8Z,EAAKrlB,EAAI+d,EAAKA,GAAKtS,EAAKuN,GAAKvN,EACxDoS,EAAEikE,GAAKv2E,EACPsS,EAAEmkE,GAAKhiF,CAAA,KACF,IACLglB,EAAE,MAAQW,EAAE6/D,IACZ/5E,EAAIzQ,EAAI+9B,EAER/T,EAAE,OADF1J,EAAIqK,EAAE6/D,KAENxgE,EAAEvZ,GAAK6P,EAAEtgB,GACLsgB,EAAEwI,GAAKrY,EAAGA,EAAI,OACb,GAAKka,EAAE4/D,IAAM/yB,KAAM7sC,EAAE4/D,GAAK,CACzB5/D,EAAIrK,EAAEkjC,EACRjzC,EAAI+P,EAAEo+D,GACN15E,EAAIsb,EAAE/e,EAAA,IACNwL,EAAIuT,EAAEtgB,EAMN+uC,GALAnsB,EAAI,EACJ5E,EAAIsC,EAAEqkC,EAAI3/C,EACVqlB,EAAI/J,EAAEqkC,EAAI3/C,EACV+d,EAAIzC,EAAEtb,EACNyY,EAAI6C,EAAED,EACFC,EAAEqkC,GACNvjC,EAAIpc,EAAI+H,EACRgc,EAAI/jB,EAAIyL,EACR3D,EAAI2Q,EAAEsiE,GACNv3E,EAAIumC,EAAIhmB,EAAIm9B,GAAGzoC,EAAG4M,EAAGrM,GAAK,KAC5BgM,EAAE+kB,GAAK3tB,GACP4I,EAAEvZ,GAAK1D,GACPid,EAAEy8B,GAAGhpC,IACLuM,EAAG,OAAS,OACFjH,EAAE4H,GAAKokB,EAAIhmB,GAAK,IACtBsB,EAAIvd,IAAMtE,EAAI09C,GAAGzoC,EAAG4M,EAAGrM,IACvBgM,EAAE,MAAQxhB,GACV00C,EAAGn6B,GAEC,KADJhW,EAAIk/B,GAAGzjC,EAAEi7C,EAAE,GAAIj7C,EAAE66C,EAAE,GAAItgC,IAEpB4H,EAAEpa,EAAIw+B,GAAKhiC,IACRgiC,IACA1kB,GACGrlB,IAAOqlB,EAAI,IAAMrM,GAAQvN,KAAOuN,EAAI,KAAOupC,GAAGjnC,EAAGtC,QACrD,MAAI,IAAMjR,GAiBR,CACL6V,EAAI,QACEoH,CAAA,CAlBFjd,EAAItM,GAAGsM,EAAI,IAAKgW,GAAA,IAMdo6B,EALF58C,EAAI0rC,GAAGzjC,EAAEi7C,EAAE,GAAIj7C,EAAE66C,EAAE,GAAItgC,GAAA,GAC3Bm6B,EAAGn6B,KAGCgsB,IADJxuC,EAAIslD,GAAG7gD,EADPzE,EAAIE,GAAGF,EAAGwiB,MAEI3B,EAAI2tB,GAAKhiC,GAGhB,CACL6V,EAAI,QACEoH,CAAA,KAHDmzB,EAAI,EAAGA,EAAIpwC,IAAKowC,EAAGxyB,EAAEpa,EAAIw+B,EAAIoO,GAAKxyB,EAAEpa,EAAIw+B,EAAIoO,EAAI58C,GAAA,IAKvDwuC,GAAKhiC,EACAsd,GAAKtd,EAAGsd,GAAKrlB,GACfqlB,GAAKrlB,IAAMgZ,GAAQvN,KAAOuN,EAAI,KAAOupC,GAAGjnC,EAAGtC,GAC9C+wB,EAAIhmB,GAAKsB,EAAIvd,IAAMtE,EAAI09C,GAAGzoC,EAAG4M,EAAGrM,GAAA,CAKlCgM,EAAEjH,EAAE4H,GAAKsyB,EAAGl6B,GAAA,CAEdwkC,GAAGjnC,EAAGtC,EAAIvN,EAAIA,EAAIuN,GAAA,MACZgM,CAAA,EAEPpH,GAAMG,EAAE4H,GAAKokB,EAAI3tB,GAAOwB,EAAI,EAAKtC,EAAEqC,EAAII,EAAE4H,EAAI,EAAI,GAAOrK,EAAEqkC,EAAI5V,EAC/Dt+B,EAAImS,CAAA,MACCnS,EAAI8xC,GAAGjiC,EAAGA,EAAEkjC,EAAGljC,EAAEo+D,GAAIp+D,EAAE/e,EAAG+e,EAAEtgB,EAAGyQ,EAAGm3C,IAAA,IACpCn3C,EAAG,CACNstB,EAAI,QACElb,CAAA,EAGV7iB,EAAI+9B,GAAKx8B,IAAMshB,EAAE4jE,GAAK,GACtB1oD,EAAI,MAEDA,EAAG,OAAO,QAEblb,EAAE4jE,KACW,OAAX1oD,EAAIlb,EAAE0jE,MAAmBxoD,EAAEysD,GAAK,MAAQ3nE,EAAE0jE,GAAK,KAAO,EAAI1jE,EAAEkkE,IAE9D,OAAO90B,MAAM,6BAA8B,YAExCpvC,EAAEgkE,GAAK7mF,EAAIqgB,CAAA,UAEXgwC,GAAGxtC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,GAAA,KAClB,EAAI3iB,KAAO,KAKd+9B,EAJE1d,EAAIwC,EACNthB,EAAIyoB,GAAKvZ,EAAI,EAAI,GACjB6P,EAAIuC,EACJ8H,EAAIX,GAAKvZ,EAAI,EAAI,OAEdstB,EAAI,EAAGA,EAAIh5B,IAAKg5B,EAAG,KAClB/f,EAAIsC,EAAEqK,EAAI,EAAIoT,GAAA,KACX/f,IACHA,GAAK,MACNqC,EAAE9e,EAAI,EAAIw8B,EAAI,GAAM1d,EAAE9e,EAAI,EAAIw8B,EAAI,GAAK/f,GAAM,GAC7CqC,EAAE9e,EAAI,EAAIw8B,EAAI,GAAM1d,EAAE9e,EAAI,EAAIw8B,EAAI,GAAK/f,GAAM,GAC7CqC,EAAE9e,EAAI,EAAIw8B,EAAI,GAAM1d,EAAE9e,EAAI,EAAIw8B,EAAI,GAAK/f,GAAM,IAElDgM,GAAKrH,CAAA,WAGAy0C,GAAGv0C,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,KACf,EAAI+E,KAAO,KACZ4d,EAAA,IACCA,EAAI,EAAGA,EAAIlS,IAAKkS,EAAG,KAClBob,EAAIlb,EAAEmH,EAAI,EAAIrH,EAAI,GAEpBtC,EAAQ,IADRC,EAAIuC,EAAEmH,EAAI,EAAIrH,EAAI,IAElBphB,EAAI,KAAO8e,EACXC,GAAW,IAAJA,EAAYA,GAAK,GAAM/e,GAAM,GACtCshB,EAAEmH,EAAI,EAAIrH,EAAI,IACH,IAAJob,EAAYA,GAAK,GAAMx8B,GAAM,GAAM,KAC9B,GAAJw8B,EAAWA,GAAK,GAAMx8B,GAAM,IAAO,EAAK,GAChDshB,EAAEmH,EAAI,EAAIrH,EAAI,GAAU,IAAJrC,EAAWD,CAAA,CAEjC2J,GAAKhqB,CAAA,WAGAowD,GAAGvtC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAG2iB,EAAGob,EAAG1d,GAAA,IAE7B9e,EACA+e,EAFEqK,EAAI,QAGHrK,EAAI,EAAGA,EAAItgB,IAAKsgB,EAAG,KACjB/e,EAAI,EAAGA,EAAIwD,IAAKxD,EAAG,KAClByc,EAAI6E,EAAEmH,EAAIzoB,GACdohB,EAAEob,EAAI,EAAIx8B,GAAKyc,EACf2M,GAAK3M,CAAA,CAEPgM,GAAKvZ,EACLstB,GAAK1d,CAAA,QAEA,KAAOsK,CAAA,UAEP4sC,GAAG10C,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IAClB2iB,EAAA,IACCA,EAAI,EAAGA,EAAI3iB,IAAK2iB,EAAGlS,EAAE1L,EAAI4d,GAAKE,EAAEmH,EAAIrH,IAAM,WAExC60C,KACP6kB,GAAKhsB,GACL+uB,GAAKhoB,GACLglB,GAAKhsB,GACL8wB,GAAK3pB,EAAA,UAEEG,GAAGjnD,EAAG1L,EAAG/E,GAChB6iB,EAAKpS,GAAK,SAASoS,EAAGpS,EAAGkS,EAAGob,EAAG1d,EAAG9e,EAAG+e,EAAGqK,EAAG3M,EAAGqM,EAAGtH,EAAGtF,EAAGlN,EAAGvL,EAAGub,EAAGqC,EAAG7V,GAAA,IAC7DgiC,EACF3tB,EAAKrU,EAAI,GAAM,EACbgc,EAAI1I,EAAE9e,EAAI,GAAM+e,EAAEqK,EAAI,IAAM,GAC5BsyB,EAAIj/B,EAAEqM,EAAI,GAAMtH,EAAEtF,EAAI,IAAM,GAChCuM,EAAE,MAAQnH,GAAA,IACN/V,EAAK,EAAIic,EAAIk0B,EAAI,QAAW,MAChCl4C,EAAE8d,EAAEpS,EAAI,GAAQ,IAAJ3D,EAASA,GAAK,GAAIyD,EAAGvL,GAAA,MACzB2d,IACJ7V,EAAK,EAAImwC,EAAIl0B,EAAI,QAAW,EAC9BhkB,EAAE4d,EAAEob,EAAI,GAAQ,IAAJjxB,EAASA,GAAK,GAAIyT,EAAGqC,IAC9BmsB,EAAI,EAAGA,GAAK3tB,IAAK2tB,EAAG,KACnBmO,EAAI78B,EAAE9e,EAAIwtC,GAAMzuB,EAAEqK,EAAIokB,IAAM,GAC5BvmC,EAAIwV,EAAEqM,EAAI0kB,GAAMhsB,EAAEtF,EAAIsxB,IAAM,GAC5BoO,EAAIp0B,EAAIm0B,EAAID,EAAIz0C,EAAI,OACpBjI,EAAK48C,EAAI,GAAKD,EAAID,IAAO,EAE7BnwC,EAAKvM,EAAIwoB,GAAM,EACfA,GAFAo0B,EAAKA,EAAI,GAAKp0B,EAAIvgB,IAAO,GAEhB00C,GAAM,EACfn4C,EAAE8d,EAAEpS,EAAI,EAAIs+B,EAAI,GAAQ,IAAJjiC,EAASA,GAAK,GAAIyD,EAAGvL,GAAK,EAAI+pC,EAAI,GAAK/uC,GAC3D+E,EAAE8d,EAAEpS,EAAI,EAAIs+B,EAAI,GAAQ,IAAJhmB,EAASA,GAAK,GAAIxY,EAAGvL,GAAK,EAAI+pC,EAAI,GAAK/uC,GAAA,MACnD2iB,IACJ7V,EAAKqwC,EAAIF,GAAM,EAChBl0B,EAAKxoB,EAAIiI,GAAM,EAChBzD,EAAE4d,EAAEob,EAAI,EAAIgR,EAAI,GAAQ,IAAJjiC,EAASA,GAAK,GAAIyT,EAAGqC,GAAK,EAAImsB,EAAI,GAAK/uC,GAC3D+E,EAAE4d,EAAEob,EAAI,EAAIgR,EAAI,GAAQ,IAAJhmB,EAASA,GAAK,GAAIxI,EAAGqC,GAAK,EAAImsB,EAAI,GAAK/uC,IAC7D+oB,EAAIm0B,EACJD,EAAIz0C,CAAA,CAEF,EAAJuE,IACID,EAAK,EAAIic,EAAIk0B,EAAI,QAAW,EAC9Bl4C,EAAE8d,EAAEpS,EAAI1D,EAAI,GAAQ,IAAJD,EAASA,GAAK,GAAIyD,EAAGvL,GAAK+H,EAAI,GAAK/M,GACnD,MAAQ2iB,IACJ7V,EAAK,EAAImwC,EAAIl0B,EAAI,QAAW,EAC9BhkB,EAAE4d,EAAEob,EAAIhxB,EAAI,GAAQ,IAAJD,EAASA,GAAK,GAAIyT,EAAGqC,GAAK7V,EAAI,GAAK/M,IAAA,WAGlD40D,KACPgnB,GAAEkD,IAAM2L,GACR7O,GAAEW,IAAM7qC,GACRkqC,GAAEqD,IAAMyL,GACR9O,GAAEY,IAAMmO,GACR/O,GAAEM,IAAM0O,GACRhP,GAAEa,IAAMoO,GACRjP,GAAEyD,IAAMyL,GACRlP,GAAE9B,IAAMpoC,GACRkqC,GAAE7B,IAAM4Q,GACR/O,GAAE5B,IAAM4Q,GACRhP,GAAE3B,IAAM4Q,EAAA,UAEDh2B,GAAGhyC,GAAA,OACHA,GAAKkoE,GAAM,EAAIloE,EAAI,EAAI,IAAOA,GAAKmoE,EAAA,UAEnCnzB,GAAGh1C,EAAGmH,GAAA,OACN6qC,IAAK,MAAQhyC,GAAM,IAAO,MAAQmH,GAAM,GAAK,gBAE7C+tC,GAAGl1C,EAAGmH,EAAGvZ,GAAA,OACTokD,IACH,MAAQhyC,GAAM,IAAO,KAAOmH,GAAM,IAAO,MAAQvZ,GAAM,GAAK,eAGzD6/C,GAAGztC,EAAGmH,GAAA,OACN6qC,IAAK,MAAQhyC,GAAM,IAAO,MAAQmH,GAAM,GAAK,gBAE7CouC,GAAGv1C,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GACtB+E,EAAE/E,EAAI,GAAK63D,GAAGh1C,EAAGpS,GACjB1L,EAAE/E,EAAI,GAAK+3D,GAAGl1C,EAAGmH,EAAGvZ,GACpB1L,EAAE/E,EAAI,GAAKswD,GAAGztC,EAAGmH,EAAA,UAEVgrC,GAAGnyC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GACtB+E,EAAE/E,EAAI,GAAKswD,GAAGztC,EAAGmH,GACjBjlB,EAAE/E,EAAI,GAAK+3D,GAAGl1C,EAAGmH,EAAGvZ,GACpB1L,EAAE/E,EAAI,GAAK63D,GAAGh1C,EAAGpS,EAAA,UAEV4nD,GAAGx1C,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IAClB2iB,EAAIo1C,GAAGl1C,EAAGmH,EAAGvZ,GACjBuZ,EAAMrH,GAAK,EAAK,IAAQ2tC,GAAGztC,EAAGmH,IAAM,EACpCjlB,EAAE/E,EAAI,GAAiB,IAAX63D,GAAGh1C,EAAGpS,GAAakS,GAAK,EACpC5d,EAAE/E,EAAI,GAAKgqB,CAAA,UAEJmqC,GAAGtxC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,IAClB2iB,EAAgB,IAAX2tC,GAAGztC,EAAGmH,GAAY,GAC3BjlB,EAAE/E,EAAI,GAAiB,IAAX63D,GAAGh1C,EAAGpS,GAAasnD,GAAGl1C,EAAGmH,EAAGvZ,IAAM,EAC9C1L,EAAE/E,EAAI,GAAK2iB,CAAA,UAEJ21C,GAAGz1C,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GACtB+E,EAAE/E,EAAI,GAAK,IACXo4D,GAAGv1C,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,EAAI,YAEZuwD,GAAG1tC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GACtBg1D,GAAGnyC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GACf+E,EAAE/E,EAAI,GAAK,aAEJwwD,GAAG3tC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GACtBo4D,GAAGv1C,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GACf+E,EAAE/E,EAAI,GAAK,aAEJsiD,GAAGz/B,EAAGmH,GAAA,OACN,EAAInH,EAAI,EAAIA,EAAImH,EAAIA,EAAInH,CAAA,UAExBw2C,GAAGrvC,EAAGvZ,EAAG1L,GAChB8d,EAAKmH,GAAK,SAASnH,EAAGmH,EAAGhqB,EAAG2iB,EAAGob,EAAG1d,EAAG9e,EAAG+e,EAAGqK,GAAA,IACpC,IAAI3M,EAAIsC,IAAU,EAALqK,GAAU5lB,EAAGub,GAAKtC,GAClCvN,EAAEoS,EAAEmH,EAAI,GAAIhqB,EAAE2iB,EAAI,GAAIob,EAAE1d,EAAI,GAAI9e,EAAG+e,GACjC7P,EAAEoS,EAAEmH,EAAI,GAAIhqB,EAAE2iB,EAAI,GAAIob,EAAE1d,EAAI,GAAI9e,EAAG+e,EAAIvb,GACtCilB,GAAK,IACJrH,IACAtC,EACDC,GAAK,EAAIvb,EACV,EAAJ4lB,GAASla,EAAEoS,EAAEmH,EAAI,GAAIhqB,EAAE2iB,EAAI,GAAIob,EAAE1d,EAAI,GAAI9e,EAAG+e,EAAA,WAGvCopC,GAAG7mC,EAAGmH,EAAGvZ,GAAA,OACT,GAAKA,EAAK,GAAKoS,EAAK,GAAKmH,EAAI,EAAI,EAAK,GAAKA,EAAI,EAAI,EAAKvZ,CAAA,UAExDm5C,GAAG/mC,EAAGmH,EAAGvZ,EAAG1L,EAAG/E,GAAA,OACd6iB,IAAM,SACP,EACHylE,GAAGt+D,EAAGvZ,EAAG1L,EAAG/E,EAAG,cAEZ,EACH0oF,GAAG1+D,EAAGvZ,EAAG1L,EAAG/E,GAAA,WAET,EACHwoF,GAAGx+D,EAAGvZ,EAAG1L,EAAG/E,GAAA,UAGT05D,GAAG72C,EAAGmH,GAAA,IACTvZ,EACFkS,EACAob,EAAI/T,EAAE3I,EACNhB,EAAI2J,EAAE05D,GACNniF,EAAIshB,EAAE6iE,GACNplE,EAAIuC,EAAE8iE,GAAK,GACXh7D,EAAI9H,EAAE6iE,GACN1nE,EAAI6E,EAAE8iE,GAAK,IACXt7D,EAAIxH,EAAE6iE,GACN3iE,EAAIF,EAAE8iE,GAAK,QACRl1E,EAAI,EAAG,GAAKA,IAAKA,EAAGlP,EAAE+e,EAAI,GAAK7P,EAAI,GAAK,QACxCA,EAAI,EAAG,EAAIA,IAAKA,EAClBka,EAAE3M,EAAI,GAAKvN,EAAI,GAAK,IAAO4Z,EAAEtH,EAAI,GAAKtS,EAAI,GAAK,UAC9CstB,EACCx8B,EAAE+e,EAAI,EAAI,IAAMqK,EAAE3M,EAAI,EAAI,IAAMqM,EAAEtH,EAAI,EAAI,IAAM,KAChD/iB,EAAEuB,EAAG+e,EAAI,GAAK,EAAG,IAAK,IACvBtgB,EAAE2qB,EAAG3M,EAAI,GAAK,EAAG,IAAK,GACtBhe,EAAEqqB,EAAGtH,EAAI,GAAK,EAAG,IAAK,IACrBJ,EAAI,EAAGA,EAAIE,EAAEgiE,KAAMliE,EAAG,KACrBlF,EAAIuM,EAAE45D,GAAG55D,EAAE65D,GAAKlhE,GAAA,GAChB,EAAIA,EAAG,KACJlS,GAAK,EAAG,GAAKA,IAAKA,EAAG1L,EAAExD,EAAG+e,EAAI,GAAK7P,EAAI,EAAGlP,EAAG+e,EAAI,GAAK7P,EAAI,GAAI,OAC9DA,GAAK,EAAG,EAAIA,IAAKA,EACpB1L,EAAE4lB,EAAG3M,EAAI,GAAKvN,EAAI,EAAGka,EAAG3M,EAAI,GAAKvN,EAAI,EAAG,GACtC1L,EAAEslB,EAAGtH,EAAI,GAAKtS,EAAI,EAAG4Z,EAAGtH,EAAI,GAAKtS,EAAI,EAAG,OAE1CF,EAAIsS,EAAEyiE,GACRtgF,EAAI6d,EAAE0iE,GAAK5iE,EACXpC,EAAI9C,EAAEwlE,GACNrgE,EAAInF,EAAE8lE,GAAA,KACJxlD,IACDh5B,EAAExD,EAAG+e,EAAI,GAAI/P,EAAEvL,GAAG+H,EAAG,EAAG,IACzBhI,EAAE4lB,EAAG3M,EAAI,GAAIzN,EAAEvL,GAAGqlB,EAAG,EAAG,GACxBtlB,EAAEslB,EAAGtH,EAAI,GAAIxS,EAAEvL,GAAGm1E,GAAI,EAAG,IACvB18D,EAAEylE,GAAI,KACJn2E,EAAIxL,EACJwtC,EAAIzuB,EAAI,GAAK,SACbyd,IACDpb,GAAKE,EAAEgiE,GAAK,EACT7kF,EAAE+M,EAAGgiC,EAAGx+B,EAAEvL,GAAG+H,EAAE,IAAK,GACpBhI,EAAEgI,EAAGgiC,EAAGx+B,EAAEvL,EAAI,GAAG+H,EAAG,EAAG,IACxB0D,EAAI,EAAG,EAAIA,EAAGA,IACjB1D,EAAEgiC,EAAI,IAAMt+B,GAAK1D,EAAEgiC,EAAI,IAAMt+B,GAAK1D,EAAEgiC,EAAI,IAAMt+B,GAAK1D,EAAEgiC,EAAI,EAAIt+B,GAAA,IAC1DA,EAAI,EAAG,GAAKA,IAAKA,EAAGmS,IAAM,EAC5B7V,EAAIxL,EAAKwtC,EAAIzuB,EAAI2qE,GAAGx6E,GAAK64E,GAAE7rE,EAAE0lE,GAAG1yE,IAAI1D,EAAGgiC,GAAI6a,GAAGhnC,EAAGrC,EAAG,IAAM9P,EAAG1D,EAAGgiC,EAAA,MAC9D,GAAMhiC,EAAI28C,GAAG/mC,EAAGob,EAAGtgB,EAAE0lE,GAAG,IAAM7zC,GAAEviC,GAAGxL,EAAG+e,GAAI,GAAKsC,EACpD,IAAKnS,EAAI,EAAG,GAAKA,IAAKA,EAAGmS,IAAM,EAAGgnC,GAAGhnC,EAAGrC,EAAG,IAAM9P,EAAGlP,EAAG+e,EAAI2qE,GAAGx6E,IAAA,IAChEA,EAAIgN,EAAE6lE,GACNv2E,EAAI28C,GAAG/mC,EAAGob,EAAGtgB,EAAE+lE,IACfiG,GAAG18E,GAAG4d,EAAG3M,GACTyrE,GAAG18E,GAAGsd,EAAGtH,GAETH,EAAIrC,EACJxT,EAAI4d,EACJokB,EAAI/wB,EACA,KAJJP,EAAIhN,GAAK,KAIO,IAAJgN,EAAU8qE,GAAG3lE,EAAG,IAAK7V,EAAGgiC,GAAK05C,GAAG7lE,EAAG,IAAK7V,EAAGgiC,IAEvDtxB,EAAI4M,EACJzH,EAAIG,EACA,KAHJtS,IAAM,KAGU,IAAJA,EAAU83E,GAAGhoE,EAAG,IAAK9C,EAAGmF,GAAK6lE,GAAGloE,EAAG,IAAK9C,EAAGmF,IACvDmb,EAAIlb,EAAE+hE,GAAK,IACR7/E,EAAEwL,EAAEvL,GAAG+H,EAAG,EAAGxL,EAAG+e,EAAI,IAAK,IAC1Bvb,EAAEwL,EAAEvL,GAAGqlB,EAAG,EAAGM,EAAG3M,EAAI,IAAK,GACzBjZ,EAAEwL,EAAEvL,GAAGm1E,GAAI,EAAG9vD,EAAGtH,EAAI,IAAK,IAC5BtS,EAAI,EAAI4P,EAAIwC,EAAEoG,EACd1Y,EAAIsS,EAAE+iE,GACN5gF,EAAI6d,EAAEgjE,GAAK,GAAKljE,EAAI,GAAKtC,EAAIwC,EAAEogC,EAC/B1iC,EAAIsC,EAAEijE,GACNroE,EAAIoF,EAAEkjE,GAAK,EAAIpjE,EAAIlS,EACnBmS,EAAIC,EAAEmjE,GACNj5E,EAAI8V,EAAEojE,GAAK,EAAItjE,EAAIlS,EACdA,EAAI,EAAG,GAAKA,IAAKA,EAAG1L,EAAEwL,EAAGvL,EAAIyL,EAAIoS,EAAEogC,EAAG1hD,EAAG+e,EAAI,GAAK7P,EAAG,QACrDA,EAAI,EAAG,EAAIA,IAAKA,EACnB1L,EAAEwb,EAAG9C,EAAIhN,EAAIoS,EAAEoG,EAAG0B,EAAG3M,EAAI,GAAKvN,EAAG,GAC/B1L,EAAE6d,EAAG7V,EAAI0D,EAAIoS,EAAEoG,EAAGoB,EAAGtH,EAAI,GAAKtS,EAAG,aAGhCg6C,GAAG5nC,EAAG9d,EAAG/E,EAAG2iB,EAAGob,EAAG1d,EAAG9e,EAAG+e,EAAGqK,GAAA,IAC9B3M,EAAI,CAAC,GACPqM,EAAI,CAAC,GACLtH,EAAI,EACJtF,EAAI,MAAQkN,EAAIA,EAAEo/D,GAAK,EACvBx5E,EAAI,MAAQoa,EAAIA,EAAI,IAAIsrC,GAAA,GACtB,MAAQpzC,GAAK,GAAK7iB,EAAG,OAAO,EAChCuQ,EAAE9L,KAAOoe,EACTtS,EAAEw+B,EAAIhqC,EACNwL,EAAE62E,GAAKpnF,EACP+E,EAAI,CAACA,GACL/E,EAAI,CAACA,GACLuQ,EAAE25E,GAAK,CAAC35E,EAAE25E,IACVrnE,EAAG,KACG7d,EAAID,EACJ6d,EAAI5iB,EACJ+M,EAAIwD,EAAE25E,GAAA,GACVlgE,EAAE,MAAQnH,GACVmH,EAAE,MAAQpH,GACVoH,EAAE,MAAQjd,GACVA,EAAE,GAAK,EACH,IAAM6V,EAAE,KAAOnS,EAAGoS,EAAG7d,EAAE,GAAI,QAAS,IAClCyL,EAAGoS,EAAG7d,EAAE,GAAK,EAAG,QAAS,CAC3B+H,EAAI,QACE8V,CAAA,KAEJksB,EAAI1uC,EAAGwiB,EAAG7d,EAAE,GAAK,MACjB,GAAK+pC,GAAK,WAAaA,EAAG,CAC5BhiC,EAAI,QACE8V,CAAA,IAEJpF,GAAKsxB,EAAInsB,EAAE,GAAK,EAAG,CACrB7V,EAAI,QACE8V,CAAA,CAER9V,EAAE,GAAKgiC,EACP/pC,EAAE,IAAM,GACR4d,EAAE,IAAM,GAEV7V,EAAI,KAEF,GAAKA,EAAG,OAAOA,EAAA,IACnBgiC,EAAI,EAAIx+B,EAAE25E,GAAG,GACRlqF,EAAIA,EAAE,KAAQ,CAGjB6iB,EAAG,KACGkG,EAAIlG,EACRD,EAAI7d,EACJgI,EAAI/M,EAAA,IAEFi9C,EAAIj/B,EACJlR,EAAIud,EACJ6yB,EATJl4C,EAAI,CAAC,OAMCzE,EALNwiB,EAAI,CAACA,IASD,GAAK,EACH,EAAIhW,EAAE,GAAIA,EAAI,MACb,KACE0D,EAAGsY,EAAGnG,EAAE,GAAI,QAAS,IACpB,IAAMviB,EAAG0oB,EAAGnG,EAAE,GAAK,GAAI,CACzB7V,EAAI,QACE8V,CAAA,IAEJ,GAAK9V,EAAE,GAAI,CACbA,EAAI,QACE8V,CAAA,KAEJra,EAAInI,EAAG0oB,EAAGnG,EAAE,GAAK,GACjBu6B,EAAI,EAAIr0B,EAAGC,EAAGnG,EAAE,GAAK,OAErB,YAAcu6B,GADlBp0B,EAAI,EAAID,EAAGC,EAAGnG,EAAE,GAAK,KACI,CACvB7V,EAAI,QACE8V,CAAA,OAEAq6B,IAAMA,EAAE,GAAK10C,GAAA,MACby0C,IAAMA,EAAE,GAAKE,GAAA,MACbrwC,IAAMA,EAAE,GAAKic,GACrBnG,EAAE,IAAM,GACR7V,EAAE,IAAM,GACRxM,EAAE,GAAK,EAETwM,EAAI,MAGRgW,EAAIA,EAAE,GACN/d,EAAIA,EAAE,GACF,GAAK+H,EAAG,OAAOA,EAAA,GACnB6V,KAAW,EAAJ5d,IACF+pC,GAAKhsB,EAAG,OAAO,WACZ1C,IAAMA,EAAE,MAAY,GAAJrb,IAAA,MAChBzD,IAAMA,EAAE,GAAKqhB,GAAA,MACbtC,IAAMA,EAAE,GAAK,GACrB/e,EAAIyc,EAAE,GACNhZ,EAAIqlB,EAAE,GACFtH,GAAKH,GAAK,MAAQ+H,EAAG,CACvB5d,EAAI,WAGF,EAAI/M,EAAG,CACT+M,EAAI,WAGDgiC,GAAKhsB,IAAQgsB,IAAMhsB,IAAMtS,EAAGoS,EAAG9d,EAAE,GAAI,QAAU,CAClD/E,EAAI,CAACA,GACLuQ,EAAEy5E,GAAK,CAACz5E,EAAEy5E,IACVz5E,EAAE4sC,EAAI,CAAC5sC,EAAE4sC,GACT5sC,EAAE65E,GAAK,CAAC75E,EAAE65E,IACVvnE,EAAG,CACDra,EAAIqa,EACJ9V,EAAIhI,EACJgqC,EAAI/uC,EAAA,IACAO,EAAIgQ,EAAE25E,GACRjtC,EAAI1sC,EAAEy5E,GACNl9E,EAAIyD,EAAE4sC,EACND,EAAI3sC,EAAE65E,GACRjtC,EAAI,GACJnzB,EAAE,MAAQxhB,GACVwhB,EAAE,MAAQ+kB,GACVhmB,EAAIhc,EAAE,OACFwwC,EAAIxO,EAAE,OACV/kB,EAAE,MAAQizB,GACVjzB,EAAE,MAAQkzB,GACVD,EAAE,GAAK,KACPnwC,EAAE,GAAK,KACFowC,EAAE,GAAK,IAAO,IACjBnwC,EAAE,GAAKgc,EACPgmB,EAAE,GAAKwO,EACH,EAAIA,EAAG,CACTxwC,EAAI,QACE8V,CAAA,KAEJk7B,EAAI19C,EAAGmI,EAAGugB,EAAI,MACd,WAAag1B,EAAG,CAClBhxC,EAAI,QACE8V,CAAA,KAEJ46B,EAAK,EAAIM,EAAI,GAAM,KACvBZ,GAAKM,EACD,EAAIl9C,GAAK48C,EAAI58C,EAAG,CAClBwM,EAAI,QACE8V,CAAA,KAEHpS,EAAGjI,EAAGugB,EAAG,UAAYtY,EAAGjI,EAAGugB,EAAG,QAAS,CAC1Chc,EAAI,QACE8V,CAAA,IAEJ06B,EAAE,GAAKE,EAAG,CACZ1wC,EAAI,QACE8V,CAAA,CAERpS,EAAGjI,EAAGugB,EAAG,UAAak0B,EAAE,GAAKz0C,EAAKsE,EAAE,GAAKic,EAAI,EAAKm0B,EAAE,GAAKa,GACzDh1B,GAAK00B,EACLF,GAAKE,CAAA,KAGTz9C,EAAIA,EAAE,GACNuQ,EAAEy5E,GAAKz5E,EAAEy5E,GAAG,GACZz5E,EAAE4sC,EAAI5sC,EAAE4sC,EAAE,GACV5sC,EAAE65E,GAAK75E,EAAE65E,GAAG,GACR,GAAKr9E,EAAG,MAEd/M,EAAI,CAACA,GACLuQ,EAAE45E,GAAK,CAAC55E,EAAE45E,IACV55E,EAAE05E,GAAK,CAAC15E,EAAE05E,IACVpnE,EAAG,GACCtiB,EAAIsiB,EACL9V,EAAIhI,EACJgqC,EAAI/uC,EACJi9C,EAAI1sC,EAAE25E,GAAG,GACTp9E,EAAIyD,EAAE45E,GACNjtC,EAAI3sC,EAAE05E,GACNzhF,EAAIuE,EAAE,GACNgc,GAAKtY,EAAGlQ,EAAGiI,EAAG,QACd20C,GAAK1sC,EAAGlQ,EAAGiI,EAAG,QACfwhB,EAAE,MAAQzpB,GACVypB,EAAE,MAAQ+kB,GACV/kB,EAAE,MAAQld,GACVkd,EAAE,MAAQkzB,GACV,EAAInO,EAAE,GAENhiC,EAAI,MACD,IACCgc,GAAKo0B,EAAG,IACV58C,EAAIF,EAAGE,EAAGiI,EAAI,GACV,IAAMy0C,GAAK18C,EAAI08C,EAAI,GAAI,CACzBlwC,EAAI,QACE8V,CAAA,IAEJpF,GAAKld,EAAIwuC,EAAE,GAAK,EAAG,CACrBhiC,EAAI,QACE8V,CAAA,CAER/V,EAAE,GAAKvM,EACPwM,EAAE,IAAM,EACRgiC,EAAE,IAAM,EACRmO,EAAE,GAAKC,CAAA,MAEND,EAAE,GAAK,GAAKnO,EAAE,IAAM,IAAMxuC,EAAEiI,EAAI,MAAQjI,EAAEiI,EAAI,IAAM,GAClDsE,EAAE,GAAKiiC,EAAE,GACdhiC,EAAI,KAEN/M,EAAIA,EAAE,GACNuQ,EAAE45E,GAAK55E,EAAE45E,GAAG,GACZ55E,EAAE05E,GAAK15E,EAAE05E,GAAG,GACZllF,EAAIA,EAAE,GACF,GAAKgI,EAAG,SACR,WAAawD,EAAE45E,GAAI,OAAO,WACtB7pE,GAAKsC,IAAMtC,EAAE,GAAK/P,EAAE05E,GAAK,EAAI,GACrC1oF,EAAI,CAACA,GACLyD,EAAI,CAACA,GACDuL,EAAE05E,GAAI,IACJ,EAAIjqF,EAAG,CACT+M,EAAI,QAGNuT,EAAI/e,EACJkc,EAAIzY,EACJ4d,EAAIvC,EAAA,MACIwC,GAAK,EAAI7iB,EACZ6iB,EAAI,EACL,GAAK7iB,GAAK,IAAM6iB,EAAE9d,EAAI,MAAQ8d,EAAE9d,EAAI,IAAM,IACxCgqC,EAAI,CAAC,GACNxuC,EAAI,CAAC,GACL08C,EAAI,CAAC,GAEN18B,EADCzT,EAAI,IAAIsU,EACHyB,EAAG9d,EAAG/E,GACZ4lD,GAAG94C,EAAGiiC,EAAGxuC,EAAG08C,IACP,MAAQ38B,IAAMA,EAAE,GAAKyuB,EAAE,IACxB,MAAQtxB,IAAMA,EAAE,GAAKld,EAAE,IACvB,MAAQqiB,IAAMA,EAAE,GAAKq6B,EAAE,IACtBp6B,EAAI,GACJA,EAAI,GACRA,EAAI,MACJ,IACD,GAAK7iB,EAAG,CACV+M,EAAI,QAGNuT,EAAItb,EAAA,MACI6d,GAAK,GAAK7iB,IAAM6qD,GAAGhoC,EAAG9d,EAAI,EAAG/E,EAAI,GACpC6iB,EAAI,GACHpF,EAAIoF,EAAE9d,EAAI,GAAM8d,EAAE9d,EAAI,IAAM,EAAM8d,EAAE9d,EAAI,IAAM,GAC/C6d,EAAmC,OAA7BC,EAAE9d,EAAI,IAAM,EAAK8d,EAAE9d,EAAI,IAC7B8d,EAAmC,OAA7BA,EAAE9d,EAAI,IAAM,EAAK8d,EAAE9d,EAAI,IAC1B,EAAJ0Y,GACA,GAAMA,GAAK,EAAK,MACbA,GAAK,EAAK,IACbA,GAAK,GAAKlN,EAAE45E,KACXvnE,IACAC,EACIA,EAAI,GACJthB,IAAMA,EAAE,GAAKqhB,GAAItC,IAAMA,EAAE,GAAKuC,GAAKA,EAAI,QAE7CA,EAAG,OAAO,KACfthB,EAAIA,EAAE,GACNyD,EAAIA,EAAE,GACF+d,IAAM/E,EAAE,IAAMzc,GAAK8oB,EAAE,IAAMrlB,GAAI,OAAO,QAClC2lB,IACJA,EAAE,GAAKpa,EACRoa,EAAEujC,OAASnpD,EAAI4lB,EAAEokB,EAClB/kB,EAAE,WAAajlB,EAAI4lB,EAAEokB,GACrB/kB,EAAEW,EAAEujC,QAAUvjC,EAAEy8D,GAAKpnF,IAAA,aAGlB,GAAK+M,GAAM,GAAKA,GAAKgW,GAAK,MAAQ4H,GACpC,MAAQtK,IAAMA,EAAE,IAAM,MAAQ9P,EAAEy5E,IAAM,EAAIz5E,EAAEy5E,GAAGjqF,QAChD,MAAQ4iB,IAAMA,EAAE,GAAKphB,GACrB,MAAQw8B,IAAMA,EAAE,GAAK/4B,GACrB,GACA+H,CAAA,UAEGotD,GAAGt3C,EAAGmH,EAAGvZ,GAAA,IACZ1L,EAAIilB,EAAEpiB,MACR5H,EAAIgqB,EAAExV,OACNmO,EAAI,EACJob,EAAI,EACJ1d,EAAItb,EACJxD,EAAIvB,EAAA,GACNgqB,EAAEuxD,GAAK,MAAQ14D,GAAK,EAAIA,EAAE04D,GAExBvxD,EAAEuxD,KACAl7D,EAAIwC,EAAEinB,GACPvoC,EAAIshB,EAAEy4D,GACN34D,EAAIE,EAAEtC,EACNwd,EAAIlb,EAAExiB,EACP,GAAKoQ,IAAOkS,IAAM,EAAKob,IAAM,GAC7B,EAAIpb,GAAK,EAAIob,GAAK,GAAK1d,GAAK,GAAK9e,GAAKohB,EAAItC,EAAItb,GAAKg5B,EAAIx8B,EAAIvB,GAE3D,OAAO,KACTgqB,EAAEzJ,EAAIoC,EACNqH,EAAE3pB,EAAI09B,EACN/T,EAAE20D,GAAKh8D,EAAItC,EACX2J,EAAE+T,EAAIA,EAAIx8B,EACVyoB,EAAE8zB,EAAIz9B,EACN2J,EAAEtC,EAAInmB,EACNyoB,EAAEqxD,GAAK,MAAQx4D,GAAK,EAAIA,EAAEw4D,GACtBrxD,EAAEqxD,GAAI,KAGHx8B,EAAGx+B,EAAG9e,EAFXkP,EAAI,CAACoS,EAAEu4D,IACPz4D,EAAI,CAACE,EAAEs4D,KACc,OAAO,EAC5BnxD,EAAEoxD,GAAK3qE,EAAE,GACTuZ,EAAEmxD,GAAKx4D,EAAE,UAEXqH,EAAEyxD,GAAK,MAAQ54D,GAAKA,EAAE44D,GACtBzxD,EAAEmyD,GAAK,MAAQt5D,IAAMA,EAAE24D,GACvBxxD,EAAEqxD,KAAQrxD,EAAEyxD,GAAKzxD,EAAEoxD,GAAM,EAAIr2E,EAAK,GAAKilB,EAAEmxD,GAAM,EAAIn7E,EAAK,EAAKgqB,EAAEmyD,GAAK,GAC7D,WAEAniB,GAAGn3C,GAAA,GACN,MAAQA,EAAG,OAAO,KAClB,GAAKA,EAAEq6B,EAAG,KACRlzB,EAAInH,EAAEwH,EAAEuwD,KACZ5wD,EAAEkwD,KAAOr3D,EAAErO,OAAS,GAAKwV,EAAEizB,EAC3BjzB,EAAEizB,GAAKjzB,EAAEizB,CAAA,MAERjzB,EAAInH,EAAEwH,EAAEwwD,GACNh4D,EAAIA,EAAErO,OACNwV,EAAEyzB,IAAM56B,EAAI,GAAKmH,EAAE0wD,GACnB1wD,EAAE0wD,IAAM1wD,EAAE0wD,GACV1wD,EAAE5I,IAAOyB,EAAI,GAAM,GAAKmH,EAAEywD,GAC1BzwD,EAAEywD,IAAMzwD,EAAEywD,GACVzwD,EAAEu5B,IAAO1gC,EAAI,GAAM,GAAKmH,EAAEwwD,GAC1BxwD,EAAEwwD,IAAMxwD,EAAEwwD,GACX,MAAQxwD,EAAE+zB,IAAO/zB,EAAE85B,IAAMjhC,EAAI,GAAKmH,EAAEuwD,GAAMvwD,EAAEuwD,IAAMvwD,EAAEuwD,IAAA,OACjD,WAEA3gB,GAAG/2C,EAAGmH,EAAGvZ,EAAG1L,GAAA,GACf,MAAQA,GAAK,GAAK8d,GAAK,GAAKmH,EAAG,OAAO,KACtC,MAAQvZ,EAAG,IACTA,EAAE8qE,GAAI,KACJv7E,EAAIyQ,EAAEq5B,GACR/L,EAAIttB,EAAE6qE,GACNj7D,GAAW,EAAP5P,EAAE8P,EACNhf,GAAW,EAAPkP,EAAEpQ,EAAA,GACJ,EAAIggB,GAAK,EAAI9e,GAAK,GAAKvB,GAAK,GAAK+9B,GAAK1d,EAAIrgB,EAAI6iB,GAAKthB,EAAIw8B,EAAI/T,EAC7D,OAAO,EACTnH,EAAI7iB,EACJgqB,EAAI+T,CAAA,IAEFttB,EAAE4qE,GAAI,KAGHx8B,EAAGh8B,EAAGmH,EAFXhqB,EAAI,CAACyQ,EAAE2qE,IACPr9C,EAAI,CAACttB,EAAE0qE,KACc,OAAO,EAC5Bt4D,EAAI7iB,EAAE,GACNgqB,EAAI+T,EAAE,IAGVh5B,EAAE6C,MAAQib,EACV9d,EAAEyP,OAASwV,EACXnH,EAAG,KACGvC,EAAIvb,EAAE6C,MACN+iB,EAAI5lB,EAAEyP,OAAA,GACVqO,EAAI9d,EAAEm4C,EACF,GAAK58B,GAAK,GAAKqK,KAAO9H,GAAKi8D,IAAM,GAAKj8D,GAAIA,EAAI,MAC7C,IACC,GAAK9d,EAAE41E,IAAM,MAAQ51E,EAAE+1E,GAAI,CACzBz6D,EAAK0d,EAAI/9B,EAAIgqB,EAAI,MAEnBhM,GADAzc,EAAI+e,EAAI4qE,GAAGroE,IACH8H,EAAA,MACL9H,IAEFkb,GAAMpT,EAAI,GAAK,GADdX,GAAK1J,EAAI,GAAK,GAEhB,IAAMuC,IAAgBxC,GAATrgB,EAAIsgB,GAAaqK,IAE5B,OADJA,EAAIhI,EAAE3E,EAAI,EAAI+f,EAAI1d,IACH,CACbwC,EAAI,QACEA,CAAA,CAER9d,EAAE+1E,GAAKnwD,EAAA,GACF9H,IACCvC,EAAIvb,EAAEslB,EAAEuwD,MACPpxC,GAAK7e,EACPrK,EAAE45D,GAAK,EACP55D,EAAE28B,EAAI17C,EACN+e,EAAEjY,KAAO2V,KACRsC,EAAIvb,EAAEslB,EAAEwwD,IACP9tE,EAAI4d,EACNrK,EAAEm9B,EAAI,EACNn9B,EAAEo6D,GAAKn5E,EACP+e,EAAEg6D,GAAKt8D,EACPsC,EAAE+J,EAAIM,EACNrK,EAAEc,EAAI,EAAIpD,EACVsC,EAAEm6D,GAAKzwD,EACP1J,EAAE+5D,GAAKt8C,EACPzd,EAAE65D,GAAKxvD,EACPrK,EAAEijC,EAAI,EAAIvlC,EAAI+f,EACdzd,EAAEk6D,GAAKxwD,EACP1J,EAAE85D,GAAKr8C,EACR,IAAMlb,IAAOvC,EAAEy9B,EAAIpzB,EAAKrK,EAAEwjC,EAAI,EAAI9lC,EAAI,EAAI+f,GACzCzd,EAAEmI,GAAKpI,EACPC,EAAEi6D,GAAKv6E,EAAA,IAEdgqB,EAAI,EACJhqB,EAAI+E,EAAEm4C,EACNnf,EAAIh5B,EAAE6C,MACNyY,EAAItb,EAAEyP,OACFxU,GAAK8+E,IAAM,GAAK9+E,EAAA,GACd,GAAKA,EACN6iB,EAAI9d,EAAEslB,EAAEuwD,KAEN5wD,IADAzoB,EAAIiC,KAAK8jC,IAAIzkB,EAAEo6B,KACL58B,EAAI,GAAK0d,GAAKlb,EAAExa,KAC1B2hB,GAAKzoB,GAAKw8B,EAAImtD,GAAGlrF,GACjBgqB,GAAK,MAAQnH,EAAE2mB,OACf,CACH3mB,EAAI9d,EAAEslB,EAAEwwD,GACRt5E,GAAKw8B,EAAI,GAAK,EACd/f,GAAKqC,EAAI,GAAK,EACdC,EAAI9c,KAAK8jC,IAAIzkB,EAAE63D,IACX/vD,EAAInnB,KAAK8jC,IAAIzkB,EAAE43D,IAAA,IACjBpwD,EAAI7mB,KAAK8jC,IAAIzkB,EAAE23D,IACfz3D,EAAIvf,KAAK8jC,IAAIzkB,EAAE03D,IACf98D,EAAIsF,GAAK1C,EAAI,GAAK0d,EACpB/T,GAAK1J,GAAKD,EAAI,GAAK0d,GAAKlb,EAAEy3D,GAC1BtwD,GAAKW,GAAK3M,EAAI,GAAKzc,GAAKshB,EAAEw3D,GAE1BrwD,GADAA,GAAKK,GAAKrM,EAAI,GAAKzc,GAAKshB,EAAEu3D,IACjB95D,GAAKyd,EAAMpT,GAAKppB,EAAM8oB,GAAK9oB,EACpCyoB,GAAK,MAAQnH,EAAE9V,EACfid,GAAK,MAAQnH,EAAEwH,EACfL,GAAK,MAAQnH,EAAEs3D,GAAA,IACTn6E,IAAOgqB,GAAKjH,GAAKgb,EAAK/T,GAAKvM,GAAKoF,EAAE4F,GAAMuB,GAAK,MAAQnH,EAAEk7B,EAAA,MAE5D/zB,EAAI,EACTnH,EAAImH,EAAI,EAAI,UAGZ,GAAKnH,GAAA,MACDpS,GAAKA,EAAEi5B,KAAO7mB,EAAIm3C,GAAGj1D,IADV8d,CAAA,KAIjBi3C,GAAK,GACPtX,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,UAEFuX,GAAK,GACLsf,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,GAEJt2B,EAAE,aAAc,iBAChBpgC,EAAKsoE,WAAa,kBACT,YAETtoE,EAAKuoE,WAAa,SAASvoE,GAAA,OAClBA,CAAA,EAETA,EAAKwoE,WAAa,SAASxoE,EAAGmH,EAAGvZ,GAAA,OACxBuZ,EAAEvZ,EAAI,IAEfoS,EAAKyoE,WAAa,SAASzoE,EAAGmH,EAAGvZ,GAAA,OACxBuZ,EAAEvZ,EAAI,IAEfoS,EAAK0oE,WAAa,SAAS1oE,EAAGmH,EAAGvZ,GAAA,OACxBuZ,EAAEvZ,EAAI,IAEfoS,EAAK2oE,WAAa,SAAS3oE,EAAGmH,EAAGvZ,GAAA,OACxBqtC,EAAGA,EAAGj7B,EAAGmH,EAAEvZ,EAAI,IAAKuZ,EAAEvZ,EAAI,KAEnCoS,EAAK4oE,WAAa,SAAS5oE,EAAGmH,EAAGvZ,GAAA,OACxBqtC,EAA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AAKxlE,EAAE,KACPylE,GAAKzlE,EAAE,KACPqlE,GAAK,EACL6B,GAAK3B,GACLtoB,GAAKuoB,GACLyB,GAAIxB,GACJ0B,GAAI7B,GACJnJ,GAAK,EACLvC,GAAK,EACL0C,GAAK,EACLzC,GAAK,EACLN,GAAK,EACLO,GAAK,EACL4C,GAAK,EACLvF,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACL8G,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,IACpEnD,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,KAEFiD,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFpuC,GAAK,EACL+0C,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,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA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AAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,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wD,IAGvBwb,EAhaM,EAiaNsC,EAAO/V,EAAS+V,EAAMmH,EAAmBvZ,GACzCoS,EAAOzB,EAAcyB,EAAMmH,GAC3BzJ,EAlaM,EAmaNhf,GAAA,EACAshB,EAAO/V,EAAS+V,EAAMmH,EAAmBvZ,GACzClP,EAAuBwD,EACvB8d,EAAOzB,EAAcyB,EAAMmH,GAAA,OAxC7BzJ,EA/XQ,EAgYRsC,EAAO/V,EAAS+V,EAAMmH,EAAmBvZ,QAdzC8P,EAAOoC,EAjXC,EADA,EAmXRE,EAAO/V,EAAS+V,EAAMmH,EAAmBvZ,GAAA,OAuDpCoS,CAAA,OAcJs1E,eAAe35B,WAAa,SAAS37C,GACpCA,IACF7iB,EAAc6iB,EAAQ21E,cACtBz6D,EAAelb,EAAQ41E,eACvB91E,EAAWE,EAAQ61E,WACnBr4E,EAAYwC,EAAQ81E,YACpBp3F,EAAuBshB,EAAQ+1E,oBAAA,OAI9BT,eAAe35B,WAAW37C,GACxBzjB,KAAK+4F,cAAA,MAGVnuE,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,KA8jBEvZ,EAAa,IAAIoS,EAAMs1E,eAAe,CAAEK,eAAA,IAoC5C31E,EAAMoL,IAAIwsC,OAAO71D,KAAK,CAAC,kBAlCE,SAASie,GAAA,IAC5BmH,EAAOnH,EAAKjZ,KAGZ7E,GAFI8d,EAAK/V,EACL+V,EAAK9V,EACC8V,EAAK/hB,SAAW,CAAC,GAG3Bd,GAFQ6iB,EAAK6wC,MACN3uD,EAAQwvD,KACL,OAEdxvD,EAAQyzF,cAC2B,kBAA1BzzF,EAAQyzF,eAA8BzzF,EAAQyzF,cACvD/nF,EAAW+tD,WAAWz5D,GAEuB,mBAAzC7E,OAAOZ,UAAUa,SAASC,KAAK4pB,GAA4B,KACzDrH,EAAI,MACR3iB,EAAU,GACL2iB,EAAI,EAAGA,EAAIqH,EAAKjqB,OAAQ4iB,GAAK,EACgB,mBAA5CziB,OAAOZ,UAAUa,SAASC,KAAK4pB,EAAKrH,IACtC3iB,EAAQ4E,KAAK,CACX6L,EAAW8nF,cAAcvuE,EAAKrH,GAAG,IACjCqH,EAAKrH,GAAG,GACRqH,EAAKrH,GAAG,KAGV3iB,EAAQ4E,KAAK,CAAC6L,EAAW8nF,cAAcvuE,EAAKrH,MAGhDE,EAAKjZ,KAAO5J,CAAA,MAEZ6iB,EAAKjZ,KAAO6G,EAAW8nF,cAAcvuE,GAEvCvZ,EAAW+tD,WAAW,CAAEg6B,eAAA,GAAe,IArnF3C,CAynFG35C,ICpnFHA,GAAM5wB,IAAI4mE,QAAW,oBAaVhyE,EAAQA,GAAA,IACXmH,EAAA,QACC2tE,QAAU90E,EACfmH,EAAO5qB,KAAKmnE,SAAW,IAAIxa,GAAKlpC,GAAA,KAC3B0jD,SAAS/4D,IAAM,EACO,SAAvBwc,EAAK6uE,WAAW,SACZ,IAAIt5F,MAAM,uBAEhByqB,EAAKxc,IAAM,OACNjG,QAAA,KACA4vF,OAAS,IAAIvoC,GAAOxvD,MAAAA,KACpB05F,aAAA,QAnBTj2E,EAAQ2G,KAAO,SAASQ,GAAA,OACf,IAAInH,EAAQmH,EAAA,EAyBrBnH,EAAQvjB,UAAUiI,MAAQ,uBACnBwxF,UAAY,IAAI9sC,GAAU7sD,KAAKmnE,UAAA,KAC/Bj3C,KAAO,IAAIq+B,GAAUvuD,MAAAA,KACrBC,KAAO,IAAI6vD,GAAU9vD,MAAAA,KACrB04F,KAAO,IAAI/pC,GAAU3uD,MAAAA,KACrB83F,UAAY,CAAC,EAAD,KACZ8B,KAAO,IAAI/pC,GAAU7vD,MAAAA,KACrB65F,KAAO,IAAI1qC,GAAUnvD,MAAAA,KACrBw4F,KAAO,IAAI5oC,GAAU5vD,MAAAA,KACrB6xC,KAAO,IAAIgd,GAAU7uD,MAAAA,KACrB85F,IAAM,IAAIjvD,GAAS7qC,MAAAA,KACnB+5F,KAAO,IAAIxqC,GAAUvvD,MAAAA,KACrBg6F,KAAO,IAAI5P,GAAUpqF,MAAAA,KACrBo4F,SACFp4F,KAAK85F,IAAIG,QAAUj6F,KAAK85F,IAAI1B,UAAap4F,KAAK45F,KAAKxB,SAAA,KACjDC,SACFr4F,KAAK85F,IAAIG,QAAUj6F,KAAK85F,IAAIzB,UAAar4F,KAAK45F,KAAKvB,SAAA,KACjD6B,QAAWl6F,KAAK85F,IAAIG,QAAUj6F,KAAK85F,IAAII,SAAYl6F,KAAK45F,KAAKM,QAC1Dl6F,KAAKi4F,KAAO,CAClBj4F,KAAKkwB,KAAKiqE,KACVn6F,KAAKkwB,KAAKkqE,KACVp6F,KAAKkwB,KAAKmqE,KACVr6F,KAAKkwB,KAAKoqE,KAAA,EAOd72E,EAAQvjB,UAAUw5F,YAAc,eAC1Bj2E,EAAGmH,EAAIvZ,EAAK1L,EAAK/E,EAAA,QAChBkwB,YAAc,IAAS9wB,KAAKkwB,KAAKuoE,WAAA,KACjCR,KAAO,eACNrtE,EAAIvZ,EAAM1L,EAAM/E,EAAA,IAEpBA,EAAW,GACNgqB,EAAK,EAAGvZ,GAFb1L,EAAO3F,KAAKi4F,MAEat3F,OAAQiqB,EAAKvZ,EAAMuZ,IAC1CnH,EAAI9d,EAAKilB,GACThqB,EAAS4E,KAAKpB,KAAKkd,MAAMmC,EAAIzjB,KAAK8wB,cAAA,OAE7BlwB,CAAA,EACPI,KAAKhB,MAAAA,KACFk4F,MAAQ,EACTl4F,KAAK6xC,KAAKooD,QAGZ5oF,EAAY,KAFZ1L,EAAM3F,KAAK6xC,KAAK0oD,cAGM,IAAZ,OAFV3vE,EAAKjlB,GAAO,OAGVilB,IAAuB,GAAV,MAALA,KAAA,KAELutE,cAAqBvtE,EAAK,IAAMvZ,IAAA,KAEhC8mF,YAAc,OAEhBC,SAAWh0F,KAAKkd,MAAMthB,KAAKo4F,SAAWp4F,KAAK8wB,aAAA,KAC3CunE,SAAWj0F,KAAKkd,MAAMthB,KAAKq4F,SAAWr4F,KAAK8wB,aAAA,KAC3CopE,QAAU91F,KAAKkd,MAAMthB,KAAKk6F,QAAUl6F,KAAK8wB,aAAA,KACzCwnE,UAAat4F,KAAK85F,IAAIG,QAAUj6F,KAAK85F,IAAIxB,WAAct4F,KAAKo4F,SAAA,KAC5DoC,QAAWx6F,KAAK85F,IAAIG,QAAUj6F,KAAK85F,IAAIU,SAAY,OACnDC,aAAgBz6F,KAAK85F,IAAIG,QAAUj6F,KAAK85F,IAAIW,aAAgB,IAAM,OAClEC,QAC2B,KAA7B95F,EAAOZ,KAAKy6F,cACJ,IAAT75F,GACS,IAATA,GACS,IAATA,GACS,IAATA,GACS,IAATA,EAAA,KACG+5F,SAAgC,KAArB36F,KAAKy6F,YAAA,KAChBxmC,MAAQ,EACTj0D,KAAK6xC,KAAK+oD,eAAA,KACP3mC,OAAS,GAEZj0D,KAAK06F,UAAA,KACFzmC,OAAS,GAEZj0D,KAAK26F,WAAA,KACF1mC,OAAS,GAES,IAArBj0D,KAAKm4F,cAAA,KACFlkC,OAAS,SAEXA,OAAS,IACTj0D,KAAK04F,KAAKC,QAAA,MACP,IAAIx4F,MAAM,6BAGpBsjB,EAAQvjB,UAAU40F,iBAAmB,SAASrxE,GAAA,IACxCmH,EAAA,OAE6B,OAA7BA,EAAO5qB,KAAK04F,KAAKC,SAAmB/tE,EAAKguE,QAAQn1E,QAAA,IACnD,GAGJA,EAAQvjB,UAAU20F,aAAe,SAASpxE,GAAA,IACpCmH,EAAA,OACJA,EAAQ,IAAS5qB,KAAKkwB,KAAKuoE,WACpBz4F,KAAKw4F,KAAKqC,SAASp3E,GAAOq3E,QAAUlwE,CAAA,EAE7CnH,EAAQvjB,UAAU00F,cAAgB,SAASnxE,EAAQmH,EAAMvZ,GAAA,IACnD1L,EAAU/E,EAAU2iB,EAAOob,EAAA,IAE/Bpb,EAAQ,EAEN3iB,EAAI,EAAG+9B,GAHTlb,EAAS,GAAKA,GAGS9iB,OACrB,GAAKg+B,EAAO/9B,EAAI+9B,EAAO/9B,EAAI+9B,EAC3B/9B,EAAI,GAAK+9B,IAAS/9B,IAAMA,EAExB+E,EAAW8d,EAAOriB,WAAWR,GAC7B2iB,GACEvjB,KAAK60F,aAAa70F,KAAK80F,iBAAiBnvF,IACtC0L,GAAa,IAAOuZ,IAAS,SAG5BrH,GADCqH,EAAO,MAGjBnH,EAAQvjB,UAAU+wB,WAAa,SAASxN,EAAMmH,GAAA,IACxCvZ,EAAA,OACc,MAAduZ,IACFA,GAAA,GAEFvZ,EAAMuZ,EAAa5qB,KAAKk6F,QAAU,GACzBl6F,KAAKo4F,SAAW/mF,EAAMrR,KAAKq4F,UAAY,IAAQ50E,CAAA,EAEnDA,CAAA,CA1JY,GAiKrB,IA+RI+C,GA/RAmmC,GAAQ,oBACDlpC,EAAKA,GAAA,KACPpe,KAAe,MAARoe,EAAeA,EAAO,QAC7BrV,IAAM,OACNzN,OAASX,KAAKqF,KAAK1E,MAAA,QAE1B8iB,EAAKvjB,UAAU66F,SAAW,kBACjB/6F,KAAKqF,KAAKrF,KAAKoO,MAAA,EAExBqV,EAAKvjB,UAAU86F,UAAY,SAASv3E,GAAA,OAC1BzjB,KAAKqF,KAAKrF,KAAKoO,OAASqV,CAAA,EAElCA,EAAKvjB,UAAU21E,WAAa,kBAEH,SAAlB71E,KAAK+6F,YACL/6F,KAAK+6F,YAAc,KACnB/6F,KAAK+6F,YAAc,GACnB/6F,KAAK+6F,UAAA,EAGZt3E,EAAKvjB,UAAU+6F,YAAc,SAASx3E,GAAA,YAC/Bu3E,UAAWv3E,IAAQ,GAAM,UACzBu3E,UAAWv3E,GAAO,GAAM,UACxBu3E,UAAWv3E,GAAO,EAAK,KACrBzjB,KAAKg7F,UAAgB,IAANv3E,EAAA,EAExBA,EAAKvjB,UAAUg7F,UAAY,eACrBz3E,EAAA,OACJA,EAAMzjB,KAAK61E,eACA,WACFpyD,EAAM,WAENA,CAAA,EAGXA,EAAKvjB,UAAUi7F,WAAa,SAAS13E,GAAA,OAC/BA,EAAM,IACRA,GAAO,YAEFzjB,KAAKi7F,YAAYx3E,EAAA,EAE1BA,EAAKvjB,UAAUs2E,WAAa,kBAErBx2E,KAAK+6F,YAAc,EACnB/6F,KAAK+6F,UAAA,EAGZt3E,EAAKvjB,UAAUk7F,YAAc,SAAS33E,GAAA,YAC/Bu3E,UAAWv3E,GAAO,EAAK,KACrBzjB,KAAKg7F,UAAgB,IAANv3E,EAAA,EAExBA,EAAKvjB,UAAUm7F,UAAY,eACrB53E,EAAA,OACJA,EAAMzjB,KAAKw2E,eACA,MACF/yD,EAAM,MAENA,CAAA,EAGXA,EAAKvjB,UAAUo7F,WAAa,SAAS73E,GAAA,OAC/BA,EAAM,IACRA,GAAO,OAEFzjB,KAAKo7F,YAAY33E,EAAA,EAE1BA,EAAKvjB,UAAUu5F,WAAa,SAASh2E,GAAA,IAC/BmH,EAAGvZ,EAAA,IACPA,EAAM,GAEJuZ,EAAI,EACJ,GAAKnH,EAASmH,EAAInH,EAASmH,EAAInH,EAC/BmH,EAAI,GAAKnH,IAAWmH,IAAMA,EAE1BvZ,EAAIuZ,GAAKrG,OAAOC,aAAaxkB,KAAK+6F,YAAA,OAE7B1pF,EAAIpL,KAAK,KAElBwd,EAAKvjB,UAAUq7F,YAAc,SAAS93E,GAAA,IAChCmH,EAAGvZ,EAAM1L,EAAA,IACbA,EAAW,GAETilB,EAAI,EAAGvZ,EAAOoS,EAAI9iB,OAClB,GAAK0Q,EAAOuZ,EAAIvZ,EAAOuZ,EAAIvZ,EAC3BuZ,EAAI,GAAKvZ,IAASuZ,IAAMA,EAExBjlB,EAASH,KAAKxF,KAAKg7F,UAAUv3E,EAAIriB,WAAWwpB,KAAA,OAEvCjlB,CAAA,EAMT8d,EAAKvjB,UAAUs7F,UAAY,kBAClBx7F,KAAKq7F,WAAA,EAEd53E,EAAKvjB,UAAUu7F,WAAa,SAASh4E,GAAA,OAC5BzjB,KAAKs7F,WAAW73E,EAAA,EAEzBA,EAAKvjB,UAAUw7F,aAAe,eACxBj4E,EAAImH,EAAIvZ,EAAI1L,EAAI/E,EAAI2iB,EAAIob,EAAI1d,EAAA,OAChCwC,EAAKzjB,KAAK+6F,WACVnwE,EAAK5qB,KAAK+6F,WACV1pF,EAAKrR,KAAK+6F,WACVp1F,EAAK3F,KAAK+6F,WACVn6F,EAAKZ,KAAK+6F,WACVx3E,EAAKvjB,KAAK+6F,WACVp8D,EAAK3+B,KAAK+6F,WACV95E,EAAKjhB,KAAK+6F,WACD,IAALt3E,GAWC,GATc,mBAAR,IAALA,GACc,iBAAR,IAALmH,GACa,eAAR,IAALvZ,GACa,YAAR,IAAL1L,GACa,UAAR,IAAL/E,GACa,OAAR,IAAL2iB,GACa,KAAR,IAALob,IACK,IAAL1d,GACD,GAKC,kBAALwC,EACK,gBAALmH,EACK,cAALvZ,EACK,WAAL1L,EACK,SAAL/E,EACK,MAAL2iB,EACK,IAALob,EACA1d,CAAA,EAGJwC,EAAKvjB,UAAUy7F,cAAgB,SAASl4E,GAAA,IAClCmH,EAAMvZ,EAAA,OACVuZ,EAAOxmB,KAAKK,MAAMgf,EAAM,YACxBpS,EAAY,WAANoS,EAAA,KACDu3E,UAAWpwE,GAAQ,GAAM,UACzBowE,UAAWpwE,GAAQ,GAAM,UACzBowE,UAAWpwE,GAAQ,EAAK,UACxBowE,UAAiB,IAAPpwE,GAAA,KACVowE,UAAW3pF,GAAO,GAAM,UACxB2pF,UAAW3pF,GAAO,GAAM,UACxB2pF,UAAW3pF,GAAO,EAAK,KACrBrR,KAAKg7F,UAAgB,IAAN3pF,EAAA,EAExBoS,EAAKvjB,UAAU07F,QAAU,kBAChB57F,KAAKk7F,WAAA,EAEdz3E,EAAKvjB,UAAU27F,SAAW,SAASp4E,GAAA,OAC1BzjB,KAAKm7F,WAAW13E,EAAA,EAKzBA,EAAKvjB,UAAUm2E,KAAO,SAAS5yD,GAAA,IACzBmH,EAAKvZ,EAAA,IACTuZ,EAAM,GAEJvZ,EAAI,EACJ,GAAKoS,EAAQpS,EAAIoS,EAAQpS,EAAIoS,EAC7BpS,EAAI,GAAKoS,IAAUpS,IAAMA,EAEzBuZ,EAAIplB,KAAKxF,KAAK+6F,YAAA,OAETnwE,CAAA,EAETnH,EAAKvjB,UAAUimD,MAAQ,SAAS1iC,GAAA,IAC1BmH,EAAMvZ,EAAG1L,EAAM/E,EAAA,IACnBA,EAAW,GACNyQ,EAAI,EAAG1L,EAAO8d,EAAM9iB,OAAQ0Q,EAAI1L,EAAM0L,IACzCuZ,EAAOnH,EAAMpS,GACbzQ,EAAS4E,KAAKxF,KAAKg7F,UAAUpwE,IAAA,OAExBhqB,CAAA,EAEF6iB,CAAA,CAlLG,GAqLRopC,GAAa,eACXppC,EAAA,SAMKmH,EAAUnH,GAAA,IACbmH,EAAOvZ,EAAG1L,EAAA,SACTm2F,WAAar4E,EAAKm4E,UAAA,KAClBG,WAAat4E,EAAK+3E,YAAA,KAClBQ,YAAcv4E,EAAK+3E,YAAA,KACnBS,cAAgBx4E,EAAK+3E,YAAA,KACrBU,WAAaz4E,EAAK+3E,YAAA,KAClBW,OAAS,CAAC,EAEb9qF,EAAI,EAAG1L,EAAO3F,KAAK+7F,WACnB,GAAKp2F,EAAO0L,EAAI1L,EAAO0L,EAAI1L,EAC3B0L,EAAI,GAAK1L,IAAS0L,IAAMA,EAExBuZ,EAAQ,CACNwxE,IAAK34E,EAAKg2E,WAAW,GACrB4C,SAAU54E,EAAKm4E,UACf9sC,OAAQrrC,EAAKm4E,UACbj7F,OAAQ8iB,EAAKm4E,WAAA,KAEVO,OAAOvxE,EAAMwxE,KAAOxxE,CAAA,QAO7BA,EAAU1qB,UAAUu4E,OAAS,SAAS7tD,GAAA,IAChCvZ,EACF1L,EACA/E,EACA2iB,EACAob,EACA1d,EACA9e,EACA+e,EACAqK,EAEA3M,EACAqM,EACAtH,EACAtF,EAAA,IAgBGA,KAfL4M,EAAanqB,OAAOwM,KAAKsd,GAAQjqB,OACjCsgB,EAAO7c,KAAKgd,IAAI,GAChBmK,EAAwD,GAA1CnnB,KAAKK,MAAML,KAAKgd,IAAI6J,GAAchK,GAChDsC,EAAgBnf,KAAKK,MAAM8mB,EAActK,GACzCC,EAA0B,GAAb+J,EAAkBM,GAC/B5lB,EAAY,IAAIgnD,IACNkvC,SAAS77F,KAAK87F,YACxBn2F,EAAU81F,WAAWxwE,GACrBtlB,EAAU81F,WAAWlwE,GACrB5lB,EAAU81F,WAAWl4E,GACrB5d,EAAU81F,WAAWv6E,GACrBtgB,EAA+B,GAAbqqB,EAClB9oB,EAASwD,EAAUyI,IAAMxN,EACzB+9B,EAAa,KACbhb,EAAY,GACAiH,EAAA,IACVhM,EAAQgM,EAAOvM,GACf1Y,EAAU41F,YAAYl9E,GACtB1Y,EAAUk2F,SAASp4E,EAAS7E,IAC5BjZ,EAAUk2F,SAAS15F,GACnBwD,EAAUk2F,SAASj9E,EAAMje,QACzBgjB,EAAYA,EAAUzW,OAAO0R,GACjB,SAARP,IACFsgB,EAAax8B,GAEfA,GAAUyc,EAAMje,OACTwB,EAAS,GACdwhB,EAAUne,KAAK,GACfrD,IAAA,OAGJwD,EAAUwgD,MAAMxiC,GAEhBtS,EAAa,WADPoS,EAAS9d,EAAUN,MAEzBM,EAAUyI,IAAMuwB,EAAa,EAC7Bh5B,EAAUs1F,YAAY5pF,GACf1L,EAAUN,IAAA,EAMnBoe,EAAW,SAASA,GAAA,IACdmH,EAAGvZ,EAAK1L,EAAK/E,EAAA,IACjB6iB,EAAOgsC,GAAQzuD,KAAKyiB,GACbA,EAAK9iB,OAAS,GACnB8iB,EAAKje,KAAK,OAEZG,EAAM,IAAIgnD,GAAKlpC,GACfpS,EAAM,EACDuZ,EAAI,EAAGhqB,EAAO6iB,EAAK9iB,OAAQiqB,EAAIhqB,EAAMgqB,EAAIA,GAAK,EACjDvZ,GAAO1L,EAAIkwE,aAAA,OAEA,WAANxkE,CAAA,EAEFuZ,CAAA,CAvGQ,GA2Gf0iC,GAAY,CAAC,EAAEptC,eACfmuC,GAAY,SAAS5qC,EAAOmH,GAAA,IACrB,IAAIvZ,KAAOuZ,EACV0iC,GAAUtsD,KAAK4pB,EAAQvZ,KAAMoS,EAAMpS,GAAOuZ,EAAOvZ,IAAA,SAG9C1L,IAAA,KACFvF,YAAcqjB,CAAA,QAErB9d,EAAKzF,UAAY0qB,EAAO1qB,UACxBujB,EAAMvjB,UAAY,IAAIyF,EACtB8d,EAAM64E,UAAY1xE,EAAO1qB,UAClBujB,CAAA,EAOX+C,GAAS,oBACE/C,EAAMA,GAAA,IACTmH,EAAA,KACC/L,KAAO4E,EACZmH,EAAO5qB,KAAK6e,KAAK86E,UAAUwC,OAAOn8F,KAAKo8F,KAAA,KAClCnC,SAAWrvE,EACZA,IAAA,KACIkkC,OAASlkC,EAAKkkC,OAAU9uD,KAAKW,OAASiqB,EAAKjqB,OAAA,KAC5CwH,MAAMnI,KAAK6e,KAAKsoD,UAAA,QAGzB1jD,EAAMvjB,UAAUiI,MAAQ,aACxBsb,EAAMvjB,UAAUu4E,OAAS,aACzBh1D,EAAMvjB,UAAUiW,IAAM,kBACfnW,KAAKi6F,QAAA,KAGLp7E,KAAKsoD,SAAS/4D,IAAMpO,KAAK8uD,OACvB9uD,KAAK6e,KAAKsoD,SAASkP,KAAKr2E,KAAKW,SAH3B,MAKJ8iB,CAAA,CApBA,GAuBT,IAAI8qC,GAAa,SAAS9qC,GAAA,SAGfmH,IAAA,OACAA,EAAU0xE,UAAUl8F,YAAYiI,MAAMrI,KAAMU,UAAA,QAHrD2tD,GAAUzjC,EAiDTpE,IA5CDoE,EAAU1qB,UAAUk8F,IAAM,OAC1BxxE,EAAU1qB,UAAUiI,MAAQ,SAASsb,GAAA,OACnCA,EAAKrV,IAAMpO,KAAK8uD,OAAA,KACXxwC,QAAUmF,EAAKm4E,UAAA,KACfW,SAAW94E,EAAKm4E,UAAA,KAChBY,mBAAqB/4E,EAAKm4E,UAAA,KAC1Ba,YAAch5E,EAAKm4E,UAAA,KACnB3nC,MAAQxwC,EAAK+3E,YAAA,KACb/C,WAAah1E,EAAK+3E,YAAA,KAClBkB,QAAUj5E,EAAKi4E,eAAA,KACfiB,SAAWl5E,EAAKi4E,eAAA,KAChBvB,KAAO12E,EAAK+3E,YAAA,KACZpB,KAAO32E,EAAK+3E,YAAA,KACZnB,KAAO52E,EAAK+3E,YAAA,KACZlB,KAAO72E,EAAK+3E,YAAA,KACZoB,SAAWn5E,EAAK+3E,YAAA,KAChBqB,cAAgBp5E,EAAK+3E,YAAA,KACrBsB,kBAAoBr5E,EAAK+3E,YAAA,KACzBuB,iBAAmBt5E,EAAK+3E,YACrBx7F,KAAKg9F,gBAAkBv5E,EAAK+3E,WAAA,EAEtC5wE,EAAU1qB,UAAUu4E,OAAS,SAASh1D,GAAA,IAChCmH,EAAA,OACJA,EAAQ,IAAI+hC,IACNkvC,SAAS77F,KAAKse,SACpBsM,EAAMixE,SAAS77F,KAAKu8F,UACpB3xE,EAAMixE,SAAS77F,KAAKw8F,oBACpB5xE,EAAMixE,SAAS77F,KAAKy8F,aACpB7xE,EAAM6wE,WAAWz7F,KAAKi0D,OACtBrpC,EAAM6wE,WAAWz7F,KAAKy4F,YACtB7tE,EAAM+wE,cAAc37F,KAAK08F,SACzB9xE,EAAM+wE,cAAc37F,KAAK28F,UACzB/xE,EAAM6wE,WAAWz7F,KAAKm6F,MACtBvvE,EAAM6wE,WAAWz7F,KAAKo6F,MACtBxvE,EAAM6wE,WAAWz7F,KAAKq6F,MACtBzvE,EAAM6wE,WAAWz7F,KAAKs6F,MACtB1vE,EAAM6wE,WAAWz7F,KAAK48F,UACtBhyE,EAAM6wE,WAAWz7F,KAAK68F,eACtBjyE,EAAM6wE,WAAWz7F,KAAK88F,mBACtBlyE,EAAM6wE,WAAWh4E,GACjBmH,EAAM6wE,WAAWz7F,KAAKg9F,iBACfpyE,EAAMvlB,IAAA,EAERulB,CAAA,CAjDQ,GAwDb+kC,GAAa,oBACNlsC,EAAUA,EAAMmH,GAAA,IACnBvZ,EACF1L,EACA/E,EACA2iB,EACAob,EACA1d,EACA9e,EACA+e,EAEAqK,EACA3M,EACAqM,EACAtH,EACAtF,EACAlN,EACAvL,EACAub,EACAqC,EAAA,YACGy5E,WAAax5E,EAAK+yD,aAAA,KAClB0mB,WAAaz5E,EAAK+3E,YAAA,KAClB1sC,OAASlkC,EAASnH,EAAKm4E,UAC5BrwE,EAAa9H,EAAKrV,IAClBqV,EAAKrV,IAAMpO,KAAK8uD,OAAA,KACXz7C,OAASoQ,EAAK+yD,aAAA,KACd71E,OAAS8iB,EAAK+yD,aAAA,KACd2mB,SAAW15E,EAAK+yD,aAAA,KAChB4mB,UACkB,IAApBp9F,KAAKi9F,YAAwC,IAApBj9F,KAAKk9F,YAAoC,IAAhBl9F,KAAKqT,QACnC,IAApBrT,KAAKi9F,YAAoC,IAAhBj9F,KAAKqT,OAAA,KAC5BulF,QAAU,CAAC,EACR54F,KAAKqT,QAAA,KACN,MACE4N,EAAI,EAAGA,EAAI,MAAOA,EAAA,KAChB23E,QAAQ33E,GAAKwC,EAAKs3E,WAAA,WAGtB,MACH9vE,EAAaxH,EAAK+yD,aAClB53D,EAAWqM,EAAa,EACxBxH,EAAKrV,KAAO,EACZxN,EAAW,eACLgqB,EAAIvZ,EAAA,IACRA,EAAW,GAET4P,EAAI2J,EAAK,EACT,GAAKhM,EAAWgM,EAAKhM,EAAWgM,EAAKhM,EACrCqC,EAAI,GAAKrC,IAAagM,IAAOA,EAE7BvZ,EAAS7L,KAAKie,EAAK+yD,cAAA,OAEdnlE,CAAA,CAVE,GAYXoS,EAAKrV,KAAO,EACZiQ,EAAa,eACPuM,EAAIvZ,EAAA,IACRA,EAAW,GAET4P,EAAI2J,EAAK,EACT,GAAKhM,EAAWgM,EAAKhM,EAAWgM,EAAKhM,EACrCqC,EAAI,GAAKrC,IAAagM,IAAOA,EAE7BvZ,EAAS7L,KAAKie,EAAK+yD,cAAA,OAEdnlE,CAAA,CAVI,GAYblP,EAAW,eACLyoB,EAAIvZ,EAAA,IACRA,EAAW,GAET4P,EAAI2J,EAAK,EACT,GAAKhM,EAAWgM,EAAKhM,EAAWgM,EAAKhM,EACrCqC,EAAI,GAAKrC,IAAagM,IAAOA,EAE7BvZ,EAAS7L,KAAKie,EAAK+yD,cAAA,OAEdnlE,CAAA,CAVE,GAYX6P,EAAiB,eACX0J,EAAIvZ,EAAA,IACRA,EAAW,GAET4P,EAAI2J,EAAK,EACT,GAAKhM,EAAWgM,EAAKhM,EAAWgM,EAAKhM,EACrCqC,EAAI,GAAKrC,IAAagM,IAAOA,EAE7BvZ,EAAS7L,KAAKie,EAAK+yD,cAAA,OAEdnlE,CAAA,CAVQ,GAYjB1L,GAAS3F,KAAKW,OAAS8iB,EAAKrV,IAAMpO,KAAK8uD,QAAU,EACjDnwB,EAAY,eACN/T,EAAIvZ,EAAA,IACRA,EAAW,GAET4P,EAAI2J,EAAK,EACT,GAAKjlB,EAAQilB,EAAKjlB,EAAQilB,EAAKjlB,EAC/Bsb,EAAI,GAAKtb,IAAUilB,IAAOA,EAE1BvZ,EAAS7L,KAAKie,EAAK+yD,cAAA,OAEdnlE,CAAA,CAVG,GAYP4P,EAAIrb,EAAK,EAAG4d,EAAO5iB,EAAQD,OAAQiF,EAAK4d,EAAMvC,IAAMrb,EAAA,IACvDuL,EAAOvQ,EAAQqgB,GAGb5P,EAAO8P,EAFTwC,EAAQtF,EAAU4C,GAGhB0C,GAASxS,EAAOgQ,GAAMhQ,EAAOgQ,GAAMhQ,EACnCE,EAAOsS,GAASxS,IAASgQ,IAAOA,EAEP,IAArBD,EAAcD,GAChBsC,EAAUlS,EAAOlP,EAAQ8e,GAIT,KADhBsC,EAAUob,EADFzd,EAAcD,GAAK,GAAK5P,EAAOsS,IAAU/E,EAAWqC,KAC/B,KAE3BsC,GAAWphB,EAAQ8e,IAAA,KAGlB23E,QAAQvnF,GAAkB,MAAVkS,EAI7BE,EAAKrV,IAAMmd,CAAA,QAEb9H,EAAUg1D,OAAS,SAASh1D,EAASmH,GAAA,IAC/BvZ,EACF1L,EACA/E,EACA2iB,EACAob,EACA1d,EACA9e,EACA+e,EACAqK,EACA3M,EACAqM,EACAtH,EACAtF,EACAlN,EACAvL,EACAub,EACAqC,EACA7V,EACAgiC,EACA3tB,EACA2H,EACAk0B,EACAnwC,EACAowC,EACA10C,EACA20C,EACA58C,EACAg9C,EACAQ,EACAj1B,EACAzoB,EACAo9C,EACAx0B,EACA5H,EACAw9B,EACAn8B,EACAogC,EACAG,EACAv7B,EACAo2B,EACA5M,EACAmS,EACAE,EACAC,EACAC,EACAE,EAAA,OACFpG,EAAW,IAAIwO,GACfppC,EAAQziB,OAAOwM,KAAKmW,GAASxe,MAAK,SAASwe,EAAGmH,GAAA,OACrCnH,EAAImH,CAAA,IAELA,GAAA,IACD,eACHvM,EAAK,EACLlN,EAAW,eACLsS,EAAW,OACVE,EAAI,EAAGA,EAAI,MAAOA,EACrBF,EAASje,KAAK,UAETie,CAAA,CALE,GAOXtC,EAAM,GACD,GAELvgB,EAAU,CAAC,EACN+9C,EAAK,EAAG90B,EAAOtG,EAAM5iB,OAAQg+C,EAAK90B,EAAM80B,IAEP,MAAhCx9B,EAAKgjC,EAAQ1gC,EADjB9d,EAAO4d,EAAMo7B,OAEXx9B,EAAIgjC,KAAW9lC,GAEjBzd,EAAQ+E,GAAQ,CACd03F,IAAK55E,EAAQ9d,GACb23F,IAAKn8E,EAAIsC,EAAQ9d,KAEnBwL,EAAQxL,GAAQwb,EAAIsC,EAAQ9d,IAAA,OAE9Bw4C,EAASi9C,YAAY,GACrBj9C,EAASi9C,YAAY,GACrBj9C,EAAS88C,YAAY,IACrB98C,EAASi9C,YAAY,GACrBj9C,EAASi9C,YAAY,KACrBj9C,EAASi9C,YAAY,GACrBj9C,EAASgI,MAAMh1C,GACR,CACLosF,QAAS38F,EACT48F,SAAUr/C,EAAS94C,KACnBo4F,WAAYp/E,EAAK,OAEhB,cACH0/B,EAAa,GACbxyB,EAAW,GACX/H,EAAS,EACTrC,EAAM,CAAC,EACP9P,EAAU,CAAC,EACXzL,EAAOzD,EAAO,KACTunB,EAAK,EAAGzH,EAAQsB,EAAM5iB,OAAQ+oB,EAAKzH,EAAOyH,IAG7B,MAAZvI,EADJwuB,EAAMlsB,EADN9d,EAAO4d,EAAMmG,OAGXvI,EAAIwuB,KAASnsB,GAEfnS,EAAQ1L,GAAQ,CACd03F,IAAK1tD,EACL2tD,IAAKn8E,EAAIwuB,IAEXhR,EAAQxd,EAAIwuB,GAAOhqC,EACP,MAARC,GAAgB+4B,IAAUx8B,IACxByD,GACF2lB,EAAS/lB,KAAKI,GAEhBm4C,EAAWv4C,KAAKG,GAChBxD,EAAOw8B,GAET/4B,EAAOD,EAAA,IAELC,GACF2lB,EAAS/lB,KAAKI,GAEhB2lB,EAAS/lB,KAAK,OACdu4C,EAAWv4C,KAAK,OAEhBs4C,EAAwB,GADxBpwC,EAAWqwC,EAAWp9C,QAEtBk9C,EAAc,EAAIz5C,KAAKC,IAAID,KAAKgd,IAAI1T,GAAYtJ,KAAKs5F,IAAK,GAC1D9+E,EAAgBxa,KAAKgd,IAAIy8B,EAAc,GAAKz5C,KAAKs5F,IACjD/zE,EAAa,EAAIjc,EAAWmwC,EAC5B58B,EAAS,GACTe,EAAe,GACfiJ,EAAW,GACNtH,EAAI1iB,EAAK,EAAGw+C,EAAQ1B,EAAWp9C,OAAQM,EAAKw+C,EAAO97B,IAAM1iB,EAAI,IAChEmI,EAAY20C,EAAWp6B,GACvBzC,EAAUqK,EAAS5H,GACD,QAAdva,EAAsB,CACxB6X,EAAOzb,KAAK,GACZwc,EAAaxc,KAAK,YAIhB4D,GADJjI,EAAakQ,EAAQjI,GAARk0F,MACiB,UAC5Br8E,EAAOzb,KAAK,GACZwc,EAAaxc,KAAK,GAAKylB,EAAStqB,OAAS+M,EAAWiW,IAElDhe,EAAO04C,EAAKj1C,EACZA,GAAa8X,EAAUm9B,GAAMn9B,EAAUm9B,GAAMn9B,EAC7Cvb,EAAOyD,GAAa8X,IAAYm9B,IAAOA,EAEvCpzB,EAASzlB,KAAK6L,EAAQ1L,GAAR23F,UAGhBr8E,EAAOzb,KAAKrE,EAAaiI,GACzB4Y,EAAaxc,KAAK,OAGtB24C,EAASi9C,YAAY,GACrBj9C,EAASi9C,YAAY,GACrBj9C,EAAS88C,YAAY,IACrB98C,EAASi9C,YAAY,GACrBj9C,EAASi9C,YAAY,GAAgB,EAAX1tF,EAAiC,EAAlBud,EAAStqB,QAClDw9C,EAASi9C,YAAY,GACrBj9C,EAASi9C,YAAYt9C,GACrBK,EAASi9C,YAAYv9C,GACrBM,EAASi9C,YAAYx8E,GACrBu/B,EAASi9C,YAAYzxE,GAChBmoB,EAAK,EAAGxuB,EAAQiI,EAAS5qB,OAAQmxC,EAAKxuB,EAAOwuB,IAChDnsC,EAAO4lB,EAASumB,GAChBqM,EAASi9C,YAAYz1F,GAAA,IAEvBw4C,EAASi9C,YAAY,GAChBn3C,EAAK,EAAGP,EAAQ3F,EAAWp9C,OAAQsjD,EAAKP,EAAOO,IAClDt+C,EAAOo4C,EAAWkG,GAClB9F,EAASi9C,YAAYz1F,GAAA,IAElBy+C,EAAK,EAAGP,EAAQ5iC,EAAOtgB,OAAQyjD,EAAKP,EAAOO,IAC9CzlB,EAAQ1d,EAAOmjC,GACfjG,EAASi9C,YAAYz8D,GAAA,IAElB0lB,EAAK,EAAG/7B,EAAQtG,EAAarhB,OAAQ0jD,EAAK/7B,EAAO+7B,IACpD12C,EAASqU,EAAaqiC,GACtBlG,EAASi9C,YAAYztF,GAAA,IAElB42C,EAAK,EAAG7F,EAAQzzB,EAAStqB,OAAQ4jD,EAAK7F,EAAO6F,IAChDlmC,EAAK4M,EAASs5B,GACdpG,EAASi9C,YAAY/8E,GAAA,MAEhB,CACLk/E,QAASlsF,EACTmsF,SAAUr/C,EAAS94C,KACnBo4F,WAAYj6E,EAAS,KAItBC,CAAA,CA7TQ,GAgUbkrC,GAAa,SAASlrC,GAAA,SAGfmH,IAAA,OACAA,EAAU0xE,UAAUl8F,YAAYiI,MAAMrI,KAAMU,UAAA,QAHrD2tD,GAAUzjC,EA6CTpE,IAxCDoE,EAAU1qB,UAAUk8F,IAAM,OAC1BxxE,EAAU1qB,UAAUiI,MAAQ,SAASsb,GAAA,IAC/BmH,EAAOvZ,EAAG1L,EAAA,IACd8d,EAAKrV,IAAMpO,KAAK8uD,OAAA,KACXxwC,QAAUmF,EAAK+yD,aACpB7wE,EAAa8d,EAAK+yD,aAAA,KACb2lB,OAAS,QACTxD,QAAU,KAEbtnF,EAAI,EACJ,GAAK1L,EAAa0L,EAAI1L,EAAa0L,EAAI1L,EACvC0L,EAAI,GAAK1L,IAAe0L,IAAMA,EAE9BuZ,EAAQ,IAAI+kC,GAAUlsC,EAAMzjB,KAAK8uD,QAAA,KAC5BqtC,OAAO32F,KAAKolB,GACbA,EAAMwyE,WACY,MAAhBp9F,KAAK24F,UAAA,KACFA,QAAU/tE,GAAA,QAId,EAMTA,EAAU6tD,OAAS,SAASh1D,EAASmH,GAAA,IAC/BvZ,EAAQ1L,EAAA,OACI,MAAZilB,IACFA,EAAW,YAEbvZ,EAASs+C,GAAU8oB,OAAOh1D,EAASmH,IACnCjlB,EAAQ,IAAIgnD,IACNyuC,YAAY,GAClBz1F,EAAMy1F,YAAY,GAClB/pF,EAAO6W,MAAQviB,EAAMN,KAAK6H,OAAOmE,EAAOmsF,UACjCnsF,CAAA,EAEFuZ,CAAA,CA7CQ,GAgDbilC,GAAa,SAASpsC,GAAA,SAGfmH,IAAA,OACAA,EAAU0xE,UAAUl8F,YAAYiI,MAAMrI,KAAMU,UAAA,QAHrD2tD,GAAUzjC,EA6CTpE,IAxCDoE,EAAU1qB,UAAUk8F,IAAM,OAC1BxxE,EAAU1qB,UAAUiI,MAAQ,SAASsb,GAAA,OACnCA,EAAKrV,IAAMpO,KAAK8uD,OAAA,KACXxwC,QAAUmF,EAAKm4E,UAAA,KACfxD,SAAW30E,EAAK+3E,YAAA,KAChBnD,SAAW50E,EAAK+3E,YAAA,KAChBtB,QAAUz2E,EAAK+3E,YAAA,KACfmC,gBAAkBl6E,EAAK+3E,YAAA,KACvBoC,mBAAqBn6E,EAAK+3E,YAAA,KAC1BqC,oBAAsBp6E,EAAK+3E,YAAA,KAC3BsC,WAAar6E,EAAK+3E,YAAA,KAClBuC,eAAiBt6E,EAAK+3E,YAAA,KACtBwC,cAAgBv6E,EAAK+3E,YAAA,KACrByC,YAAcx6E,EAAK+3E,YACxB/3E,EAAKrV,KAAO,OACP8vF,iBAAmBz6E,EAAK+3E,YACrBx7F,KAAKm+F,gBAAkB16E,EAAK+yD,YAAA,EAuB/B5rD,CAAA,CA7CQ,GAgDbigB,GAAY,SAASpnB,GAAA,SAGdmH,IAAA,OACAA,EAAS0xE,UAAUl8F,YAAYiI,MAAMrI,KAAMU,UAAA,QAHpD2tD,GAAUzjC,EAuETpE,IAlEDoE,EAAS1qB,UAAUk8F,IAAM,OACzBxxE,EAAS1qB,UAAUiI,MAAQ,SAASsb,GAAA,GAClCA,EAAKrV,IAAMpO,KAAK8uD,OAAA,KACXxwC,QAAUmF,EAAK+yD,aAAA,KACf4nB,iBAAmB36E,EAAK+3E,YAAA,KACxB6C,YAAc56E,EAAK+yD,aAAA,KACnB8nB,WAAa76E,EAAK+yD,aAAA,KAClBlzE,KAAOmgB,EAAK+3E,YAAA,KACZ+C,gBAAkB96E,EAAK+3E,YAAA,KACvBgD,gBAAkB/6E,EAAK+3E,YAAA,KACvBiD,kBAAoBh7E,EAAK+3E,YAAA,KACzBkD,kBAAoBj7E,EAAK+3E,YAAA,KACzBmD,kBAAoBl7E,EAAK+3E,YAAA,KACzBoD,kBAAoBn7E,EAAK+3E,YAAA,KACzBqD,oBAAsBp7E,EAAK+3E,YAAA,KAC3BsD,oBAAsBr7E,EAAK+3E,YAAA,KAC3BuD,eAAiBt7E,EAAK+3E,YAAA,KACtBwD,mBAAqBv7E,EAAK+3E,YAAA,KAC1Bf,YAAch3E,EAAK+3E,YAAA,KACnByD,OAAU,eACTr0E,EAAGvZ,EAAA,IACPA,EAAW,GACNuZ,EAAI,EAAGA,EAAI,KAAMA,EACpBvZ,EAAS7L,KAAKie,EAAKs3E,YAAA,OAEd1pF,CAAA,CANM,QAQV6tF,UAAa,eACZt0E,EAAGvZ,EAAA,IACPA,EAAW,GACNuZ,EAAI,EAAGA,EAAI,IAAKA,EACnBvZ,EAAS7L,KAAKie,EAAKm4E,WAAA,OAEdvqF,CAAA,CANS,QAQb8tF,SAAW17E,EAAKg2E,WAAW,QAC3B2F,UAAY37E,EAAK+3E,YAAA,KACjB6D,eAAiB57E,EAAK+3E,YAAA,KACtB8D,cAAgB77E,EAAK+3E,YACtBx7F,KAAKse,QAAU,SACZihF,OAAS97E,EAAK+3E,YAAA,KACdgE,QAAU/7E,EAAK+3E,YAAA,KACftB,QAAUz2E,EAAK+3E,YAAA,KACfiE,UAAYh8E,EAAK+3E,YAAA,KACjBkE,WAAaj8E,EAAK+3E,YAAA,KAClBmE,cAAiB,eAChB/0E,EAAGvZ,EAAA,IACPA,EAAW,GACNuZ,EAAI,EAAGA,EAAI,EAAGA,IAAMA,EACvBvZ,EAAS7L,KAAKie,EAAKm4E,WAAA,OAEdvqF,CAAA,CANa,GAQlBrR,KAAKse,QAAU,eACZk8E,QAAU/2E,EAAK+3E,YAAA,KACflD,UAAY70E,EAAK+3E,YAAA,KACjBoE,YAAcn8E,EAAK+3E,YAAA,KACnBqE,UAAYp8E,EAAK+3E,YACdx7F,KAAK8/F,WAAar8E,EAAK+3E,WAAA,EAO9B5wE,CAAA,CAvEO,GA0EZikC,GAAa,SAASprC,GAAA,SAIfmH,IAAA,OACAA,EAAU0xE,UAAUl8F,YAAYiI,MAAMrI,KAAMU,UAAA,QAHrD2tD,GAAUzjC,EA2HTpE,IAtHDoE,EAAU1qB,UAAUk8F,IAAM,OAC1BxxE,EAAU1qB,UAAUiI,MAAQ,SAASsb,GAAA,IAC/BmH,EAAQvZ,EAAgB1L,EAAA,OAC5B8d,EAAKrV,IAAMpO,KAAK8uD,OAAA,KACXz7C,OAASoQ,EAAKm4E,UAAA,KACdzD,YAAc10E,EAAKm4E,UAAA,KACnBmE,kBAAoBt8E,EAAK+3E,YAAA,KACzBwE,mBAAqBv8E,EAAK+3E,YAAA,KAC1BZ,aAAen3E,EAAKm4E,UAAA,KACpBqE,aAAex8E,EAAKm4E,UAAA,KACpBsE,aAAez8E,EAAKm4E,UAAA,KACpBuE,YAAc18E,EAAKm4E,UAAA,KACnBwE,YAAc38E,EAAKm4E,UAChB57F,KAAKqT,QAAA,KACN,MAsB8B,KAC9B,aAvBA,KAEA,WAGCzS,EAAA,IAFJyQ,EAAiBoS,EAAK+yD,aAAA,KACjB6pB,eAAiB,GAGpBz/F,EAAI,EACJ,GAAKyQ,EAAiBzQ,EAAIyQ,EAAiBzQ,EAAIyQ,EAC/CzQ,EAAI,GAAKyQ,IAAmBzQ,IAAMA,EAAA,KAE7By/F,eAAe76F,KAAKie,EAAK+yD,cAAA,SAE3B8pB,MAAQ,GACb36F,EAAW,GACJ8d,EAAKrV,IAAMpO,KAAK8uD,OAAS9uD,KAAKW,QACnCiqB,EAASnH,EAAKs3E,WACdp1F,EAASH,KAAKxF,KAAKsgG,MAAM96F,KAAKie,EAAKg2E,WAAW7uE,KAAA,OAEzCjlB,EAAA,KACJ,cACH0L,EAAiBoS,EAAK+yD,aACdx2E,KAAKugG,QAAU98E,EAAK4yD,KAAKhlE,GAC9B,KAEA,cACKrR,KAAK2G,IAAM,eACbikB,EAAIvZ,EAAM1L,EAAA,IACdA,EAAY,GAEV/E,EAAIgqB,EAAK,EAAGvZ,EAAOrR,KAAK6e,KAAKg7E,KAAK2G,UAClC,GAAKnvF,EAAOuZ,EAAKvZ,EAAOuZ,EAAKvZ,EAC7BzQ,EAAI,GAAKyQ,IAASuZ,IAAOA,EAEzBjlB,EAAUH,KAAKie,EAAKoyD,cAAA,OAEflwE,CAAA,EACP3E,KAAKhB,MAAA,EAkEN4qB,CAAA,CA5HQ,GAmIbokC,GAAA,SACiBvrC,EAAKmH,GAAA,KACjBzU,IAAMsN,EAAA,KACN9iB,OAAS8iB,EAAI9iB,OAAA,KACbs8F,WAAaryE,EAAMqyE,WAAA,KACnBC,WAAatyE,EAAMsyE,WAAA,KACnBuD,WAAa71E,EAAM61E,UAAA,EAKxB3wC,GAAa,SAASrsC,GAAA,SAIfmH,IAAA,OACAA,EAAU0xE,UAAUl8F,YAAYiI,MAAMrI,KAAMU,UAAA,QAHrD2tD,GAAUzjC,EAgITpE,IA3HDoE,EAAU1qB,UAAUk8F,IAAM,OAC1BxxE,EAAU1qB,UAAUiI,MAAQ,SAASsb,GAAA,IAC/BmH,EACFvZ,EACA1L,EACA/E,EACA2iB,EACAob,EACA1d,EACA9e,EACA+e,EACAqK,EACA3M,EAAA,IACF6E,EAAKrV,IAAMpO,KAAK8uD,OAChBrrC,EAAK+3E,YACL5wE,EAAQnH,EAAK+3E,YACb78D,EAAelb,EAAK+3E,YACpBnqF,EAAU,GAERzQ,EAAI,EACJ,GAAKgqB,EAAQhqB,EAAIgqB,EAAQhqB,EAAIgqB,EAC7BhqB,EAAI,GAAKgqB,IAAUhqB,IAAMA,EAEzByQ,EAAQ7L,KAAK,CACXy3F,WAAYx5E,EAAK+3E,YACjB0B,WAAYz5E,EAAK+3E,YACjBiF,WAAYh9E,EAAK+3E,YACjBkF,OAAQj9E,EAAK+3E,YACb76F,OAAQ8iB,EAAK+3E,YACb1sC,OAAQ9uD,KAAK8uD,OAASnwB,EAAelb,EAAK+3E,cAAA,IAG9Cv6E,EAAU,CAAC,EACNrgB,EAAIsgB,EAAK,EAAGqK,EAAOla,EAAQ1Q,OAAQugB,EAAKqK,EAAM3qB,IAAMsgB,EACvDvb,EAAQ0L,EAAQzQ,GAChB6iB,EAAKrV,IAAMzI,EAAMmpD,OACjB3sD,EAAOshB,EAAKg2E,WAAW9zF,EAAMhF,QAC7B4iB,EAAO,IAAIyrC,GAAU7sD,EAAMwD,GACY,MAAnCsb,EAASrC,EAAQjZ,EAAM+6F,UACzBz/E,EAAQrC,GAAS,IAEnBqC,EAAQtb,EAAM+6F,QAAQl7F,KAAK+d,GAAA,KAExBo9E,QAAU1/E,EAAA,KACV2/E,UAAY3/E,EAAQ,QACpB+V,WAAa/V,EAAQ,QACrB4/E,cAAgB5/E,EAAQ,QACxB6/E,gBAAkB7/E,EAAQ,QAC1BoW,SAAWpW,EAAQ,QACnB3C,QAAU2C,EAAQ,YAEhB8/E,eAAiB9/E,EAAQ,GAAG,GAAG9K,IAAI1J,QACtC,wBACA,IAEF,MAAOgX,GAAA,KACFs9E,eAAiB9/E,EAAQ,GAAG,GAAG9K,IAAI1J,QACtC,wBACA,gBAGCu0F,UAAY//E,EAAQ,QACpBggF,aAAehgF,EAAQ,QACvBigF,SAAWjgF,EAAQ,QACnBkgF,YAAclgF,EAAQ,SACtBmgF,UAAYngF,EAAQ,SACpBogF,YAAcpgF,EAAQ,SACtBqgF,QAAUrgF,EAAQ,SAClBsgF,WAAatgF,EAAQ,SACrBugF,gBAAkBvgF,EAAQ,SAC1BwgF,mBAAqBxgF,EAAQ,SAC7BygF,eAAiBzgF,EAAQ,IACtBjhB,KAAK2hG,WAAa1gF,EAAQ,KAkD7B2J,CAAA,CAjIQ,GAoIbukC,GAAa,SAAS1rC,GAAA,SAGfmH,IAAA,OACAA,EAAU0xE,UAAUl8F,YAAYiI,MAAMrI,KAAMU,UAAA,QAHrD2tD,GAAUzjC,EA6CTpE,IAxCDoE,EAAU1qB,UAAUk8F,IAAM,OAC1BxxE,EAAU1qB,UAAUiI,MAAQ,SAASsb,GAAA,OACnCA,EAAKrV,IAAMpO,KAAK8uD,OAAA,KACXxwC,QAAUmF,EAAKm4E,UAAA,KACf4E,UAAY/8E,EAAK+yD,aAAA,KACjBorB,UAAYn+E,EAAK+yD,aAAA,KACjBqrB,YAAcp+E,EAAK+yD,aAAA,KACnBsrB,mBAAqBr+E,EAAK+yD,aAAA,KAC1BurB,qBAAuBt+E,EAAK+yD,aAAA,KAC5BwrB,SAAWv+E,EAAK+yD,aAAA,KAChByrB,kBAAoBx+E,EAAK+yD,aAAA,KACzB0rB,WAAaz+E,EAAK+yD,aAAA,KAClB2rB,gBAAkB1+E,EAAK+yD,aAAA,KACvB4rB,mBAAqB3+E,EAAK+yD,aAAA,KAC1B6rB,iBAAmB5+E,EAAK+yD,aAAA,KACxB8rB,sBAAwB7+E,EAAK+yD,aAAA,KAC7B+rB,qBAAuB9+E,EAAK+yD,aACzBx2E,KAAKwiG,kBAAoB/+E,EAAK+yD,YAAA,EAsBjC5rD,CAAA,CA7CQ,GAgDbglC,GAAa,SAASnsC,GAAA,SAGfmH,IAAA,OACAA,EAAU0xE,UAAUl8F,YAAYiI,MAAMrI,KAAMU,UAAA,QAHrD2tD,GAAUzjC,EA+ETpE,IA1EDoE,EAAU1qB,UAAUk8F,IAAM,OAC1BxxE,EAAU1qB,UAAUiI,MAAQ,SAASsb,GAAA,IAC/BmH,EAAGvZ,EAAM1L,EAAU/E,EAAG2iB,EAAIob,EAAM1d,EAAA,IACpCwC,EAAKrV,IAAMpO,KAAK8uD,OAAA,KACX2zC,QAAU,GAEb73E,EAAI,EAAG+T,EAAO3+B,KAAK6e,KAAK+6E,KAAKuE,gBAC7B,GAAKx/D,EAAO/T,EAAI+T,EAAO/T,EAAI+T,EAC3B/T,EAAI,GAAK+T,IAAS/T,IAAMA,EAAA,KAEnB63E,QAAQj9F,KAAK,CAChBs1F,QAASr3E,EAAK+yD,aACdksB,IAAKj/E,EAAK43E,cAAA,IAGd11F,EAAW3F,KAAK6e,KAAKg7E,KAAK2G,UAAYxgG,KAAK6e,KAAK+6E,KAAKuE,gBAAA,KAChDwE,iBAAoB,eACnBtxF,EAAIzQ,EAAA,IACRA,EAAW,GAETgqB,EAAIvZ,EAAK,EACT,GAAK1L,EAAW0L,EAAK1L,EAAW0L,EAAK1L,EACrCilB,EAAI,GAAKjlB,IAAa0L,IAAOA,EAE7BzQ,EAAS4E,KAAKie,EAAK43E,aAAA,OAEdz6F,CAAA,CAVgB,QAYpB4zF,OAAS,eACR/wE,EAAImH,EAAMvZ,EAAO1L,EAAA,IAErBA,EAAW,GACN8d,EAAK,EAAGmH,GAFbvZ,EAAQrR,KAAKyiG,SAEa9hG,OAAQ8iB,EAAKmH,EAAMnH,IAC3C7iB,EAAIyQ,EAAMoS,GACV9d,EAASH,KAAK5E,EAAEk6F,SAAA,OAEXn1F,CAAA,EACP3E,KAAKhB,MACPqR,EAAOrR,KAAKw0F,OAAOx0F,KAAKw0F,OAAO7zF,OAAS,GACxCsgB,EAAW,GAET2J,EAAIrH,EAAK,EACT,GAAK5d,EAAW4d,EAAK5d,EAAW4d,EAAK5d,EACrCilB,EAAI,GAAKjlB,IAAa4d,IAAOA,EAE7BtC,EAASzb,KAAKxF,KAAKw0F,OAAOhvF,KAAK6L,IAAA,OAE1B4P,CAAA,EAMT2J,EAAU1qB,UAAU26F,SAAW,SAASp3E,GAAA,OAClCA,KAAMzjB,KAAKyiG,QACNziG,KAAKyiG,QAAQh/E,GAEf,CACLq3E,QAAS96F,KAAKyiG,QAAQziG,KAAKyiG,QAAQ9hG,OAAS,GAAGm6F,QAC/C4H,IAAK1iG,KAAK2iG,iBAAiBl/E,EAAKzjB,KAAKyiG,QAAQ9hG,QAAA,EAc1CiqB,CAAA,CA/EQ,GAkFb6kC,GAAU,GAAGpvD,MAEb+pF,GAAa,SAAS3mE,GAAA,SAGfmH,IAAA,OACAA,EAAU0xE,UAAUl8F,YAAYiI,MAAMrI,KAAMU,UAAA,QAHrD2tD,GAAUzjC,EAsETpE,IAjEDoE,EAAU1qB,UAAUk8F,IAAM,OAC1BxxE,EAAU1qB,UAAUiI,MAAQ,kBAClBnI,KAAK4iG,MAAQ,CAAC,CAAD,EAEvBh4E,EAAU1qB,UAAU2iG,SAAW,SAASp/E,GAAA,IAClCmH,EACFvZ,EACA1L,EACA/E,EACA2iB,EACAob,EACA1d,EACA9e,EACA+e,EACAqK,EAAA,OACE9H,KAAMzjB,KAAK4iG,MACN5iG,KAAK4iG,MAAMn/E,IAEpB7iB,EAAOZ,KAAK6e,KAAKk7E,KACjBnvE,EAAO5qB,KAAK6e,KAAKsoD,SACjB91D,EAAQzQ,EAAKgH,QAAQ6b,GAEN,KADf9d,EAAS/E,EAAKkiG,SAASr/E,IAEbzjB,KAAK4iG,MAAMn/E,GAAM,MAE3BmH,EAAKxc,IAAMpO,KAAK8uD,OAASz9C,EAEzBkS,GADAob,EAAM,IAAIguB,GAAK/hC,EAAKyrD,KAAK1wE,KACF61F,YACvBr5F,EAAOw8B,EAAI68D,YACXjwE,EAAOoT,EAAI68D,YACXv6E,EAAO0d,EAAI68D,YACXt6E,EAAOyd,EAAI68D,YAAA,KAEJoH,MAAMn/E,IADa,IAAtBF,EACe,IAAI+rC,GAAc3wB,EAAKx8B,EAAMopB,EAAMtK,EAAMC,GAEzC,IAAImuC,GACnB1wB,EACApb,EACAphB,EACAopB,EACAtK,EACAC,GAGGlhB,KAAK4iG,MAAMn/E,IAAA,EAEpBmH,EAAU1qB,UAAUu4E,OAAS,SAASh1D,EAAQmH,EAASvZ,GAAA,IACjD1L,EAAW/E,EAAS2iB,EAAOob,EAAI1d,EAAA,IACnCsC,EAAQ,GACR3iB,EAAU,GACL+9B,EAAK,EAAG1d,EAAO2J,EAAQjqB,OAAQg+B,EAAK1d,EAAM0d,IAE7Ch5B,EAAQ8d,EADHmH,EAAQ+T,IAEb/9B,EAAQ4E,KAAK+d,EAAM5iB,QACfgF,IACF4d,EAAQA,EAAMrW,OAAOvH,EAAM8yE,OAAOpnE,KAAA,OAGtCzQ,EAAQ4E,KAAK+d,EAAM5iB,QACZ,CACLunB,MAAO3E,EACPg9E,QAAS3/F,EAAA,EAGNgqB,CAAA,CAtEQ,GAyEbykC,GAAe,oBAKR5rC,EAAYA,EAAKmH,EAAkBvZ,EAAM1L,EAAM/E,EAAM2iB,GAAA,KACvDpN,IAAMsN,EAAA,KACNs/E,iBAAmBn4E,EAAA,KACnBuvE,KAAO9oF,EAAA,KACP+oF,KAAOz0F,EAAA,KACP00F,KAAOz5F,EAAA,KACP05F,KAAO/2E,EAAA,KACPy/E,UAAA,CAAW,QAElBv/E,EAAYvjB,UAAUu4E,OAAS,kBACtBz4E,KAAKmW,IAAI9Q,IAAA,EAEXoe,CAAA,CAjBU,GAoBf6rC,GAAiB,oBAkBV7rC,EAAcA,EAAKmH,EAAMvZ,EAAM1L,EAAM/E,GAAA,IACxC2iB,EAAMob,EAAA,SACLxoB,IAAMsN,EAAA,KACN02E,KAAOvvE,EAAA,KACPwvE,KAAO/oF,EAAA,KACPgpF,KAAO10F,EAAA,KACP20F,KAAO15F,EAAA,KACPoiG,UAAA,EAAW,KACXC,SAAW,QACXC,aAAe,GACpB3/E,EAAOvjB,KAAKmW,IAEVwoB,EAAQpb,EAAKi4E,YAAA,KACR0H,aAAa19F,KAAK+d,EAAKnV,KAAA,KACvB60F,SAASz9F,KAAK+d,EAAKizD,cAvBV,GAwBR73C,GAIJpb,EAAKnV,KA9Ba,EA6BhBuwB,EACU,EAEA,EA5BK,IA8BfA,EACFpb,EAAKnV,KAAO,EAhCS,GAiCZuwB,EACTpb,EAAKnV,KAAO,EApCA,EAqCHuwB,IACTpb,EAAKnV,KAAO,UAQlBqV,EAAcvjB,UAAUu4E,OAAS,eAC3Bh1D,EAAGmH,EAAQvZ,EAAA,IACfuZ,EAAS,IAAI+hC,GAAK8C,GAAQzuD,KAAKhB,KAAKmW,IAAI9Q,OAEnCoe,EAAI,EAAGpS,EADLrR,KAAKijG,SACYtiG,OAAQ8iB,EAAIpS,IAAQoS,EAC1CmH,EAAOxc,IAAMpO,KAAKkjG,aAAaz/E,GAAA,OAE1BmH,EAAOvlB,IAAA,EAEToe,CAAA,CA/DY,GAkEjB8rC,GAAa,SAAS9rC,GAAA,SAGfmH,IAAA,OACAA,EAAU0xE,UAAUl8F,YAAYiI,MAAMrI,KAAMU,UAAA,QAHrD2tD,GAAUzjC,EA8DTpE,IAzDDoE,EAAU1qB,UAAUk8F,IAAM,OAC1BxxE,EAAU1qB,UAAUiI,MAAQ,SAASsb,GAAA,IAC/BmH,EAAQvZ,EAAA,OACZoS,EAAKrV,IAAMpO,KAAK8uD,OAChBlkC,EAAS5qB,KAAK6e,KAAKqR,KAAK6sE,iBAEd/8F,KAAKugG,QADA,IAAX31E,EACqB,eACjBA,EAAMjlB,EAAA,IACVA,EAAW,GACN0L,EAAI,EAAGuZ,EAAO5qB,KAAKW,OAAQ0Q,EAAIuZ,EAAMvZ,GAAK,EAC7C1L,EAASH,KAAyB,EAApBie,EAAK+yD,cAAA,OAEd7wE,CAAA,EACP3E,KAAKhB,MAEgB,eACjB4qB,EAAMjlB,EAAA,IACVA,EAAW,GACN0L,EAAI,EAAGuZ,EAAO5qB,KAAKW,OAAQ0Q,EAAIuZ,EAAMvZ,GAAK,EAC7C1L,EAASH,KAAKie,EAAKoyD,cAAA,OAEdlwE,CAAA,EACP3E,KAAKhB,KAAA,EAGX4qB,EAAU1qB,UAAU0H,QAAU,SAAS6b,GAAA,OAC9BzjB,KAAKugG,QAAQ98E,EAAA,EAEtBmH,EAAU1qB,UAAU4iG,SAAW,SAASr/E,GAAA,OAC/BzjB,KAAKugG,QAAQ98E,EAAK,GAAKzjB,KAAKugG,QAAQ98E,EAAA,EAE7CmH,EAAU1qB,UAAUu4E,OAAS,SAASh1D,EAASmH,GAAA,QACzCvZ,EAAY,IAAIg1D,YAAYrmE,KAAKugG,QAAQ5/F,QACzCgF,EAAU,EACV/E,EAAW,EACN2iB,EAAI,EAAGA,EAAIlS,EAAU1Q,SAAU4iB,EAAA,GACtClS,EAAUkS,GAAK5d,EACX/E,EAAWgqB,EAAajqB,QAAUiqB,EAAahqB,IAAa2iB,EAAG,GAC/D3iB,EACFyQ,EAAUkS,GAAK5d,EAAA,IACXg5B,EAAQ3+B,KAAKugG,QAAQh9E,GACrBtC,EAAMjhB,KAAKugG,QAAQh9E,EAAI,GAAKob,EAC5B1d,EAAM,IACRtb,GAAWsb,EAAA,SAIb9e,EAAe,IAAI7B,MAAyB,EAAnB+Q,EAAU1Q,QAC9BugB,EAAI,EAAGA,EAAI7P,EAAU1Q,SAAUugB,EACtC/e,EAAa,EAAI+e,EAAI,GAAoB,IAAf7P,EAAU6P,GACpC/e,EAAa,EAAI+e,EAAI,IAAqB,MAAf7P,EAAU6P,KAAoB,EACzD/e,EAAa,EAAI+e,EAAI,IAAqB,SAAf7P,EAAU6P,KAAoB,GACzD/e,EAAa,EAAI+e,IAAqB,WAAf7P,EAAU6P,KAAoB,UAEhD/e,CAAA,EAEFyoB,CAAA,CA9DQ,GA8Hb4kC,GAAU,oBACH/rC,EAAOA,GAAA,KACToQ,KAAOpQ,EAAA,KACPs0E,OAAS,CAAC,EAAD,KACToL,SAAW,CAAC,EAAD,KACXC,KAAO,UA4Bd3/E,EAAOvjB,UAAUmjG,aAAe,eAC1B5/E,EAASmH,EAAOvZ,EAAS1L,EAAa/E,EAAA,IAIrCgqB,KAHLjlB,EAAc3F,KAAK6zB,KAAK6kE,KAAKyD,OAAO,GAAGvD,QACvCn1E,EAAU,CAAC,EACX7iB,EAAOZ,KAAK+3F,OAEV1mF,EAAUzQ,EAAKgqB,GACfnH,EAAQmH,GAASjlB,EAAY0L,GAAA,OAExBoS,CAAA,EAoBTA,EAAOvjB,UAAUojG,UAAY,SAAS7/E,GAAA,IAChCmH,EAAevZ,EAAO1L,EAAQ/E,EAAI2iB,EAAIob,EAAM1d,EAAA,IAChDtb,EAAS,CAAC,EACL4d,EAAK,EAAGob,EAAOlb,EAAS9iB,OAAQ4iB,EAAKob,EAAMpb,IAE9C5d,EADA/E,EAAK6iB,EAASF,IACDvjB,KAAK6zB,KAAKmmE,KAAK6I,SAASjiG,GAAA,IAGlCA,KADLgqB,EAAgB,GACLjlB,GAEI,OADb0L,EAAQ1L,EAAO/E,IACKyQ,EAAM2xF,cAAA,IACxBp4E,EAAcplB,KAAK6C,MAAMuiB,EAAevZ,EAAM4xF,UAAA,GAG9Cr4E,EAAcjqB,OAAS,EAAG,IAEvBC,KADLqgB,EAAOjhB,KAAKsjG,UAAU14E,GAEpBvZ,EAAQ4P,EAAKrgB,GACb+E,EAAO/E,GAAMyQ,EAAA,OAGV1L,CAAA,EAMT8d,EAAOvjB,UAAUu4E,OAAS,SAASh1D,EAAOmH,GAAA,IACpCvZ,EACF1L,EACA/E,EACA2iB,EACAob,EACA1d,EACA9e,EACA+e,EACAqK,EACA3M,EACAqM,EACAtH,EACAtF,EACAlN,EACAvL,EAAA,IAOGD,KANL0L,EAAOs9C,GAAU8pB,OAAOz4E,KAAKqjG,eAAgB,WAC7C9/E,EAASvjB,KAAKsjG,UAAU7/E,GACxBwH,EAAU,GACL,GAELrlB,EAAOyL,EAAKksF,QAGVtyE,GADAhK,EAAMrb,EAAKD,IACC03F,KAAOp8E,EAAGq8E,IAAA,IAGnB35E,KADL/E,EAAcvN,EAAKosF,WACLl6E,EACNI,KAASsH,IACbA,EAAQtH,GAAS/E,KAAA,OAGrBsC,EAlLS,SAASuC,GAAA,IAChBmH,EAAKvZ,EAAA,IAEJuZ,KADLvZ,EAAM,CAAC,EACKoS,EAEVpS,EADMoS,EAAOmH,IACFA,EAAA,OAENvZ,CAAA,CAPI,CAkLQ4Z,GACjBM,EAASzqB,OAAOwM,KAAK4T,GAASjc,MAAK,SAASwe,EAAGmH,GAAA,OACtCnH,EAAImH,CAAA,IAEbvM,EAAU,eACJoF,EAAImH,EAAMvZ,EAAA,IACdA,EAAW,GACNoS,EAAK,EAAGmH,EAAOW,EAAO5qB,OAAQ8iB,EAAKmH,EAAMnH,IAC5Ckb,EAAKpT,EAAO9H,GACZpS,EAAS7L,KAAK0b,EAAQyd,IAAA,OAEjBttB,CAAA,CAPC,GASVzQ,EAAOZ,KAAK6zB,KAAKmmE,KAAKvhB,OAAOl1D,EAAQlF,EAAQ4M,GAC7C9oB,EAAOnC,KAAK6zB,KAAKkmE,KAAKthB,OAAO73E,EAAK2/F,QAASliF,GAC3ClN,EAAS,CACPunF,KAAM14F,KAAK6zB,KAAK6kE,KAAKviF,MACrB6jF,KAAMp5F,EAAKsnB,MACX6xE,KAAM53F,EACNq2F,KAAMx4F,KAAK6zB,KAAK2kE,KAAKriF,MACrByjF,KAAM55F,KAAK6zB,KAAK+lE,KAAKzjF,MACrB0jF,KAAM75F,KAAK6zB,KAAKgmE,KAAK1jF,MACrB07B,KAAM7xC,KAAK6zB,KAAKge,KAAK17B,MACrBlW,KAAMD,KAAK6zB,KAAK5zB,KAAKkW,MACrB+Z,KAAMlwB,KAAK6zB,KAAK3D,KAAKuoD,OAAO7tD,IAE1B5qB,KAAK6zB,KAAKimE,IAAIG,SAChB9oF,EAAO,QAAUnR,KAAK6zB,KAAKimE,IAAI3jF,OAE1BnW,KAAK6zB,KAAK8lE,UAAUlhB,OAAOtnE,EAAA,EAE7BsS,CAAA,CAxJK,GA2Jdg8B,GAAM5wB,IAAImpE,UAAa,eACjBv0E,EAAA,SAEKmH,IAAA,QACTnH,EAAM,SAASA,EAAKmH,GAAA,OACVtqB,MAAMsqB,EAAS,GAAG3kB,KAAK,KAAOwd,GAAKpjB,OAAOuqB,EAAA,EAMpDA,EAAU4lD,QAAU,SAASn/D,GAAA,IACvB1L,EAAU/E,EAAK2iB,EAAKob,EAAA,GACpBr+B,MAAMuE,QAAQwM,GAAA,MAUT,IATE,eACHoS,EAAI7iB,EAAM2iB,EAAA,IACdA,EAAW,GACNE,EAAK,EAAG7iB,EAAOyQ,EAAO1Q,OAAQ8iB,EAAK7iB,EAAM6iB,IAC5C9d,EAAI0L,EAAOoS,GACXF,EAAS/d,KAAKolB,EAAU4lD,QAAQ7qE,IAAA,OAE3B4d,CAAA,CAPA,GAQJtd,KAAK,KACW,IAChB,GAAsB,iBAAXoL,EAAA,MACT,IAAMA,EACR,GAAc,MAAVA,EAAiBA,EAAOkyF,cAAA,EAAW,MACrC,IAAMlyF,EAAS,IACjB,GAAIA,aAAkB/F,KAAA,MAEzB,MACAmY,EAAIpS,EAAOmyF,iBAAkB,GAC7B//E,EAAIpS,EAAOoyF,cAAe,GAC1BhgF,EAAIpS,EAAOqyF,aAAc,GACzBjgF,EAAIpS,EAAOsyF,cAAe,GAC1BlgF,EAAIpS,EAAOuyF,gBAAiB,GAC5BngF,EAAIpS,EAAOwyF,gBAAiB,GAC5B,KAEG,GAAiC,oBAA7B,CAAC,EAAE9iG,SAASC,KAAKqQ,GAA+B,KAEpDzQ,KADL2iB,EAAM,CAAC,MACKlS,EACVstB,EAAMttB,EAAOzQ,GACb2iB,EAAI/d,KAAK,IAAM5E,EAAM,IAAMgqB,EAAU4lD,QAAQ7xC,IAAA,OAE/Cpb,EAAI/d,KAAK,MACF+d,EAAItd,KAAK,YAET,GAAKoL,CAAA,EAGTuZ,CAAA,CAnDc,+BCx2DvB,IAGIyqE,EAHO3rD,EAAQ,MAGD2rD,OAElB7vE,EAAOC,QAAU4vE,YCejB7vE,EAAOC,QAXP,SAAkB7c,EAAOk7F,GAKvB,IAJA,IAAIh7F,GAAS,EACTnI,EAAkB,MAATiI,EAAgB,EAAIA,EAAMjI,OACnCkH,EAASvH,MAAMK,KAEVmI,EAAQnI,GACfkH,EAAOiB,GAASg7F,EAASl7F,EAAME,GAAQA,EAAOF,GAEhD,OAAOf,CACT,YCOA2d,EAAOC,QAbP,SAAqB7c,EAAOk7F,EAAUC,EAAaC,GACjD,IAAIl7F,GAAS,EACTnI,EAAkB,MAATiI,EAAgB,EAAIA,EAAMjI,OAKvC,IAHIqjG,GAAarjG,IACfojG,EAAcn7F,IAAQE,MAEfA,EAAQnI,GACfojG,EAAcD,EAASC,EAAan7F,EAAME,GAAQA,EAAOF,GAE3D,OAAOm7F,CACT,WCtBA,IAAIE,EAAc,4CAalBz+E,EAAOC,QAJP,SAAoBzf,GAClB,OAAOA,EAAOmR,MAAM8sF,IAAgB,EACtC,kBCZA,IAAI5O,EAAS3rD,EAAQ,MACjBw6D,EAAYx6D,EAAQ,MACpBy6D,EAAiBz6D,EAAQ,MAOzB06D,EAAiB/O,EAASA,EAAOgP,iBAAcphG,EAkBnDuiB,EAAOC,QATP,SAAoB1c,GAClB,OAAa,MAATA,OACe9F,IAAV8F,EAdQ,qBADL,gBAiBJq7F,GAAkBA,KAAkBtjG,OAAOiI,GAC/Cm7F,EAAUn7F,GACVo7F,EAAep7F,EACrB,YCZAyc,EAAOC,QANP,SAAwBo4C,GACtB,OAAO,SAASrwD,GACd,OAAiB,MAAVqwD,OAAiB56D,EAAY46D,EAAOrwD,EAC7C,CACF,kBCXA,IAAI6nF,EAAS3rD,EAAQ,MACjB46D,EAAW56D,EAAQ,MACnB7kC,EAAU6kC,EAAQ,MAClB66D,EAAW76D,EAAQ,KAMnB86D,EAAcnP,EAASA,EAAOn1F,eAAY+C,EAC1CwhG,EAAiBD,EAAcA,EAAYzjG,cAAWkC,EA0B1DuiB,EAAOC,QAhBP,SAASi/E,EAAa37F,GAEpB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAIlE,EAAQkE,GAEV,OAAOu7F,EAASv7F,EAAO27F,GAAgB,GAEzC,GAAIH,EAASx7F,GACX,OAAO07F,EAAiBA,EAAezjG,KAAK+H,GAAS,GAEvD,IAAIlB,EAAUkB,EAAQ,GACtB,MAAkB,KAAVlB,GAAkB,EAAIkB,IA3BjB,SA2BwC,KAAOlB,CAC9D,kBClCA,IAAI88F,EAAcj7D,EAAQ,MACtBk7D,EAASl7D,EAAQ,MACjBj/B,EAAQi/B,EAAQ,MAMhBm7D,EAASp+E,OAHA,YAGe,KAe5BjB,EAAOC,QANP,SAA0BorD,GACxB,OAAO,SAAS7qE,GACd,OAAO2+F,EAAYl6F,EAAMm6F,EAAO5+F,GAAQyG,QAAQo4F,EAAQ,KAAMh0B,EAAU,GAC1E,CACF,kBCrBA,IAoEIi0B,EApEiBp7D,EAAQ,KAoEVq7D,CAjEG,CAEpB,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAC1E,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAC1E,OAAQ,IAAM,OAAQ,IACtB,OAAQ,IAAM,OAAQ,IACtB,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IACtB,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAC1E,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAC1E,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IAAK,OAAQ,IAChD,OAAQ,IAAM,OAAQ,IAAK,OAAQ,IACnC,OAAQ,KAAM,OAAQ,KACtB,OAAQ,KAAM,OAAQ,KACtB,OAAQ,KAER,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAC1B,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACvE,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IACxD,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACtF,SAAU,IAAM,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IAAK,SAAU,IACtF,SAAU,IAAM,SAAU,IAC1B,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,IAAM,SAAU,IAAK,SAAU,IACzC,SAAU,KAAM,SAAU,KAC1B,SAAU,KAAM,SAAU,KAC1B,SAAU,KAAM,SAAU,MAa5Bv/E,EAAOC,QAAUq/E,kBCrEjB,IAAIE,EAA8B,iBAAV95E,EAAAA,GAAsBA,EAAAA,GAAUA,EAAAA,EAAOpqB,SAAWA,QAAUoqB,EAAAA,EAEpF1F,EAAOC,QAAUu/E,kBCHjB,IAAI3P,EAAS3rD,EAAQ,MAGjBu7D,EAAcnkG,OAAOZ,UAGrBggB,EAAiB+kF,EAAY/kF,eAO7BglF,EAAuBD,EAAYlkG,SAGnCqjG,EAAiB/O,EAASA,EAAOgP,iBAAcphG,EA6BnDuiB,EAAOC,QApBP,SAAmB1c,GACjB,IAAIo8F,EAAQjlF,EAAelf,KAAK+H,EAAOq7F,GACnChI,EAAMrzF,EAAMq7F,GAEhB,IACEr7F,EAAMq7F,QAAkBnhG,EACxB,IAAImiG,GAAW,CACjB,CAAE,MAAOx6E,GAAI,CAEb,IAAI/iB,EAASq9F,EAAqBlkG,KAAK+H,GAQvC,OAPIq8F,IACED,EACFp8F,EAAMq7F,GAAkBhI,SAEjBrzF,EAAMq7F,IAGVv8F,CACT,YC1CA,IAAIw9F,EAAmB,qEAavB7/E,EAAOC,QAJP,SAAwBzf,GACtB,OAAOq/F,EAAiBxjG,KAAKmE,EAC/B,YCXA,IAOIk/F,EAPcpkG,OAAOZ,UAOca,SAavCykB,EAAOC,QAJP,SAAwB1c,GACtB,OAAOm8F,EAAqBlkG,KAAK+H,EACnC,kBCnBA,IAAIi8F,EAAat7D,EAAQ,MAGrB47D,EAA0B,iBAAR/+F,MAAoBA,MAAQA,KAAKzF,SAAWA,QAAUyF,KAGxEsuE,EAAOmwB,GAAcM,GAAY/6B,SAAS,cAATA,GAErC/kD,EAAOC,QAAUovD,YCPjB,IAAI0wB,EAAgB,kBAKhBC,EAAiB,kBACjBC,EAAe,4BAKfC,EAAe,4BAEfC,EAAeC,8OAIfC,EAAU,IAAMF,EAAe,IAE/BG,EAAW,OACXC,EAAY,IAAMP,EAAiB,IACnCQ,EAAU,IAAMP,EAAe,IAC/BQ,EAAS,KAAOV,EAAgBI,EAAeG,EAAWN,EAAiBC,EAAeC,EAAe,IAIzGQ,EAAa,kCACbC,EAAa,qCACbC,EAAU,IAAMV,EAAe,IAI/BW,EAAc,MAAQL,EAAU,IAAMC,EAAS,IAC/CK,EAAc,MAAQF,EAAU,IAAMH,EAAS,IAC/CM,EAAkB,qCAClBC,EAAkB,qCAClBC,EAAWC,gFACXC,EAAW,oBAIXC,EAAQD,EAAWF,GAHP,gBAAwB,CAbtB,KAAOlB,EAAgB,IAaaW,EAAYC,GAAYlgG,KAAK,KAAO,IAAM0gG,EAAWF,EAAW,MAIlHI,EAAU,MAAQ,CAACd,EAAWG,EAAYC,GAAYlgG,KAAK,KAAO,IAAM2gG,EAGxEE,EAAgBrgF,OAAO,CACzB2/E,EAAU,IAAMJ,EAAU,IAAMO,EAAkB,MAAQ,CAACV,EAASO,EAAS,KAAKngG,KAAK,KAAO,IAC9FqgG,EAAc,IAAME,EAAkB,MAAQ,CAACX,EAASO,EAAUC,EAAa,KAAKpgG,KAAK,KAAO,IAChGmgG,EAAU,IAAMC,EAAc,IAAME,EACpCH,EAAU,IAAMI,EATD,mDADA,mDAafV,EACAe,GACA5gG,KAAK,KAAM,KAabuf,EAAOC,QAJP,SAAsBzf,GACpB,OAAOA,EAAOmR,MAAM2vF,IAAkB,EACxC,kBClEA,IAAIhC,EAAep7D,EAAQ,MACvB3oC,EAAW2oC,EAAQ,MAGnBq9D,EAAU,8CAeVC,EAAcvgF,OANJ,kDAMoB,KAyBlCjB,EAAOC,QALP,SAAgBzf,GAEd,OADAA,EAASjF,EAASiF,KACDA,EAAOyG,QAAQs6F,EAASjC,GAAcr4F,QAAQu6F,EAAa,GAC9E,YCnBA,IAAIniG,EAAUvE,MAAMuE,QAEpB2gB,EAAOC,QAAU5gB,YCGjB2gB,EAAOC,QAJP,SAAsB1c,GACpB,OAAgB,MAATA,GAAiC,iBAATA,CACjC,iBC1BA,IAAIk+F,EAAav9D,EAAQ,MACrBw9D,EAAex9D,EAAQ,MA2B3BlkB,EAAOC,QALP,SAAkB1c,GAChB,MAAuB,iBAATA,GACXm+F,EAAan+F,IArBF,mBAqBYk+F,EAAWl+F,EACvC,kBC1BA,IAuBIo+F,EAvBmBz9D,EAAQ,KAuBf09D,EAAiB,SAASv/F,EAAQZ,EAAM6B,GACtD,OAAOjB,GAAUiB,EAAQ,IAAM,IAAM7B,EAAKzD,aAC5C,IAEAgiB,EAAOC,QAAU0hF,kBC3BjB,IAAIzC,EAAeh7D,EAAQ,MA2B3BlkB,EAAOC,QAJP,SAAkB1c,GAChB,OAAgB,MAATA,EAAgB,GAAK27F,EAAa37F,EAC3C,kBCzBA,IAAIs+F,EAAa39D,EAAQ,KACrB49D,EAAiB59D,EAAQ,MACzB3oC,EAAW2oC,EAAQ,MACnB69D,EAAe79D,EAAQ,MA+B3BlkB,EAAOC,QAVP,SAAezf,EAAQwhG,EAASC,GAI9B,OAHAzhG,EAASjF,EAASiF,QAGF/C,KAFhBukG,EAAUC,OAAQxkG,EAAYukG,GAGrBF,EAAethG,GAAUuhG,EAAavhG,GAAUqhG,EAAWrhG,GAE7DA,EAAOmR,MAAMqwF,IAAY,EAClC,s0FC9BME,EAAY,SAACC,EAAOtyE,GACtB,IAAQuyE,EAKID,EALJC,cAAeC,EAKXF,EALWE,KAAMC,EAKjBH,EALiBG,SAAUC,EAK3BJ,EAL2BI,eAAgBC,EAK3CL,EAL2CK,WAAYC,EAKvDN,EALuDM,eAAgBC,EAKvEP,EALuEO,aAAcC,EAKrFR,EALqFQ,eAAgBC,EAKrGT,EALqGS,cAAeC,EAKpHV,EALoHU,YAAaC,EAKjIX,EALiIW,aAAcC,EAK/IZ,EAL+IY,eAAgBC,EAK/Jb,EAL+Ja,YAAaC,EAK5Kd,EAL4Kc,UAK5Kd,EAHZe,UAGYf,EAHDgB,SAGChB,EAHS1nG,KAGT0nG,EAHeiB,WAGfjB,EAH2BkB,iBAGpC,IAAAC,EAAIC,EAAKpB,EAAKqB,GAC4CC,EAAAC,EAAfC,EAAAC,UAAS,GAAM,GAAtDC,EAAeJ,EAAA,GAAEK,EAAkBL,EAAA,GACpCM,EAAuBJ,EAAAK,SACvBC,EAAqBN,EAAAK,OAAO,MAS5BE,EAAO,WACT,IAAIzjF,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAGyjF,QAK1EC,EAAO,WACT,IAAI1jF,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAG0jF,QAK1EC,EAAQ,WACV,IAAI3jF,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAG2jF,SAM1EC,EAAW,SAACC,GACd,IAAI7jF,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAG4jF,SAASC,IAOnFC,EAAc,SAAChhG,EAAOihG,GACxB,IAAI/jF,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAG8jF,YAAYhhG,EAAOihG,IAO7FC,EAAc,SAAClhG,EAAOihG,GACxB,IAAI/jF,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAGgkF,YAAYlhG,EAAOihG,IAM7FE,EAAe,SAACC,GAClB,IAAIlkF,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAGikF,aAAaC,IAOvFC,EAAe,SAACC,EAAUC,GAC5B,IAAIrkF,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAGmkF,aAAaC,EAAUC,IAMjGC,EAAc,SAACC,GACjB,IAAIvkF,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAGskF,YAAYC,IAMtFC,EAAc,SAACC,GAAe,IAAIzkF,EAAI,OAA+C,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,OAAgB,EAASA,EAAGwkF,YAAYC,IAIrIC,EAAU,WACZ,IAAI1kF,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAG0kF,UAG5EpB,EAAqBhvE,aAAUt3B,GAW7B2nG,EAAgB,WAAwB,IACtC3kF,EADe4kF,EAAgBnqG,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,MAGnC,GAAK+oG,EAAmBlvE,QAAxB,CAIwC,QAAvCtU,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAG0kF,UAE5E,IAAMrkE,EAAMwkE,EAAAA,EAAAA,EAAA,GACLnD,GACAkD,GAAa,IAChBn6B,UAAW+4B,EAAmBlvE,UAMlC,OAHAgvE,EAAqBhvE,QAAUwwE,EAAA,QAAOH,cAActkE,GACpDgjE,IAAqBC,EAAqBhvE,SAEnC,WACH,IAAItU,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAG0kF,UAC5EpB,EAAqBhvE,aAAUt3B,EAhBnC,GAsHJ,OAhGAkmG,EAAA6B,WAAU,WACN,IAAMC,EAAYL,IAElB,OAAO,kBAAoB,OAAdK,QAAoC,IAAdA,OAAuB,EAASA,GAAW,CAElF,GAAG,CAACrD,EAAeC,IAEnBsB,EAAA6B,WAAU,WACDzB,EAAqBhvE,UAG1BgvE,EAAqBhvE,QAAQutE,WAAaA,EAC9C,GAAG,CAACA,IAEJqB,EAAA6B,WAAU,WACDzB,EAAqBhvE,UAIrBwtE,EAKAznG,MAAMuE,QAAQkjG,IAAoBA,EAAepnG,UAKlD4oG,EAAqBhvE,QAAQ2wE,gBAAkBnD,EAAe,IAC9DwB,EAAqBhvE,QAAQ2wE,gBAAkBnD,EAAe,MAC9DwB,EAAqBhvE,QAAQ2wE,gBAAkBnD,EAAe,IAGlEwB,EAAqBhvE,QAAQ4wE,WAAWpD,EAAe,GAAIA,EAAe,KAdtEwB,EAAqBhvE,QAAQ6wE,eAAc,GAenD,GAAG,CAACrD,IASJoB,EAAA6B,WAAU,WACN,IAYMK,EAZmB,CACrB,CAAEprG,KAAM,WAAYw/B,QAASuoE,GAC7B,CAAE/nG,KAAM,eAAgBw/B,QAASwoE,GACjC,CAAEhoG,KAAM,aAAcw/B,QAASyoE,GAC/B,CAAEjoG,KAAM,eAAgBw/B,QAAS0oE,GACjC,CAAEloG,KAAM,eAAgBw/B,QAAS2oE,GACjC,CAAEnoG,KAAM,aAAcw/B,QAAS4oE,GAC/B,CAAEpoG,KAAM,cAAew/B,QAAS6oE,GAChC,CAAEroG,KAAM,gBAAiBw/B,QAAS8oE,GAClC,CAAEtoG,KAAM,YAAaw/B,QAAS+oE,GAC9B,CAAEvoG,KAAM,UAAWw/B,QAASgpE,IAEG/iG,QAAO,SAAC4lG,GAAQ,OAAyB,MAApBA,EAAS7rE,WACjE,GAAK4rE,EAAU1qG,OAAf,CAGA,IAAM4qG,EAAiBF,EAAU1kG,KAMjC,SAAC2kG,GACG,IAAIrlF,EAGJ,OAFwC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAG+rD,iBAAiBs5B,EAASrrG,KAAMqrG,EAAS7rE,SAE9G,WACH,IAAIxZ,EACoC,QAAvCA,EAAKsjF,EAAqBhvE,eAA4B,IAAPtU,GAAyBA,EAAGulF,oBAAoBF,EAASrrG,KAAMqrG,EAAS7rE,SAEhI,IAEA,OAAO,WACH8rE,EAAeh+F,SAAQ,SAACk+F,GAAU,OAAKA,OAlB3C,IAoBD,CACCzD,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IAMG,CACHiD,KAFSC,EAAA,QAAMjgF,cAAc,MAAKo/E,EAAA,CAAIz1E,MAAOA,EAAO41C,IAAKw+B,GAAuBX,IAGhFY,KAAAA,EACAC,KAAAA,EACAC,MAAAA,EACAC,SAAAA,EACAI,YAAAA,EACAF,YAAAA,EACAG,aAAAA,EACAE,aAAAA,EACAG,YAAAA,EACAE,YAAAA,EACAE,QAAAA,EACAiB,sBAAuBnC,EACvBJ,gBAAAA,EACAwC,cAAetC,EAAqBhvE,QAE5C,EC3PO,SAASuxE,EAAuBp7B,GACnC,IAAwBq7B,EAAAr7B,EAAUs7B,wBAA1B75E,EAAG45E,EAAH55E,IAAK/c,EAAM22F,EAAN32F,OAGb,OAFgBuQ,OAAOsmF,YAAc95E,IACzBxM,OAAOsmF,YAAc72F,EAErC,CACO,SAAS82F,EAA2Bx7B,EAAWy7B,EAASC,GAC3D,IAAqCC,EAAA37B,EAAUs7B,wBAAvC75E,EAAGk6E,EAAHl6E,IAGR,MAAO,CAAEzkB,GAFEy+F,EADME,EAAJ/5E,MAAW+5E,EAAL7jG,MAGPmF,GADDy+F,EAAUj6E,GAFWk6E,EAANj3F,OAI9B,CACO,IAAMk3F,EAAuB,SAAmDC,GAAA,IAAhDC,EAAUD,EAAVC,WAAYX,EAAaU,EAAbV,cAAeplG,EAAI8lG,EAAJ9lG,KAAMgmG,EAAOF,EAAPE,QACpEtD,EAAA6B,WAAU,WACN,IAAM0B,EAAUF,EAAWjyE,QAC3B,GAAKmyE,GAAYb,GAAkBY,EAAQ9rG,OAA3C,CAGAkrG,EAAclC,OACd,IAAMgD,EAAoB,WACtB,IAAIC,EAAkB,KAChBC,EAAgB,WAClB,IAAMC,EAAiBhB,EAAuBY,GAExCK,EAASN,EAAQ7lE,MAAK,SAAAomE,GAAA,IAAGC,EAAUD,EAAVC,WAAU,OAAOA,GAC5CH,GAAkBG,EAAW,IAC7BH,GAAkBG,EAAW,MAEjC,GAAKF,EAAL,CAGA,GAAoB,SAAhBA,EAAOzpG,MACPypG,EAAOE,YACkB,IAAzBF,EAAO32B,OAAOz1E,OAAc,CAE5B,IAAMusG,EAAYH,EAAO32B,OAAO,GAC5BhyE,KAAK4gC,MAAO8nE,EAAiBC,EAAOE,WAAW,KAC1CF,EAAOE,WAAW,GAAKF,EAAOE,WAAW,IAC1CF,EAAO32B,OAAO,IAEtBy1B,EAAc5B,YAAYiD,EAAYrB,EAAcsB,WAAa,GAAG,EACxE,CACoB,SAAhBJ,EAAOzpG,OAEiB,OAApBspG,GAQIA,IAAoBG,EAAO32B,QAKtBy1B,EAAcuB,YAXvBvB,EAAczB,aAAa2C,EAAO32B,QAAQ,GAC1Cw2B,EAAkBG,EAAO32B,QAiBb,SAAhB22B,EAAOzpG,MAAmBuoG,EAAcuB,WAExCvB,EAAcT,eAAc,GAC5BS,EAAcnC,QAEE,SAAhBqD,EAAOzpG,MAEPuoG,EAAc5B,YAAY8C,EAAO32B,OAAO,GAAKy1B,EAAcsB,WAAa,GAAG,EAzC/E,GA6CJ,OADAvnF,SAASosD,iBAAiB,SAAU66B,GAC7B,WACHjnF,SAAS4lF,oBAAoB,SAAUqB,KAGzCQ,EAAoB,WACtB,IAAMC,EAAe,SAACC,EAAIC,GACtB,IAAI9/F,EAAI6/F,EACJ5/F,EAAI6/F,EAER,IAAW,IAAP9/F,IAAmB,IAAPC,EAAU,CAEtB,IAAMS,EAAM89F,EAA2BQ,EAASh/F,EAAGC,GAEnDD,EAAIU,EAAIV,EACRC,EAAIS,EAAIT,CACZ,CAEA,IAAMo/F,EAASN,EAAQ7lE,MAAK,SAAkB6mE,GAAA,IAAfn8B,EAAQm8B,EAARn8B,SAC3B,OAAIA,GACAhxE,MAAMuE,QAAQysE,EAAS5jE,IACvBpN,MAAMuE,QAAQysE,EAAS3jE,GACfD,GAAK4jE,EAAS5jE,EAAE,IACpBA,GAAK4jE,EAAS5jE,EAAE,IAChBC,GAAK2jE,EAAS3jE,EAAE,IAChBA,GAAK2jE,EAAS3jE,EAAE,MAEpB2jE,GACCxsE,OAAO6E,MAAM2nE,EAAS5jE,IACtB5I,OAAO6E,MAAM2nE,EAAS3jE,KAChBD,IAAM4jE,EAAS5jE,GAAKC,IAAM2jE,EAAS3jE,CAGlD,IAEA,GAAKo/F,EAAL,CAIA,GAAoB,SAAhBA,EAAOzpG,MACPypG,EAAOz7B,UACPhxE,MAAMuE,QAAQkoG,EAAOz7B,SAAS5jE,IAC9BpN,MAAMuE,QAAQkoG,EAAOz7B,SAAS3jE,IACL,IAAzBo/F,EAAO32B,OAAOz1E,OAAc,CAE5B,IAAM+sG,GAAYhgG,EAAIq/F,EAAOz7B,SAAS5jE,EAAE,KACnCq/F,EAAOz7B,SAAS5jE,EAAE,GAAKq/F,EAAOz7B,SAAS5jE,EAAE,IACxCigG,GAAYhgG,EAAIo/F,EAAOz7B,SAAS3jE,EAAE,KACnCo/F,EAAOz7B,SAAS3jE,EAAE,GAAKo/F,EAAOz7B,SAAS3jE,EAAE,IAC9Ck+F,EAAczB,aAAa2C,EAAO32B,QAAQ,GAC1Cy1B,EAAc5B,YAAY7lG,KAAK4gC,MAAO0oE,EAAWC,GAAY,GACxDZ,EAAO32B,OAAO,GAAK22B,EAAO32B,OAAO,MAAM,EAChD,CACoB,SAAhB22B,EAAOzpG,MACPuoG,EAAczB,aAAa2C,EAAO32B,QAAQ,GAE1B,SAAhB22B,EAAOzpG,OAEHuoG,EAAcuB,UACdvB,EAAcT,eAAc,GAEhCS,EAAczB,aAAa2C,EAAO32B,SAElB,SAAhB22B,EAAOzpG,MACPuoG,EAAc5B,YAAY8C,EAAO32B,OAAO,IAAI,EA3BhD,GA8BEw3B,EAAmB,SAACC,GACtBP,EAAaO,EAAGC,QAASD,EAAGE,UAE1BC,EAAkB,WACpBV,GAAc,GAAI,IAItB,OAFAZ,EAAQ16B,iBAAiB,YAAa47B,GACtClB,EAAQ16B,iBAAiB,WAAYg8B,GAC9B,WACHtB,EAAQlB,oBAAoB,YAAaoC,GACzClB,EAAQlB,oBAAoB,WAAYwC,KAGhD,OAAQvnG,GACJ,IAAK,SACD,OAAOkmG,IACX,IAAK,SACD,OAAOU,IA7If,CAgJJ,GAAG,CAAC5mG,EAAMolG,GACd,EACMoC,EAAyB,SAAmCC,GAAA,IAAhCzB,EAAOyB,EAAPzB,QAAShmG,EAAIynG,EAAJznG,KAAM0nG,EAASD,EAATC,UACrCtC,EAA+CsC,EAA/CtC,cAAeH,EAAgCyC,EAAhCzC,KAAME,EAA0BuC,EAA1BvC,sBAO7B,OANAU,EAAqB,CACjBG,QAAAA,EACAZ,cAAAA,EACAplG,KAAAA,EACA+lG,WAAYZ,IAETF,CACX,8BC3KM0C,EAAS,SAACzG,GACZ,IAAI1hF,EAAIE,EAAIE,EACJgP,EAAyCsyE,EAAzCtyE,MAAOg5E,EAAkC1G,EAAlC0G,cAAkBC,EAAWvF,EAAKpB,EAAK4G,GAItDC,EAA+L9G,EAAU4G,EAAaj5E,GAA9Mq2E,EAAI8C,EAAJ9C,KAAMhC,EAAI8E,EAAJ9E,KAAMC,EAAI6E,EAAJ7E,KAAMC,EAAK4E,EAAL5E,MAAOC,EAAQ2E,EAAR3E,SAAUI,EAAWuE,EAAXvE,YAAaF,EAAWyE,EAAXzE,YAAaG,EAAYsE,EAAZtE,aAAcE,EAAYoE,EAAZpE,aAAcG,EAAWiE,EAAXjE,YAAaE,EAAW+D,EAAX/D,YAAaE,EAAO6D,EAAP7D,QAASiB,EAAqB4C,EAArB5C,sBAAuBvC,EAAemF,EAAfnF,gBAAiBwC,EAAa2C,EAAb3C,cAyB5K,OArBA1C,EAAA6B,WAAU,WACFrD,EAAMe,YACNf,EAAMe,UAAUnuE,QAAU,CACtBmvE,KAAAA,EACAC,KAAAA,EACAC,MAAAA,EACAC,SAAAA,EACAE,YAAAA,EACAE,YAAAA,EACAC,aAAAA,EACAE,aAAAA,EACAG,YAAAA,EACAE,YAAAA,EACAE,QAAAA,EACAiB,sBAAAA,EACAvC,gBAAAA,EACAwC,cAAAA,MAIT,CAA4B,QAA1B5lF,EAAK0hF,EAAMe,iBAA8B,IAAPziF,OAAgB,EAASA,EAAGsU,UAC5D0zE,EAAuB,CAC1BE,UAAW,CACPzC,KAAAA,EACAhC,KAAAA,EACAC,KAAAA,EACAC,MAAAA,EACAC,SAAAA,EACAI,YAAAA,EACAF,YAAAA,EACAG,aAAAA,EACAE,aAAAA,EACAG,YAAAA,EACAE,YAAAA,EACAE,QAAAA,EACAiB,sBAAAA,EACAvC,gBAAAA,EACAwC,cAAAA,GAEJY,QAAwG,QAA9FtmF,EAAuB,OAAlBkoF,QAA4C,IAAlBA,OAA2B,EAASA,EAAc5B,eAA4B,IAAPtmF,EAAgBA,EAAK,GACrI1f,KAAkG,QAA3F4f,EAAuB,OAAlBgoF,QAA4C,IAAlBA,OAA2B,EAASA,EAAc5nG,YAAyB,IAAP4f,EAAgBA,EAAK,UAEvI,wQCvDuC,IAAkB0B,QAAnC,qBAAdoD,YAAiDpD,QAI/C,WAAc,aAEtB,IAAI0mF,MAAQ,6BACRC,aAAe,GACfC,eAAgB,EAChBC,qBAAuB,OAEvBC,aAAe,SAAsB91B,GACvC41B,gBAAkB51B,CACpB,EAEI+1B,aAAe,WACjB,OAAOH,aACT,EAEII,gBAAkB,SAAyBhmG,GAC7C2lG,aAAe3lG,CACjB,EAEIimG,gBAAkB,WACpB,OAAON,YACT,EAEA,SAASO,UAAU3rG,GAEjB,OAAOsiB,SAAS8F,cAAcpoB,EAChC,CAEA,SAAS4rG,gBAAgBC,EAASC,GAChC,IAAIxuG,EAEAyuG,EADArrF,EAAMmrF,EAAQxuG,OAGlB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAGxB,IAAK,IAAI0uG,KAFTD,EAAkBF,EAAQvuG,GAAGV,UAGvBY,OAAOZ,UAAUggB,eAAelf,KAAKquG,EAAiBC,KAAOF,EAAYlvG,UAAUovG,GAAQD,EAAgBC,GAGrH,CAEA,SAASC,cAAc1xC,EAAQziC,GAC7B,OAAOt6B,OAAOi+D,yBAAyBlB,EAAQziC,EACjD,CAEA,SAASo0E,oBAAoBtvG,GAC3B,SAASuvG,IAAiB,CAG1B,OADAA,EAAcvvG,UAAYA,EACnBuvG,CACT,CAGA,IAAIC,uBAAyB,WAC3B,SAASC,EAAgBC,GACvB5vG,KAAK6vG,OAAS,GACd7vG,KAAK4vG,aAAeA,EACpB5vG,KAAK8vG,QAAU,EACf9vG,KAAK+vG,UAAW,CAClB,CAoFA,OAlFAJ,EAAgBzvG,UAAY,CAC1B8vG,SAAU,SAAkBC,GAC1BjwG,KAAK6vG,OAAOrqG,KAAKyqG,EACnB,EACArG,MAAO,WACL,IAAIhpG,EACAojB,EAAMhkB,KAAK6vG,OAAOlvG,OAEtB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK6vG,OAAOjvG,GAAGgpG,OAEnB,EACAsG,OAAQ,WACN,IAAItvG,EACAojB,EAAMhkB,KAAK6vG,OAAOlvG,OAEtB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK6vG,OAAOjvG,GAAGsvG,QAEnB,EACAC,QAAS,SAAiBC,GACxB,IAAIxvG,EACAojB,EAAMhkB,KAAK6vG,OAAOlvG,OAEtB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK6vG,OAAOjvG,GAAGuvG,QAAQC,EAE3B,EACAC,YAAa,SAAqBC,GAChC,OAAItwG,KAAK4vG,aACA5vG,KAAK4vG,aAAaU,GAGvB3qF,OAAO4qF,KACF,IAAI5qF,OAAO4qF,KAAK,CACrBvlC,IAAK,CAACslC,KAIH,CACLE,WAAW,EACX9G,KAAM,WACJ1pG,KAAKwwG,WAAY,CACnB,EACAC,KAAM,WACJzwG,KAAKwwG,WAAY,CACnB,EACAE,QAAS,WAAoB,EAC7BC,KAAM,WAAiB,EACvBC,UAAW,WAAsB,EAErC,EACAC,gBAAiB,SAAyBjB,GACxC5vG,KAAK4vG,aAAeA,CACtB,EACAgB,UAAW,SAAmB7nG,GAC5B/I,KAAK8vG,QAAU/mG,EAEf/I,KAAK8wG,eACP,EACAC,KAAM,WACJ/wG,KAAK+vG,UAAW,EAEhB/vG,KAAK8wG,eACP,EACAE,OAAQ,WACNhxG,KAAK+vG,UAAW,EAEhB/vG,KAAK8wG,eACP,EACAG,UAAW,WACT,OAAOjxG,KAAK8vG,OACd,EACAgB,cAAe,WACb,IAAIlwG,EACAojB,EAAMhkB,KAAK6vG,OAAOlvG,OAEtB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK6vG,OAAOjvG,GAAGswG,OAAOlxG,KAAK8vG,SAAW9vG,KAAK+vG,SAAW,EAAI,GAE9D,GAEK,WACL,OAAO,IAAIJ,CACb,CACF,CA7F6B,GA+FzBwB,iBAAmB,WACrB,SAASC,EAAmB9tG,EAAM0gB,GAChC,IAEIjb,EAFAnI,EAAI,EACJ8G,EAAM,GAGV,OAAQpE,GACN,IAAK,QACL,IAAK,SACHyF,EAAQ,EACR,MAEF,QACEA,EAAQ,IAIZ,IAAKnI,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8G,EAAIlC,KAAKuD,GAGX,OAAOrB,CACT,CAkBA,MAAiC,oBAAtBw7D,mBAA4D,oBAAjBsD,aAhBtD,SAAiCljE,EAAM0gB,GACrC,MAAa,YAAT1gB,EACK,IAAIkjE,aAAaxiD,GAGb,UAAT1gB,EACK,IAAIijE,WAAWviD,GAGX,WAAT1gB,EACK,IAAI4/D,kBAAkBl/C,GAGxBotF,EAAmB9tG,EAAM0gB,EAClC,EAMOotF,CACT,CA7CuB,GA+CvB,SAASC,iBAAiBrtF,GACxB,OAAO1jB,MAAM+H,MAAM,KAAM,CACvB1H,OAAQqjB,GAEZ,CAEA,SAASstF,UAAUlqG,GAAuV,OAA1OkqG,UAArD,oBAAXjc,QAAoD,kBAApBA,OAAOkc,SAAqC,SAAiBnqG,GAAO,cAAcA,CAAK,EAAwB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXiuF,QAAyBjuF,EAAIhH,cAAgBi1F,QAAUjuF,IAAQiuF,OAAOn1F,UAAY,gBAAkBkH,CAAK,EAAYkqG,UAAUlqG,EAAM,CACjY,IAAIoqG,iBAAkB,EAClBC,kBAAoB,KACpBC,sBAAwB,KACxBC,WAAa,GACbC,SAAW,iCAAiC/vG,KAAKspB,UAAUC,WAC3DymF,oBAAqB,EACrBC,MAAQ1tG,KAAKC,IACb0tG,OAAS3tG,KAAKyB,KACdmsG,QAAU5tG,KAAKK,MACfwtG,MAAQ7tG,KAAKhB,IACb8uG,MAAQ9tG,KAAKjB,IACbgvG,OAAS,CAAC,EAYd,SAASC,qBACP,MAAO,CAAC,CACV,EAZA,WACE,IACIxxG,EADAyxG,EAAgB,CAAC,MAAO,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,QAAS,OAAQ,OAAQ,QAAS,QAAS,MAAO,OAAQ,MAAO,QAAS,SAAU,QAAS,OAAQ,MAAO,QAAS,OAAQ,QAAS,MAAO,MAAO,MAAO,SAAU,QAAS,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,QAAS,IAAK,OAAQ,MAAO,SAAU,QAAS,KAAM,UAAW,SAExWruF,EAAMquF,EAAc1xG,OAExB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBuxG,OAAOE,EAAczxG,IAAMwD,KAAKiuG,EAAczxG,GAEjD,CARD,GAcAuxG,OAAO1xG,OAAS2D,KAAK3D,OAErB0xG,OAAOjqE,IAAM,SAAUvgC,GAGrB,GAAe,WAFF2pG,UAAU3pG,IAEIA,EAAIhH,OAAQ,CACrC,IACIC,EADA0xG,EAASjB,iBAAiB1pG,EAAIhH,QAE9BqjB,EAAMrc,EAAIhH,OAEd,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB0xG,EAAO1xG,GAAKwD,KAAK8jC,IAAIvgC,EAAI/G,IAG3B,OAAO0xG,CACT,CAEA,OAAOluG,KAAK8jC,IAAIvgC,EAClB,EAEA,IAAI4qG,qBAAuB,IACvBC,UAAYpuG,KAAKswD,GAAK,IACtB+9C,YAAc,MAElB,SAASC,YAAY35B,GACnB84B,qBAAuB94B,CACzB,CAEA,SAAS45B,MAAM5pG,GACb,OAAI8oG,mBACKztG,KAAKkd,MAAMvY,GAGbA,CACT,CAEA,SAAS6pG,SAASj/E,GAChBA,EAAQ0B,MAAMi8C,SAAW,WACzB39C,EAAQ0B,MAAMlD,IAAM,EACpBwB,EAAQ0B,MAAM/C,KAAO,EACrBqB,EAAQ0B,MAAMkE,QAAU,QACxB5F,EAAQ0B,MAAMw9E,gBAAkB,MAChCl/E,EAAQ0B,MAAMy9E,sBAAwB,MACtCn/E,EAAQ0B,MAAM09E,mBAAqB,UACnCp/E,EAAQ0B,MAAM29E,yBAA2B,UACzCr/E,EAAQ0B,MAAM49E,eAAiB,cAC/Bt/E,EAAQ0B,MAAM69E,qBAAuB,cACrCv/E,EAAQ0B,MAAM89E,kBAAoB,aACpC,CAEA,SAASC,kBAAkB9vG,EAAM+vG,EAAaC,EAAWC,GACvDvzG,KAAKsD,KAAOA,EACZtD,KAAKqzG,YAAcA,EACnBrzG,KAAKszG,UAAYA,EACjBtzG,KAAKmqG,UAAYoJ,EAAkB,GAAK,EAAI,CAC9C,CAEA,SAASC,gBAAgBlwG,EAAMiwG,GAC7BvzG,KAAKsD,KAAOA,EACZtD,KAAKmqG,UAAYoJ,EAAkB,GAAK,EAAI,CAC9C,CAEA,SAASE,oBAAoBnwG,EAAMowG,EAAYC,EAAaJ,GAC1DvzG,KAAKsD,KAAOA,EACZtD,KAAK2zG,YAAcA,EACnB3zG,KAAK0zG,WAAaA,EAClB1zG,KAAKmqG,UAAYoJ,EAAkB,GAAK,EAAI,CAC9C,CAEA,SAASK,oBAAoBtwG,EAAM6pG,EAAY0G,GAC7C7zG,KAAKsD,KAAOA,EACZtD,KAAKmtG,WAAaA,EAClBntG,KAAK6zG,YAAcA,CACrB,CAEA,SAASC,eAAexwG,EAAMid,GAC5BvgB,KAAKsD,KAAOA,EACZtD,KAAKugB,OAASA,CAChB,CAEA,SAASwzF,wBAAwBC,EAAaX,GAC5CrzG,KAAKsD,KAAO,mBACZtD,KAAKg0G,YAAcA,EACnBh0G,KAAKqzG,YAAcA,CACrB,CAEA,SAASY,mBAAmBD,GAC1Bh0G,KAAKsD,KAAO,cACZtD,KAAKg0G,YAAcA,CACrB,CAEA,SAASE,4BAA4B5wG,EAAM0wG,GACzCh0G,KAAKsD,KAAOA,EACZtD,KAAKg0G,YAAcA,CACrB,CAEA,IAAIG,gBAAkB,WACpB,IAAIC,EAAS,EACb,OAAO,WAEL,OAAOzC,WAAa,qBADpByC,GAAU,EAEZ,CACF,CANsB,GAQtB,SAASC,SAAS9oF,EAAGtK,EAAGE,GACtB,IAAI9P,EACAF,EACAqS,EACA5iB,EACAqqB,EACA5M,EACAiF,EACAG,EAOJ,OAJApF,EAAI8C,GAAK,EAAIF,GACbqC,EAAInC,GAAK,GAFT8J,EAAQ,EAAJM,GADJ3qB,EAAIwD,KAAKK,MAAU,EAAJ8mB,KAGEtK,GACjBwC,EAAItC,GAAK,GAAK,EAAI8J,GAAKhK,GAEfrgB,EAAI,GACV,KAAK,EACHyQ,EAAI8P,EACJhQ,EAAIsS,EACJD,EAAInF,EACJ,MAEF,KAAK,EACHhN,EAAIiS,EACJnS,EAAIgQ,EACJqC,EAAInF,EACJ,MAEF,KAAK,EACHhN,EAAIgN,EACJlN,EAAIgQ,EACJqC,EAAIC,EACJ,MAEF,KAAK,EACHpS,EAAIgN,EACJlN,EAAImS,EACJE,EAAIrC,EACJ,MAEF,KAAK,EACH9P,EAAIoS,EACJtS,EAAIkN,EACJmF,EAAIrC,EACJ,MAEF,KAAK,EACH9P,EAAI8P,EACJhQ,EAAIkN,EACJmF,EAAIF,EAOR,MAAO,CAACjS,EAAGF,EAAGqS,EAChB,CAEA,SAAS8wF,SAASjjG,EAAGF,EAAGqS,GACtB,IAGI+H,EAHAnoB,EAAMgB,KAAKhB,IAAIiO,EAAGF,EAAGqS,GACrBrgB,EAAMiB,KAAKjB,IAAIkO,EAAGF,EAAGqS,GACrBG,EAAIvgB,EAAMD,EAEV8d,EAAY,IAAR7d,EAAY,EAAIugB,EAAIvgB,EACxB+d,EAAI/d,EAAM,IAEd,OAAQA,GACN,KAAKD,EACHooB,EAAI,EACJ,MAEF,KAAKla,EACHka,EAAIpa,EAAIqS,EAAIG,GAAKxS,EAAIqS,EAAI,EAAI,GAC7B+H,GAAK,EAAI5H,EACT,MAEF,KAAKxS,EACHoa,EAAI/H,EAAInS,EAAQ,EAAJsS,EACZ4H,GAAK,EAAI5H,EACT,MAEF,KAAKH,EACH+H,EAAIla,EAAIF,EAAQ,EAAJwS,EACZ4H,GAAK,EAAI5H,EAOb,MAAO,CAAC4H,EAAGtK,EAAGE,EAChB,CAEA,SAASozF,mBAAmBtiG,EAAO68C,GACjC,IAAI0lD,EAAMF,SAAoB,IAAXriG,EAAM,GAAqB,IAAXA,EAAM,GAAqB,IAAXA,EAAM,IASzD,OARAuiG,EAAI,IAAM1lD,EAEN0lD,EAAI,GAAK,EACXA,EAAI,GAAK,EACAA,EAAI,IAAM,IACnBA,EAAI,GAAK,GAGJH,SAASG,EAAI,GAAIA,EAAI,GAAIA,EAAI,GACtC,CAEA,SAASC,mBAAmBxiG,EAAO68C,GACjC,IAAI0lD,EAAMF,SAAoB,IAAXriG,EAAM,GAAqB,IAAXA,EAAM,GAAqB,IAAXA,EAAM,IASzD,OARAuiG,EAAI,IAAM1lD,EAEN0lD,EAAI,GAAK,EACXA,EAAI,GAAK,EACAA,EAAI,GAAK,IAClBA,EAAI,GAAK,GAGJH,SAASG,EAAI,GAAIA,EAAI,GAAIA,EAAI,GACtC,CAEA,SAASE,YAAYziG,EAAO68C,GAC1B,IAAI0lD,EAAMF,SAAoB,IAAXriG,EAAM,GAAqB,IAAXA,EAAM,GAAqB,IAAXA,EAAM,IASzD,OARAuiG,EAAI,IAAM1lD,EAAS,IAEf0lD,EAAI,GAAK,EACXA,EAAI,IAAM,EACDA,EAAI,GAAK,IAClBA,EAAI,IAAM,GAGLH,SAASG,EAAI,GAAIA,EAAI,GAAIA,EAAI,GACtC,CAEA,IAAIG,SAAW,WACb,IACI/zG,EACAkF,EAFA8uG,EAAW,GAIf,IAAKh0G,EAAI,EAAGA,EAAI,IAAKA,GAAK,EACxBkF,EAAMlF,EAAEG,SAAS,IACjB6zG,EAASh0G,GAAoB,IAAfkF,EAAInF,OAAe,IAAMmF,EAAMA,EAG/C,OAAO,SAAUuL,EAAGF,EAAGqS,GAarB,OAZInS,EAAI,IACNA,EAAI,GAGFF,EAAI,IACNA,EAAI,GAGFqS,EAAI,IACNA,EAAI,GAGC,IAAMoxF,EAASvjG,GAAKujG,EAASzjG,GAAKyjG,EAASpxF,EACpD,CACF,CAzBe,GA2BXqxF,mBAAqB,SAA4B97B,GACnDy4B,kBAAoBz4B,CACtB,EAEI+7B,mBAAqB,WACvB,OAAOtD,eACT,EAEIuD,qBAAuB,SAA8BhsG,GACvD0oG,kBAAoB1oG,CACtB,EAEIisG,qBAAuB,WACzB,OAAOvD,iBACT,EAEIwD,wBAA0B,SAAiClsG,GAC7D2oG,sBAAwB3oG,CAC1B,EAEImsG,wBAA0B,WAC5B,OAAOxD,qBACT,EAEIyD,wBAA0B,SAAiCpsG,GAC7DwpG,qBAAuBxpG,CACzB,EAEIqsG,wBAA0B,WAC5B,OAAO7C,oBACT,EAEI8C,YAAc,SAAqBtsG,GACrC4oG,WAAa5oG,CACf,EAEIusG,YAAc,WAChB,OAAO3D,UACT,EAEA,SAAS4D,SAASjyG,GAEhB,OAAOsiB,SAAS4vF,gBAAgB/G,MAAOnrG,EACzC,CAEA,SAASmyG,UAAUruG,GAAuV,OAA1OquG,UAArD,oBAAXpgB,QAAoD,kBAApBA,OAAOkc,SAAqC,SAAiBnqG,GAAO,cAAcA,CAAK,EAAwB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXiuF,QAAyBjuF,EAAIhH,cAAgBi1F,QAAUjuF,IAAQiuF,OAAOn1F,UAAY,gBAAkBkH,CAAK,EAAYquG,UAAUruG,EAAM,CAEjY,IAAIsuG,YAAc,WAChB,IAEIC,EACAC,EAHAC,EAAa,EACbC,EAAY,GAGZC,EAAc,CAChBC,UAAW,WAAsB,EACjCC,YAAa,SAAqBrhG,GAChC+gG,EAAS,CACPtwG,KAAMuP,GAEV,GAEEshG,EAAc,CAChBD,YAAa,SAAqB5wG,GAChC0wG,EAAYC,UAAU,CACpB3wG,KAAMA,GAEV,GAiBF,SAAS8wG,IACFP,IACHA,EAhBJ,SAAsBruG,GACpB,GAAIoe,OAAOywF,QAAUzwF,OAAOuE,MAAQ4kF,eAAgB,CAClD,IAAIuH,EAAO,IAAInsF,KAAK,CAAC,4CAA6C3iB,EAAGxG,YAAa,CAChFuC,KAAM,oBAGJmR,EAAM+W,IAAIQ,gBAAgBqqF,GAC9B,OAAO,IAAID,OAAO3hG,EACpB,CAGA,OADAkhG,EAAWpuG,EACJwuG,CACT,CAIqBO,EAAa,SAAqB1rF,GAknBjD,GA3EKsrF,EAAYR,cACfQ,EAAYR,YAviBd,WACE,SAASa,EAAeC,EAAQC,GAC9B,IAAIC,EACA91G,EAEAK,EACA01G,EACAx1G,EACAy1G,EAJA5yF,EAAMwyF,EAAO71G,OAMjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAGxB,GAAI,OAFJ81G,EAAYF,EAAO51G,MAEO81G,EAAUG,UAAW,CAG7C,GAFAH,EAAUG,WAAY,EAElBH,EAAUI,QAAS,CACrB,IAAIC,EAAYL,EAAUM,gBAG1B,IAFAL,EAAOI,EAAUp2G,OAEZM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzB,GAAI81G,EAAU91G,GAAGqlD,GAAGnlD,EAAEP,EACpBq2G,EAA6BF,EAAU91G,GAAGqlD,GAAGnlD,QAI7C,IAFAy1G,EAAOG,EAAU91G,GAAGqlD,GAAGnlD,EAAER,OAEpBQ,EAAI,EAAGA,EAAIy1G,EAAMz1G,GAAK,EACrB41G,EAAU91G,GAAGqlD,GAAGnlD,EAAEA,GAAG8f,GACvBg2F,EAA6BF,EAAU91G,GAAGqlD,GAAGnlD,EAAEA,GAAG8f,EAAE,IAGlD81F,EAAU91G,GAAGqlD,GAAGnlD,EAAEA,GAAGypB,GACvBqsF,EAA6BF,EAAU91G,GAAGqlD,GAAGnlD,EAAEA,GAAGypB,EAAE,GAK9D,CAEqB,IAAjB8rF,EAAU3sD,IACZ2sD,EAAUF,OAASU,EAAeR,EAAUS,MAAOV,GACnDF,EAAeG,EAAUF,OAAQC,IACP,IAAjBC,EAAU3sD,GACnBqtD,EAAeV,EAAUW,QACC,IAAjBX,EAAU3sD,IACnButD,EAAaZ,EAEjB,CAEJ,CA4CA,SAASQ,EAAej5E,EAAIw4E,GAC1B,IAAIc,EAhBN,SAAkBt5E,EAAIw4E,GAIpB,IAHA,IAAI71G,EAAI,EACJojB,EAAMyyF,EAAM91G,OAETC,EAAIojB,GAAK,CACd,GAAIyyF,EAAM71G,GAAGq9B,KAAOA,EAClB,OAAOw4E,EAAM71G,GAGfA,GAAK,CACP,CAEA,OAAO,IACT,CAGa42G,CAASv5E,EAAIw4E,GAExB,OAAIc,EACGA,EAAKf,OAAOiB,OAKVvvG,KAAKC,MAAMD,KAAKE,UAAUmvG,EAAKf,UAJpCe,EAAKf,OAAOiB,QAAS,EACdF,EAAKf,QAMT,IACT,CAEA,SAASY,EAAe1vG,GACtB,IAAI9G,EAEAK,EACA01G,EAEJ,IAAK/1G,EAJK8G,EAAI/G,OAIC,EAAGC,GAAK,EAAGA,GAAK,EAC7B,GAAkB,OAAd8G,EAAI9G,GAAGmpD,GACT,GAAIriD,EAAI9G,GAAGyxF,GAAGlxF,EAAEP,EACdq2G,EAA6BvvG,EAAI9G,GAAGyxF,GAAGlxF,QAIvC,IAFAw1G,EAAOjvG,EAAI9G,GAAGyxF,GAAGlxF,EAAER,OAEdM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACrByG,EAAI9G,GAAGyxF,GAAGlxF,EAAEF,GAAGggB,GACjBg2F,EAA6BvvG,EAAI9G,GAAGyxF,GAAGlxF,EAAEF,GAAGggB,EAAE,IAG5CvZ,EAAI9G,GAAGyxF,GAAGlxF,EAAEF,GAAG2pB,GACjBqsF,EAA6BvvG,EAAI9G,GAAGyxF,GAAGlxF,EAAEF,GAAG2pB,EAAE,QAI7B,OAAdljB,EAAI9G,GAAGmpD,IAChBqtD,EAAe1vG,EAAI9G,GAAGgf,GAG5B,CAEA,SAASq3F,EAA6BriG,GACpC,IAAIhU,EACAojB,EAAMpP,EAAKhU,EAAED,OAEjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBgU,EAAKhU,EAAEA,GAAG,IAAMgU,EAAKuM,EAAEvgB,GAAG,GAC1BgU,EAAKhU,EAAEA,GAAG,IAAMgU,EAAKuM,EAAEvgB,GAAG,GAC1BgU,EAAK+pB,EAAE/9B,GAAG,IAAMgU,EAAKuM,EAAEvgB,GAAG,GAC1BgU,EAAK+pB,EAAE/9B,GAAG,IAAMgU,EAAKuM,EAAEvgB,GAAG,EAE9B,CAEA,SAAS82G,EAAaC,EAASC,GAC7B,IAAIC,EAAcD,EAAoBA,EAAkB5pG,MAAM,KAAO,CAAC,IAAK,IAAK,KAEhF,OAAI2pG,EAAQ,GAAKE,EAAY,MAIzBA,EAAY,GAAKF,EAAQ,MAIzBA,EAAQ,GAAKE,EAAY,MAIzBA,EAAY,GAAKF,EAAQ,MAIzBA,EAAQ,GAAKE,EAAY,MAIzBA,EAAY,GAAKF,EAAQ,KAItB,MACT,CAEA,IAAIG,EAAY,WACd,IAAIC,EAAiB,CAAC,EAAG,EAAG,IAE5B,SAASC,EAAgBC,GACvB,IAAIC,EAAeD,EAAUx0F,EAAEE,EAC/Bs0F,EAAUx0F,EAAEE,EAAI,CACdxiB,EAAG,CAAC,CACF8f,EAAGi3F,EACHz0F,EAAG,IAGT,CAEA,SAAS00F,EAAc3B,GACrB,IAAI51G,EACAojB,EAAMwyF,EAAO71G,OAEjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACH,IAAjB41G,EAAO51G,GAAGmpD,IACZiuD,EAAgBxB,EAAO51G,GAG7B,CAEA,OAAO,SAAUgnG,GACf,GAAI8P,EAAaK,EAAgBnQ,EAAczmF,KAC7Cg3F,EAAcvQ,EAAc4O,QAExB5O,EAAcwQ,QAAQ,CACxB,IAAIx3G,EACAojB,EAAM4jF,EAAcwQ,OAAOz3G,OAE/B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBgnG,EAAcwQ,OAAOx3G,GAAG41G,QAC1B2B,EAAcvQ,EAAcwQ,OAAOx3G,GAAG41G,OAG5C,CAEJ,CACF,CAxCgB,GA0CZ6B,EAAa,WACf,IAAIN,EAAiB,CAAC,EAAG,EAAG,IAC5B,OAAO,SAAUnQ,GACf,GAAIA,EAAc0Q,QAAUZ,EAAaK,EAAgBnQ,EAAczmF,GAAI,CACzE,IAAIvgB,EACAojB,EAAM4jF,EAAc0Q,MAAM33G,OAE9B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAC3B,IAAI23G,EAAW3Q,EAAc0Q,MAAM13G,GAE/B23G,EAASlzG,MAAQkzG,EAASlzG,KAAKgyG,SACjCD,EAAemB,EAASlzG,KAAKgyG,QAC7BkB,EAASlzG,KAAK0O,GAAK,EACnBwkG,EAASlzG,KAAKmyD,GAAK,MACnB+gD,EAASlzG,KAAK6mC,GAAK,EACnBqsE,EAASlzG,KAAK4xD,GAAK,EACnBshD,EAASlzG,KAAKgtF,GAAK,CACjBh0E,EAAG,CACDld,EAAG,CAAC,EAAG,GACPoiB,EAAG,GAELtC,EAAG,CACD9f,EAAG,CAAC,IAAK,KACToiB,EAAG,GAELA,EAAG,CACDpiB,EAAG,CAAC,EAAG,GACPoiB,EAAG,GAELlS,EAAG,CACDlQ,EAAG,EACHoiB,EAAG,GAELob,EAAG,CACDx9B,EAAG,IACHoiB,EAAG,IAIFqkF,EAAc0Q,MAAM13G,GAAG6iB,IAC1B80F,EAASlzG,KAAKgyG,OAAO7xG,KAAK,CACxBukD,GAAI,OAENwuD,EAASlzG,KAAKgyG,OAAO,GAAGz3F,GAAGpa,KAAK,CAC9B6Y,EAAG,CACDld,EAAG,CAAC,EAAG,GACPoiB,EAAG,GAELtC,EAAG,CACD9f,EAAG,CAAC,IAAK,KACToiB,EAAG,GAELA,EAAG,CACDpiB,EAAG,CAAC,EAAG,GACPoiB,EAAG,GAELlS,EAAG,CACDlQ,EAAG,EACHoiB,EAAG,GAELob,EAAG,CACDx9B,EAAG,IACHoiB,EAAG,GAELiwE,GAAI,CACFryF,EAAG,EACHoiB,EAAG,GAELijE,GAAI,CACFrlF,EAAG,EACHoiB,EAAG,GAELwmC,GAAI,QAIZ,CACF,CACF,CACF,CA/EiB,GAiFbyuD,EAAsB,WACxB,IAAIT,EAAiB,CAAC,EAAG,EAAG,IAE5B,SAASC,EAAgBC,GACvB,IAAIQ,EAAWR,EAAUx0F,EAAEpF,EAED,kBAAfo6F,EAASl1F,IAClBk1F,EAASl1F,EAAI,CACXA,EAAG,EACHpiB,EAAGs3G,EAASl1F,IAIU,kBAAfk1F,EAASp6F,IAClBo6F,EAASp6F,EAAI,CACXkF,EAAG,EACHpiB,EAAGs3G,EAASp6F,IAIU,kBAAfo6F,EAASpnG,IAClBonG,EAASpnG,EAAI,CACXkS,EAAG,EACHpiB,EAAGs3G,EAASpnG,GAGlB,CAEA,SAAS8mG,EAAc3B,GACrB,IAAI51G,EACAojB,EAAMwyF,EAAO71G,OAEjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACH,IAAjB41G,EAAO51G,GAAGmpD,IACZiuD,EAAgBxB,EAAO51G,GAG7B,CAEA,OAAO,SAAUgnG,GACf,GAAI8P,EAAaK,EAAgBnQ,EAAczmF,KAC7Cg3F,EAAcvQ,EAAc4O,QAExB5O,EAAcwQ,QAAQ,CACxB,IAAIx3G,EACAojB,EAAM4jF,EAAcwQ,OAAOz3G,OAE/B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBgnG,EAAcwQ,OAAOx3G,GAAG41G,QAC1B2B,EAAcvQ,EAAcwQ,OAAOx3G,GAAG41G,OAG5C,CAEJ,CACF,CAvD0B,GAyDtBkC,EAAc,WAChB,IAAIX,EAAiB,CAAC,EAAG,EAAG,GAE5B,SAASY,EAActB,GACrB,IAAIz2G,EAEAK,EACA01G,EAFA3yF,EAAMqzF,EAAO12G,OAIjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,GAAqB,OAAjBy2G,EAAOz2G,GAAGmpD,GACZ4uD,EAActB,EAAOz2G,GAAGgf,SACnB,GAAqB,OAAjBy3F,EAAOz2G,GAAGmpD,IAAgC,OAAjBstD,EAAOz2G,GAAGmpD,GAC5C,GAAIstD,EAAOz2G,GAAGuB,EAAEhB,GAAKk2G,EAAOz2G,GAAGuB,EAAEhB,EAAE,GAAGP,EAGpC,IAFA+1G,EAAOU,EAAOz2G,GAAGuB,EAAEhB,EAAER,OAEhBM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACrBo2G,EAAOz2G,GAAGuB,EAAEhB,EAAEF,GAAGggB,IACnBo2F,EAAOz2G,GAAGuB,EAAEhB,EAAEF,GAAGggB,EAAE,IAAM,IACzBo2F,EAAOz2G,GAAGuB,EAAEhB,EAAEF,GAAGggB,EAAE,IAAM,IACzBo2F,EAAOz2G,GAAGuB,EAAEhB,EAAEF,GAAGggB,EAAE,IAAM,IACzBo2F,EAAOz2G,GAAGuB,EAAEhB,EAAEF,GAAGggB,EAAE,IAAM,KAGvBo2F,EAAOz2G,GAAGuB,EAAEhB,EAAEF,GAAG2pB,IACnBysF,EAAOz2G,GAAGuB,EAAEhB,EAAEF,GAAG2pB,EAAE,IAAM,IACzBysF,EAAOz2G,GAAGuB,EAAEhB,EAAEF,GAAG2pB,EAAE,IAAM,IACzBysF,EAAOz2G,GAAGuB,EAAEhB,EAAEF,GAAG2pB,EAAE,IAAM,IACzBysF,EAAOz2G,GAAGuB,EAAEhB,EAAEF,GAAG2pB,EAAE,IAAM,UAI7BysF,EAAOz2G,GAAGuB,EAAEhB,EAAE,IAAM,IACpBk2G,EAAOz2G,GAAGuB,EAAEhB,EAAE,IAAM,IACpBk2G,EAAOz2G,GAAGuB,EAAEhB,EAAE,IAAM,IACpBk2G,EAAOz2G,GAAGuB,EAAEhB,EAAE,IAAM,GAI5B,CAEA,SAASg3G,EAAc3B,GACrB,IAAI51G,EACAojB,EAAMwyF,EAAO71G,OAEjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACH,IAAjB41G,EAAO51G,GAAGmpD,IACZ4uD,EAAcnC,EAAO51G,GAAGy2G,OAG9B,CAEA,OAAO,SAAUzP,GACf,GAAI8P,EAAaK,EAAgBnQ,EAAczmF,KAC7Cg3F,EAAcvQ,EAAc4O,QAExB5O,EAAcwQ,QAAQ,CACxB,IAAIx3G,EACAojB,EAAM4jF,EAAcwQ,OAAOz3G,OAE/B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBgnG,EAAcwQ,OAAOx3G,GAAG41G,QAC1B2B,EAAcvQ,EAAcwQ,OAAOx3G,GAAG41G,OAG5C,CAEJ,CACF,CApEkB,GAsEdoC,EAAc,WAChB,IAAIb,EAAiB,CAAC,EAAG,EAAG,IAE5B,SAASc,EAAsBnxG,GAC7B,IAAI9G,EAEAK,EACA01G,EAEJ,IAAK/1G,EAJK8G,EAAI/G,OAIC,EAAGC,GAAK,EAAGA,GAAK,EAC7B,GAAkB,OAAd8G,EAAI9G,GAAGmpD,GACT,GAAIriD,EAAI9G,GAAGyxF,GAAGlxF,EAAEP,EACd8G,EAAI9G,GAAGyxF,GAAGlxF,EAAEgB,EAAIuF,EAAI9G,GAAGk4G,YAIvB,IAFAnC,EAAOjvG,EAAI9G,GAAGyxF,GAAGlxF,EAAER,OAEdM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACrByG,EAAI9G,GAAGyxF,GAAGlxF,EAAEF,GAAGggB,IACjBvZ,EAAI9G,GAAGyxF,GAAGlxF,EAAEF,GAAGggB,EAAE,GAAG9e,EAAIuF,EAAI9G,GAAGk4G,QAG7BpxG,EAAI9G,GAAGyxF,GAAGlxF,EAAEF,GAAG2pB,IACjBljB,EAAI9G,GAAGyxF,GAAGlxF,EAAEF,GAAG2pB,EAAE,GAAGzoB,EAAIuF,EAAI9G,GAAGk4G,YAId,OAAdpxG,EAAI9G,GAAGmpD,IAChB8uD,EAAsBnxG,EAAI9G,GAAGgf,GAGnC,CAEA,SAASu4F,EAAc3B,GACrB,IAAIE,EACA91G,EAEAK,EACA01G,EACAx1G,EACAy1G,EAJA5yF,EAAMwyF,EAAO71G,OAMjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAG3B,IAFA81G,EAAYF,EAAO51G,IAELk2G,QAAS,CACrB,IAAIC,EAAYL,EAAUM,gBAG1B,IAFAL,EAAOI,EAAUp2G,OAEZM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzB,GAAI81G,EAAU91G,GAAGqlD,GAAGnlD,EAAEP,EACpBm2G,EAAU91G,GAAGqlD,GAAGnlD,EAAEgB,EAAI40G,EAAU91G,GAAGsuC,QAInC,IAFAqnE,EAAOG,EAAU91G,GAAGqlD,GAAGnlD,EAAER,OAEpBQ,EAAI,EAAGA,EAAIy1G,EAAMz1G,GAAK,EACrB41G,EAAU91G,GAAGqlD,GAAGnlD,EAAEA,GAAG8f,IACvB81F,EAAU91G,GAAGqlD,GAAGnlD,EAAEA,GAAG8f,EAAE,GAAG9e,EAAI40G,EAAU91G,GAAGsuC,IAGzCwnE,EAAU91G,GAAGqlD,GAAGnlD,EAAEA,GAAGypB,IACvBmsF,EAAU91G,GAAGqlD,GAAGnlD,EAAEA,GAAGypB,EAAE,GAAGzoB,EAAI40G,EAAU91G,GAAGsuC,GAKrD,CAEqB,IAAjBmnE,EAAU3sD,IACZ8uD,EAAsBnC,EAAUW,OAEpC,CACF,CAEA,OAAO,SAAUzP,GACf,GAAI8P,EAAaK,EAAgBnQ,EAAczmF,KAC7Cg3F,EAAcvQ,EAAc4O,QAExB5O,EAAcwQ,QAAQ,CACxB,IAAIx3G,EACAojB,EAAM4jF,EAAcwQ,OAAOz3G,OAE/B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBgnG,EAAcwQ,OAAOx3G,GAAG41G,QAC1B2B,EAAcvQ,EAAcwQ,OAAOx3G,GAAG41G,OAG5C,CAEJ,CACF,CAzFkB,GA0GlB,SAASc,EAAajyG,GACI,IAApBA,EAAKoe,EAAEF,EAAE5iB,QAAyB0E,EAAKoe,EAAEpF,CAE/C,CAEA,IAAI06F,EAAW,CACfA,aArBA,SAAsBnR,GAChBA,EAAcoR,aAIlBN,EAAY9Q,GACZkQ,EAAUlQ,GACVyQ,EAAWzQ,GACX4Q,EAAoB5Q,GACpBgR,EAAYhR,GACZ2O,EAAe3O,EAAc4O,OAAQ5O,EAAcwQ,QA/drD,SAAuBE,EAAOF,GAC5B,GAAIE,EAAO,CACT,IAAI13G,EAAI,EACJojB,EAAMs0F,EAAM33G,OAEhB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACL,IAAf03G,EAAM13G,GAAG6iB,IAEX60F,EAAM13G,GAAGyE,KAAKmxG,OAASU,EAAeoB,EAAM13G,GAAGyE,KAAK8xG,MAAOiB,GAa3D7B,EAAe+B,EAAM13G,GAAGyE,KAAKmxG,OAAQ4B,GAG3C,CACF,CAucEa,CAAcrR,EAAc0Q,MAAO1Q,EAAcwQ,QACjDxQ,EAAcoR,YAAa,EAC7B,GAcA,OALAD,EAASL,YAAcA,EACvBK,EAASV,WAAaA,EACtBU,EAASP,oBAAsBA,EAC/BO,EAASH,YAAcA,EACvBG,EAASxC,eAAiBA,EACnBwC,CACT,CAG4BG,IAGvBhD,EAAYiD,cACfjD,EAAYiD,YAAc,WACxB,SAASC,EAAeC,GAGtB,IAAIC,EAAoBD,EAAIE,kBAAkB,gBAE9C,OAAID,GAA0C,SAArBD,EAAIhvF,eAAkE,IAAvCivF,EAAkB1xG,QAAQ,SAI9EyxG,EAAI9uF,UAAwC,WAA5BkrF,UAAU4D,EAAI9uF,UAHzB8uF,EAAI9uF,SAOT8uF,EAAI9uF,UAAoC,kBAAjB8uF,EAAI9uF,SACtBriB,KAAKC,MAAMkxG,EAAI9uF,UAGpB8uF,EAAIxpC,aACC3nE,KAAKC,MAAMkxG,EAAIxpC,cAGjB,IACT,CAyCA,MAAO,CACL2pC,KAxCF,SAAmB5kG,EAAM6kG,EAAU5oC,EAAU6oC,GAC3C,IAAInvF,EACA8uF,EAAM,IAAIlvF,eAEd,IAEEkvF,EAAIhvF,aAAe,MACrB,CAAE,MAAOshB,GAAM,CAGf0tE,EAAIM,mBAAqB,WACvB,GAAuB,IAAnBN,EAAIO,WACN,GAAmB,MAAfP,EAAI1uF,OACNJ,EAAW6uF,EAAeC,GAC1BxoC,EAAStmD,QAET,IACEA,EAAW6uF,EAAeC,GAC1BxoC,EAAStmD,EACX,CAAE,MAAOohB,GACH+tE,GACFA,EAAc/tE,EAElB,CAGN,EAEA,IAEE0tE,EAAIjvF,KAAK,CAAC,IAAK,IAAK,KAAKnkB,KAAK,IAAK2O,GAAM,EAC3C,CAAE,MAAO6V,GAEP4uF,EAAIjvF,KAAK,CAAC,IAAK,IAAK,KAAKnkB,KAAK,IAAKwzG,EAAW,IAAM7kG,GAAM,EAC5D,CAEAykG,EAAI3uF,MACN,EAKF,CAnE0B,IAsER,kBAAhBE,EAAEvlB,KAAK/B,KACT4yG,EAAYiD,YAAYK,KAAK5uF,EAAEvlB,KAAKuP,KAAMgW,EAAEvlB,KAAKo0G,UAAU,SAAUp0G,GACnE6wG,EAAYR,YAAYmE,aAAax0G,GAErC6wG,EAAYD,YAAY,CACtBh4E,GAAIrT,EAAEvlB,KAAK44B,GACX67E,QAASz0G,EACTslB,OAAQ,WAEZ,IAAG,WACDurF,EAAYD,YAAY,CACtBh4E,GAAIrT,EAAEvlB,KAAK44B,GACXtT,OAAQ,SAEZ,SACK,GAAoB,aAAhBC,EAAEvlB,KAAK/B,KAAqB,CACrC,IAAIsyE,EAAYhrD,EAAEvlB,KAAKuwE,UAEvBsgC,EAAYR,YAAYmE,aAAajkC,GAErCsgC,EAAYD,YAAY,CACtBh4E,GAAIrT,EAAEvlB,KAAK44B,GACX67E,QAASlkC,EACTjrD,OAAQ,WAEZ,KAA2B,aAAhBC,EAAEvlB,KAAK/B,MAChB4yG,EAAYiD,YAAYK,KAAK5uF,EAAEvlB,KAAKuP,KAAMgW,EAAEvlB,KAAKo0G,UAAU,SAAUp0G,GACnE6wG,EAAYD,YAAY,CACtBh4E,GAAIrT,EAAEvlB,KAAK44B,GACX67E,QAASz0G,EACTslB,OAAQ,WAEZ,IAAG,WACDurF,EAAYD,YAAY,CACtBh4E,GAAIrT,EAAEvlB,KAAK44B,GACXtT,OAAQ,SAEZ,GAEJ,IAEAirF,EAAeI,UAAY,SAAU+D,GACnC,IAAI10G,EAAO00G,EAAM10G,KACb44B,EAAK54B,EAAK44B,GACVsf,EAAUu4D,EAAU73E,GACxB63E,EAAU73E,GAAM,KAEI,YAAhB54B,EAAKslB,OACP4yB,EAAQyqD,WAAW3iG,EAAKy0G,SACfv8D,EAAQy8D,SACjBz8D,EAAQy8D,SAEZ,EAEJ,CAEA,SAASC,EAAcjS,EAAYgS,GAEjC,IAAI/7E,EAAK,cADT43E,GAAc,GAMd,OAJAC,EAAU73E,GAAM,CACd+pE,WAAYA,EACZgS,QAASA,GAEJ/7E,CACT,CAkCA,MAAO,CACL2sE,cAjCF,SAAuBh2F,EAAMozF,EAAYgS,GACvC7D,IACA,IAAI+D,EAAYD,EAAcjS,EAAYgS,GAC1CpE,EAAeK,YAAY,CACzB3yG,KAAM,gBACNsR,KAAMA,EACN6kG,SAAU9zF,OAAOoG,SAASD,OAASnG,OAAOoG,SAASouF,SACnDl8E,GAAIi8E,GAER,EAyBEE,SAvBF,SAAkBxlG,EAAMozF,EAAYgS,GAClC7D,IACA,IAAI+D,EAAYD,EAAcjS,EAAYgS,GAC1CpE,EAAeK,YAAY,CACzB3yG,KAAM,WACNsR,KAAMA,EACN6kG,SAAU9zF,OAAOoG,SAASD,OAASnG,OAAOoG,SAASouF,SACnDl8E,GAAIi8E,GAER,EAeEG,kBAbF,SAA2BC,EAAMtS,EAAYgS,GAC3C7D,IACA,IAAI+D,EAAYD,EAAcjS,EAAYgS,GAC1CpE,EAAeK,YAAY,CACzB3yG,KAAM,WACNsyE,UAAW0kC,EACXr8E,GAAIi8E,GAER,EAOF,CA9vBkB,GAgwBdK,eAAiB,WACnB,IAAIC,EAAa,WACf,IAAIrxC,EAAS8lC,UAAU,UACvB9lC,EAAO3gE,MAAQ,EACf2gE,EAAO/zD,OAAS,EAChB,IAAIy3D,EAAM1D,EAAOR,WAAW,MAG5B,OAFAkE,EAAI35C,UAAY,gBAChB25C,EAAIsB,SAAS,EAAG,EAAG,EAAG,GACfhF,CACT,CARiB,GAUjB,SAASsxC,IACPz6G,KAAK06G,cAAgB,EAEjB16G,KAAK06G,eAAiB16G,KAAK26G,aAAe36G,KAAK46G,sBAAwB56G,KAAK66G,eAC1E76G,KAAK86G,gBACP96G,KAAK86G,eAAe,KAG1B,CAEA,SAASC,IACP/6G,KAAK46G,qBAAuB,EAExB56G,KAAK06G,eAAiB16G,KAAK26G,aAAe36G,KAAK46G,sBAAwB56G,KAAK66G,eAC1E76G,KAAK86G,gBACP96G,KAAK86G,eAAe,KAG1B,CAEA,SAASE,EAAcC,EAAWrS,EAAYsS,GAC5C,IAAItmG,EAAO,GAEX,GAAIqmG,EAAUrwF,EACZhW,EAAOqmG,EAAU58F,OACZ,GAAIuqF,EAAY,CACrB,IAAIuS,EAAYF,EAAU58F,GAEY,IAAlC88F,EAAUvzG,QAAQ,aACpBuzG,EAAYA,EAAUntG,MAAM,KAAK,IAGnC4G,EAAOg0F,EAAauS,CACtB,MACEvmG,EAAOsmG,EACPtmG,GAAQqmG,EAAU/5F,EAAI+5F,EAAU/5F,EAAI,GACpCtM,GAAQqmG,EAAU58F,EAGpB,OAAOzJ,CACT,CAEA,SAASwmG,EAAgBxqC,GACvB,IAAIwjC,EAAS,EACTiH,EAAaC,YAAY,YACjB1qC,EAAI2qC,UAEN/yG,OAAS4rG,EAAS,OACxBp0G,KAAKw7G,eAELC,cAAcJ,IAGhBjH,GAAU,CACZ,EAAEx2D,KAAK59C,MAAO,GAChB,CAkDA,SAAS07G,EAAkBr2G,GACzB,IAAIg3E,EAAK,CACP4+B,UAAW51G,GAETuP,EAAOomG,EAAc31G,EAAMrF,KAAK4oG,WAAY5oG,KAAK4U,MAUrD,OATA8gG,YAAY0E,SAASxlG,EAAM,SAAU+mG,GACnCt/B,EAAGzL,IAAM+qC,EAET37G,KAAK47G,gBACP,EAAEh+D,KAAK59C,MAAO,WACZq8E,EAAGzL,IAAM,CAAC,EAEV5wE,KAAK47G,gBACP,EAAEh+D,KAAK59C,OACAq8E,CACT,CAiEA,SAASw/B,IACP77G,KAAKw7G,aAAef,EAAY78D,KAAK59C,MACrCA,KAAK47G,eAAiBb,EAAcn9D,KAAK59C,MACzCA,KAAKo7G,gBAAkBA,EAAgBx9D,KAAK59C,MAC5CA,KAAK07G,kBAAoBA,EAAkB99D,KAAK59C,MAChDA,KAAK4oG,WAAa,GAClB5oG,KAAK4U,KAAO,GACZ5U,KAAK26G,YAAc,EACnB36G,KAAK66G,cAAgB,EACrB76G,KAAK06G,aAAe,EACpB16G,KAAK46G,oBAAsB,EAC3B56G,KAAK86G,eAAiB,KACtB96G,KAAK87G,OAAS,EAChB,CAgBA,OAdAD,EAAsB37G,UAAY,CAChC67G,WA/EF,SAAoB3D,EAAQ1zB,GAE1B,IAAI9jF,EADJZ,KAAK86G,eAAiBp2B,EAEtB,IAAI1gE,EAAMo0F,EAAOz3G,OAEjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACnBw3G,EAAOx3G,GAAG41G,SACR4B,EAAOx3G,GAAG6iB,GAAqB,QAAhB20F,EAAOx3G,GAAG6iB,EAGH,IAAhB20F,EAAOx3G,GAAG6iB,IACnBzjB,KAAK66G,eAAiB,EACtB76G,KAAK87G,OAAOt2G,KAAKxF,KAAK07G,kBAAkBtD,EAAOx3G,OAJ/CZ,KAAK26G,aAAe,EACpB36G,KAAK87G,OAAOt2G,KAAKxF,KAAKg8G,iBAAiB5D,EAAOx3G,MAOtD,EAgEEq7G,cA1DF,SAAuBrnG,GACrB5U,KAAK4oG,WAAah0F,GAAQ,EAC5B,EAyDEsnG,QA/DF,SAAiBtnG,GACf5U,KAAK4U,KAAOA,GAAQ,EACtB,EA8DEunG,aApCF,WACE,OAAOn8G,KAAK26G,cAAgB36G,KAAK06G,YACnC,EAmCE0B,eAjCF,WACE,OAAOp8G,KAAK66G,gBAAkB76G,KAAK46G,mBACrC,EAgCEjQ,QA3CF,WACE3qG,KAAK86G,eAAiB,KACtB96G,KAAK87G,OAAOn7G,OAAS,CACvB,EAyCE07G,SA3DF,SAAkBpB,GAIhB,IAHA,IAAIr6G,EAAI,EACJojB,EAAMhkB,KAAK87G,OAAOn7G,OAEfC,EAAIojB,GAAK,CACd,GAAIhkB,KAAK87G,OAAOl7G,GAAGq6G,YAAcA,EAC/B,OAAOj7G,KAAK87G,OAAOl7G,GAAGgwE,IAGxBhwE,GAAK,CACP,CAEA,OAAO,IACT,EA+CE07G,cAzHF,SAAuBrB,GACrB,IAAIrmG,EAAOomG,EAAcC,EAAWj7G,KAAK4oG,WAAY5oG,KAAK4U,MACtDg8D,EAAMq+B,UAAU,OACpBr+B,EAAI2rC,YAAc,YAClB3rC,EAAIoB,iBAAiB,OAAQhyE,KAAKw7G,cAAc,GAChD5qC,EAAIoB,iBAAiB,QAAS,WAC5BqK,EAAGzL,IAAM4pC,EAETx6G,KAAKw7G,cACP,EAAE59D,KAAK59C,OAAO,GACd4wE,EAAI5F,IAAMp2D,EACV,IAAIynE,EAAK,CACPzL,IAAKA,EACLqqC,UAAWA,GAEb,OAAO5+B,CACT,EA0GE/E,gBAxJF,SAAyB2jC,GACvB,IAAIrmG,EAAOomG,EAAcC,EAAWj7G,KAAK4oG,WAAY5oG,KAAK4U,MACtDg8D,EAAM2kC,SAAS,SAEf3D,SACF5xG,KAAKo7G,gBAAgBxqC,GAErBA,EAAIoB,iBAAiB,OAAQhyE,KAAKw7G,cAAc,GAGlD5qC,EAAIoB,iBAAiB,QAAS,WAC5BqK,EAAGzL,IAAM4pC,EAETx6G,KAAKw7G,cACP,EAAE59D,KAAK59C,OAAO,GACd4wE,EAAI4rC,eAAe,+BAAgC,OAAQ5nG,GAEvD5U,KAAKy8G,eAAeC,OACtB18G,KAAKy8G,eAAeC,OAAO9rC,GAE3B5wE,KAAKy8G,eAAe1qC,YAAYnB,GAGlC,IAAIyL,EAAK,CACPzL,IAAKA,EACLqqC,UAAWA,GAEb,OAAO5+B,CACT,EA6HEo+B,YAAaA,EACbM,cAAeA,EACf4B,aApCF,SAAsBr5G,EAAMs5G,GACb,QAATt5G,GACFtD,KAAKy8G,eAAiBG,EACtB58G,KAAKg8G,iBAAmBh8G,KAAKs3E,gBAAgB15B,KAAK59C,OAElDA,KAAKg8G,iBAAmBh8G,KAAKs8G,cAAc1+D,KAAK59C,KAEpD,GA+BO67G,CACT,CAlOqB,GAoOrB,SAASgB,YAAa,CAEtBA,UAAU38G,UAAY,CACpB48G,aAAc,SAAsBC,EAAWhuF,GAC7C,GAAI/uB,KAAKg9G,KAAKD,GAGZ,IAFA,IAAIE,EAAYj9G,KAAKg9G,KAAKD,GAEjBn8G,EAAI,EAAGA,EAAIq8G,EAAUt8G,OAAQC,GAAK,EACzCq8G,EAAUr8G,GAAGmuB,EAGnB,EACAijD,iBAAkB,SAA0B+qC,EAAWlsC,GAOrD,OANK7wE,KAAKg9G,KAAKD,KACb/8G,KAAKg9G,KAAKD,GAAa,IAGzB/8G,KAAKg9G,KAAKD,GAAWv3G,KAAKqrE,GAEnB,WACL7wE,KAAKwrG,oBAAoBuR,EAAWlsC,EACtC,EAAEjzB,KAAK59C,KACT,EACAwrG,oBAAqB,SAA6BuR,EAAWlsC,GAC3D,GAAKA,GAEE,GAAI7wE,KAAKg9G,KAAKD,GAAY,CAI/B,IAHA,IAAIn8G,EAAI,EACJojB,EAAMhkB,KAAKg9G,KAAKD,GAAWp8G,OAExBC,EAAIojB,GACLhkB,KAAKg9G,KAAKD,GAAWn8G,KAAOiwE,IAC9B7wE,KAAKg9G,KAAKD,GAAW9yG,OAAOrJ,EAAG,GAE/BA,GAAK,EACLojB,GAAO,GAGTpjB,GAAK,EAGFZ,KAAKg9G,KAAKD,GAAWp8G,SACxBX,KAAKg9G,KAAKD,GAAa,KAE3B,OAnBE/8G,KAAKg9G,KAAKD,GAAa,IAoB3B,GAGF,IAAIG,aAAe,WACjB,SAASC,EAAkBrD,GAMzB,IALA,IAEIx0E,EAFAiyB,EAAQuiD,EAAQ9rG,MAAM,QACtBV,EAAO,CAAC,EAER8vG,EAAY,EAEPx8G,EAAI,EAAGA,EAAI22D,EAAM52D,OAAQC,GAAK,EAGjB,KAFpB0kC,EAAOiyB,EAAM32D,GAAGoN,MAAM,MAEbrN,SACP2M,EAAKg4B,EAAK,IAAMA,EAAK,GAAG97B,OACxB4zG,GAAa,GAIjB,GAAkB,IAAdA,EACF,MAAM,IAAIj9G,MAGZ,OAAOmN,CACT,CAEA,OAAO,SAAU+vG,GAGf,IAFA,IAAIC,EAAU,GAEL18G,EAAI,EAAGA,EAAIy8G,EAAS18G,OAAQC,GAAK,EAAG,CAC3C,IAAI28G,EAAUF,EAASz8G,GACnB48G,EAAa,CACfC,KAAMF,EAAQG,GACdhvB,SAAU6uB,EAAQvlD,IAGpB,IACEwlD,EAAW1D,QAAU5xG,KAAKC,MAAMk1G,EAASz8G,GAAG+8G,GAC9C,CAAE,MAAOv0G,GACP,IACEo0G,EAAW1D,QAAUqD,EAAkBE,EAASz8G,GAAG+8G,GACrD,CAAE,MAAOtwF,GACPmwF,EAAW1D,QAAU,CACnB75G,KAAMo9G,EAASz8G,GAAG+8G,GAEtB,CACF,CAEAL,EAAQ93G,KAAKg4G,EACf,CAEA,OAAOF,CACT,CACF,CAlDmB,GAoDfM,iBAAmB,WACrB,SAASC,EAAoBtG,GAC3Bv3G,KAAK89G,aAAat4G,KAAK+xG,EACzB,CAEA,OAAO,WACL,SAASwG,EAAqB99G,GAI5B,IAHA,IAAIW,EAAI,EACJojB,EAAMhkB,KAAK89G,aAAan9G,OAErBC,EAAIojB,GAAK,CACd,GAAIhkB,KAAK89G,aAAal9G,GAAGyE,MAAQrF,KAAK89G,aAAal9G,GAAGyE,KAAK24G,KAAO/9G,EAKhE,OAJID,KAAK89G,aAAal9G,GAAGq9G,cAAgBj+G,KAAK89G,aAAal9G,GAAGyE,KAAKoiD,IACjEznD,KAAK89G,aAAal9G,GAAGq9G,aAAaj+G,KAAKk+G,cAGlCl+G,KAAK89G,aAAal9G,GAAGu9G,cAG9Bv9G,GAAK,CACP,CAEA,OAAO,IACT,CAKA,OAHAm9G,EAAqBD,aAAe,GACpCC,EAAqBG,aAAe,EACpCH,EAAqBF,oBAAsBA,EACpCE,CACT,CACF,CA9BuB,GAgCnBK,UAAY,CAAC,EAEbC,iBAAmB,SAA0B7wG,EAAKzE,GACpDq1G,UAAU5wG,GAAOzE,CACnB,EAEA,SAASu1G,YAAY9wG,GACnB,OAAO4wG,UAAU5wG,EACnB,CAEA,SAAS+wG,wBAEP,GAAIH,UAAUj1C,OACZ,MAAO,SAIT,IAAK,IAAI37D,KAAO4wG,UACd,GAAIA,UAAU5wG,GACZ,OAAOA,EAIX,MAAO,EACT,CAEA,SAASgxG,UAAUp3G,GAAuV,OAA1Oo3G,UAArD,oBAAXnpB,QAAoD,kBAApBA,OAAOkc,SAAqC,SAAiBnqG,GAAO,cAAcA,CAAK,EAAwB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXiuF,QAAyBjuF,EAAIhH,cAAgBi1F,QAAUjuF,IAAQiuF,OAAOn1F,UAAY,gBAAkBkH,CAAK,EAAYo3G,UAAUp3G,EAAM,CAEjY,IAAIq3G,cAAgB,WAClBz+G,KAAKg9G,KAAO,GACZh9G,KAAKC,KAAO,GACZD,KAAK4U,KAAO,GACZ5U,KAAK0+G,UAAW,EAChB1+G,KAAKk+G,aAAe,EACpBl+G,KAAKkrG,gBAAkB,EACvBlrG,KAAKmtG,WAAa,EAClBntG,KAAK6zG,YAAc,EACnB7zG,KAAK2+G,UAAY,EACjB3+G,KAAK4+G,UAAY,EACjB5+G,KAAK6+G,UAAY,EACjB7+G,KAAK8+G,cAAgB,EACrB9+G,KAAK++G,UAAY,EACjB/+G,KAAK4nG,cAAgB,CAAC,EACtB5nG,KAAKo4G,OAAS,GACdp4G,KAAKotG,UAAW,EAChBptG,KAAK8nG,UAAW,EAChB9nG,KAAK6nG,MAAO,EACZ7nG,KAAK2oG,SAAW,KAChB3oG,KAAKg/G,YAAc7K,kBACnBn0G,KAAK4oG,WAAa,GAClB5oG,KAAKi/G,cAAgB,EACrBj/G,KAAKk/G,WAAa,EAClBl/G,KAAKm/G,kBAAoBrK,qBACzB90G,KAAKqqG,SAAW,GAChBrqG,KAAKo/G,OAAQ,EACbp/G,KAAKq/G,gBAAiB,EACtBr/G,KAAKs/G,iBAAmB1B,mBACxB59G,KAAKu/G,eAAiB,IAAIhF,eAC1Bv6G,KAAKw/G,gBAAkB9P,yBACvB1vG,KAAKs9G,QAAU,GACft9G,KAAKy/G,gBAAkBz/G,KAAKy/G,gBAAgB7hE,KAAK59C,MACjDA,KAAK0/G,aAAe1/G,KAAK0/G,aAAa9hE,KAAK59C,MAC3CA,KAAK2/G,kBAAoB3/G,KAAK2/G,kBAAkB/hE,KAAK59C,MACrDA,KAAK4/G,gBAAkB,IAAIxM,kBAAkB,aAAc,EAAG,EAAG,GACjEpzG,KAAKyxG,kBAAoBuD,sBAC3B,EAEA9F,gBAAgB,CAAC2N,WAAY4B,eAE7BA,cAAcv+G,UAAU2/G,UAAY,SAAU73G,IACxCA,EAAO0kG,SAAW1kG,EAAO0oE,aAC3B1wE,KAAK0sG,QAAU1kG,EAAO0kG,SAAW1kG,EAAO0oE,WAG1C,IAAIovC,EAAW,MAEX93G,EAAO83G,SACTA,EAAW93G,EAAO83G,SACT93G,EAAO2gG,WAChBmX,EAAW93G,EAAO2gG,UAGpB,IAAIoX,EAAgBzB,YAAYwB,GAChC9/G,KAAK2oG,SAAW,IAAIoX,EAAc//G,KAAMgI,EAAO6gG,kBAC/C7oG,KAAKu/G,eAAe5C,aAAamD,EAAU9/G,KAAK2oG,SAASqX,WAAWC,MACpEjgH,KAAK2oG,SAASuX,oBAAoBlgH,KAAKs/G,kBACvCt/G,KAAK8/G,SAAWA,EAEI,KAAhB93G,EAAO6/F,MAA+B,OAAhB7/F,EAAO6/F,WAAiC5kG,IAAhB+E,EAAO6/F,OAAsC,IAAhB7/F,EAAO6/F,KACpF7nG,KAAK6nG,MAAO,GACa,IAAhB7/F,EAAO6/F,KAChB7nG,KAAK6nG,MAAO,EAEZ7nG,KAAK6nG,KAAOh6F,SAAS7F,EAAO6/F,KAAM,IAGpC7nG,KAAK8nG,WAAW,aAAc9/F,IAASA,EAAO8/F,SAC9C9nG,KAAKC,KAAO+H,EAAO/H,KAAO+H,EAAO/H,KAAO,GACxCD,KAAKmgH,kBAAmBr/G,OAAOZ,UAAUggB,eAAelf,KAAKgH,EAAQ,qBAAsBA,EAAOm4G,iBAClGngH,KAAK4oG,WAAa5gG,EAAO4gG,WACzB5oG,KAAK+nG,eAAiB//F,EAAO+/F,eAEzB//F,EAAO4nG,cACT5vG,KAAKw/G,gBAAgB3O,gBAAgB7oG,EAAO4nG,cAG1C5nG,EAAO4/F,cACT5nG,KAAKogH,eAAep4G,EAAO4/F,eAClB5/F,EAAO4M,QACuB,IAAnC5M,EAAO4M,KAAKyrG,YAAY,MAC1BrgH,KAAK4U,KAAO5M,EAAO4M,KAAK1N,OAAO,EAAGc,EAAO4M,KAAKyrG,YAAY,MAAQ,GAElErgH,KAAK4U,KAAO5M,EAAO4M,KAAK1N,OAAO,EAAGc,EAAO4M,KAAKyrG,YAAY,KAAO,GAGnErgH,KAAK8e,SAAW9W,EAAO4M,KAAK1N,OAAOc,EAAO4M,KAAKyrG,YAAY,KAAO,GAClErgH,KAAK8e,SAAW9e,KAAK8e,SAAS5X,OAAO,EAAGlH,KAAK8e,SAASuhG,YAAY,UAClE3K,YAAY9K,cAAc5iG,EAAO4M,KAAM5U,KAAKy/G,gBAAiBz/G,KAAK0/G,cAEtE,EAEAjB,cAAcv+G,UAAUw/G,aAAe,WACrC1/G,KAAKsgH,QAAQ,cACf,EAEA7B,cAAcv+G,UAAUkgH,eAAiB,SAAU/6G,GACjDqwG,YAAY2E,kBAAkBh1G,EAAMrF,KAAKy/G,gBAC3C,EAEAhB,cAAcv+G,UAAUqgH,QAAU,SAAU7T,EAAS9E,GAC/CA,GAC+B,WAA7B4W,UAAU5W,KACZA,EAAgB1/F,KAAKC,MAAMy/F,IAI/B,IAAI5/F,EAAS,CACX0kG,QAASA,EACT9E,cAAeA,GAEb4Y,EAAoB9T,EAAQ+T,WAChCz4G,EAAO4M,KAAO4rG,EAAkBE,aAAa,uBAC3CF,EAAkBE,aAAa,uBAAuB33G,MAAQy3G,EAAkBE,aAAa,gBAC7FF,EAAkBE,aAAa,gBAAgB33G,MAAQy3G,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAW33G,MAAQ,GACvJf,EAAO83G,SAAWU,EAAkBE,aAAa,kBAC/CF,EAAkBE,aAAa,kBAAkB33G,MAAQy3G,EAAkBE,aAAa,gBACxFF,EAAkBE,aAAa,gBAAgB33G,MAAQy3G,EAAkBE,aAAa,WACtFF,EAAkBE,aAAa,WAAW33G,MAAQy3G,EAAkBE,aAAa,oBACjFF,EAAkBE,aAAa,oBAAoB33G,MAAQy3G,EAAkBE,aAAa,eAAiBF,EAAkBE,aAAa,eAAe33G,MAAQw1G,yBAA2B,SAC9L,IAAI1W,EAAO2Y,EAAkBE,aAAa,kBACxCF,EAAkBE,aAAa,kBAAkB33G,MAAQy3G,EAAkBE,aAAa,gBACxFF,EAAkBE,aAAa,gBAAgB33G,MAAQy3G,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAW33G,MAAQ,GAE1I,UAAT8+F,EACF7/F,EAAO6/F,MAAO,EACI,SAATA,EACT7/F,EAAO6/F,MAAO,EACI,KAATA,IACT7/F,EAAO6/F,KAAOh6F,SAASg6F,EAAM,KAG/B,IAAIC,EAAW0Y,EAAkBE,aAAa,sBAC5CF,EAAkBE,aAAa,sBAAsB33G,MAAQy3G,EAAkBE,aAAa,oBAC5FF,EAAkBE,aAAa,oBAAoB33G,OAAQy3G,EAAkBE,aAAa,gBAAiBF,EAAkBE,aAAa,eAAe33G,MAC3Jf,EAAO8/F,SAAwB,UAAbA,EAClB9/F,EAAO/H,KAAOugH,EAAkBE,aAAa,aAC3CF,EAAkBE,aAAa,aAAa33G,MAAQy3G,EAAkBE,aAAa,gBACnFF,EAAkBE,aAAa,gBAAgB33G,MAAQy3G,EAAkBE,aAAa,WAAaF,EAAkBE,aAAa,WAAW33G,MAAQ,GAKrI,WAJFy3G,EAAkBE,aAAa,uBAC7CF,EAAkBE,aAAa,uBAAuB33G,MAAQy3G,EAAkBE,aAAa,qBAC7FF,EAAkBE,aAAa,qBAAqB33G,MAAQy3G,EAAkBE,aAAa,gBAAkBF,EAAkBE,aAAa,gBAAgB33G,MAAQ,MAGpKf,EAAO24G,WAAY,GAGhB34G,EAAO4M,KAGV5U,KAAK6/G,UAAU73G,GAFfhI,KAAKsgH,QAAQ,UAIjB,EAEA7B,cAAcv+G,UAAU0gH,cAAgB,SAAUv7G,GAC5CA,EAAKmyD,GAAKx3D,KAAK4nG,cAAcpwC,KAC/Bx3D,KAAK4nG,cAAcpwC,GAAKnyD,EAAKmyD,GAC7Bx3D,KAAK6zG,YAAczvG,KAAKK,MAAMY,EAAKmyD,GAAKx3D,KAAK4nG,cAAc7zF,KAG7D,IACInT,EAGAK,EAJAu1G,EAASx2G,KAAK4nG,cAAc4O,OAE5BxyF,EAAMwyF,EAAO71G,OACbkgH,EAAYx7G,EAAKmxG,OAEjBG,EAAOkK,EAAUlgH,OAErB,IAAKM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EAGzB,IAFAL,EAAI,EAEGA,EAAIojB,GAAK,CACd,GAAIwyF,EAAO51G,GAAGq9B,KAAO4iF,EAAU5/G,GAAGg9B,GAAI,CACpCu4E,EAAO51G,GAAKigH,EAAU5/G,GACtB,KACF,CAEAL,GAAK,CACP,CAQF,IALIyE,EAAKizG,OAASjzG,EAAKmvD,SACrBx0D,KAAK2oG,SAASqX,WAAWc,YAAYC,SAAS17G,EAAKizG,OACnDt4G,KAAK2oG,SAASqX,WAAWc,YAAYE,SAAS37G,EAAKmvD,MAAOx0D,KAAK2oG,SAASqX,WAAWC,OAGjF56G,EAAK+yG,OAGP,IAFAp0F,EAAM3e,EAAK+yG,OAAOz3G,OAEbC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK4nG,cAAcwQ,OAAO5yG,KAAKH,EAAK+yG,OAAOx3G,IAI/CZ,KAAK4nG,cAAcoR,YAAa,EAChCtD,YAAY2E,kBAAkBr6G,KAAK4nG,cAAe5nG,KAAK2/G,kBACzD,EAEAlB,cAAcv+G,UAAUy/G,kBAAoB,SAAUt6G,GACpDrF,KAAK4nG,cAAgBviG,EACrB,IAAIosG,EAAoBuD,uBAEpBvD,GACFA,EAAkBwP,gBAAgBjhH,MAGpCA,KAAKkhH,iBACP,EAEAzC,cAAcv+G,UAAUghH,gBAAkB,WACxC,IAAI7W,EAAWrqG,KAAK4nG,cAAcyC,SAElC,IAAKA,GAAgC,IAApBA,EAAS1pG,SAAiBX,KAAKmgH,iBAG9C,OAFAngH,KAAKsgH,QAAQ,mBACbtgH,KAAKi/G,cAAgBj/G,KAAK6zG,aAI5B,IAAIsN,EAAU9W,EAASl8D,QACvBnuC,KAAKi/G,cAAgBkC,EAAQ1D,KAAOz9G,KAAK2+G,UACzC,IAAIyC,EAAcphH,KAAK4U,KAAO5U,KAAK8e,SAAW,IAAM9e,KAAKk/G,WAAa,QACtEl/G,KAAKk/G,YAAc,EACnBxJ,YAAY0E,SAASgH,EAAaphH,KAAK4gH,cAAchjE,KAAK59C,MAAO,WAC/DA,KAAKsgH,QAAQ,cACf,EAAE1iE,KAAK59C,MACT,EAEAy+G,cAAcv+G,UAAUmhH,aAAe,WACtBrhH,KAAK4nG,cAAcyC,WAGhCrqG,KAAKi/G,cAAgBj/G,KAAK6zG,aAG5B7zG,KAAKkhH,iBACP,EAEAzC,cAAcv+G,UAAUohH,aAAe,WACrCthH,KAAKsgH,QAAQ,iBACbtgH,KAAKuhH,aACP,EAEA9C,cAAcv+G,UAAUshH,cAAgB,WACtCxhH,KAAKu/G,eAAetD,cAAcj8G,KAAK4oG,YACvC5oG,KAAKu/G,eAAerD,QAAQl8G,KAAK4U,MACjC5U,KAAKu/G,eAAexD,WAAW/7G,KAAK4nG,cAAcwQ,OAAQp4G,KAAKshH,aAAa1jE,KAAK59C,MACnF,EAEAy+G,cAAcv+G,UAAUu/G,gBAAkB,SAAUgC,GAClD,GAAKzhH,KAAK2oG,SAIV,IACE3oG,KAAK4nG,cAAgB6Z,EAEjBzhH,KAAK+nG,gBACP/nG,KAAK6zG,YAAczvG,KAAKK,MAAMzE,KAAK+nG,eAAe,GAAK/nG,KAAK+nG,eAAe,IAC3E/nG,KAAKmtG,WAAa/oG,KAAKkd,MAAMthB,KAAK+nG,eAAe,MAEjD/nG,KAAK6zG,YAAczvG,KAAKK,MAAMzE,KAAK4nG,cAAcpwC,GAAKx3D,KAAK4nG,cAAc7zF,IACzE/T,KAAKmtG,WAAa/oG,KAAKkd,MAAMthB,KAAK4nG,cAAc7zF,KAGlD/T,KAAK2oG,SAAS8W,gBAAgBgC,GAEzBA,EAASrJ,SACZqJ,EAASrJ,OAAS,IAGpBp4G,KAAKo4G,OAASp4G,KAAK4nG,cAAcwQ,OACjCp4G,KAAK2+G,UAAY3+G,KAAK4nG,cAAc32C,GACpCjxD,KAAK4+G,UAAY5+G,KAAK4nG,cAAc32C,GAAK,IACzCjxD,KAAK2oG,SAAS+Y,wBAAwBD,EAASrJ,QAC/Cp4G,KAAKs9G,QAAUJ,aAAauE,EAASnE,SAAW,IAChDt9G,KAAKsgH,QAAQ,gBACbtgH,KAAKwhH,gBACLxhH,KAAKqhH,eACLrhH,KAAK2hH,oBACL3hH,KAAK4hH,qBAED5hH,KAAKotG,UACPptG,KAAKw/G,gBAAgB5V,OAEzB,CAAE,MAAOn/E,GACPzqB,KAAK6hH,mBAAmBp3F,EAC1B,CACF,EAEAg0F,cAAcv+G,UAAU0hH,mBAAqB,WACtC5hH,KAAK2oG,WAIN3oG,KAAK2oG,SAASqX,WAAWc,YAAYpC,SACvC1+G,KAAKuhH,cAELt1F,WAAWjsB,KAAK4hH,mBAAmBhkE,KAAK59C,MAAO,IAEnD,EAEAy+G,cAAcv+G,UAAUqhH,YAAc,WACpC,IAAKvhH,KAAK0+G,UAAY1+G,KAAK2oG,SAASqX,WAAWc,YAAYpC,WAAa1+G,KAAKu/G,eAAepD,gBAAiD,WAA/Bn8G,KAAK2oG,SAASmZ,eAA8B9hH,KAAKu/G,eAAenD,iBAAkB,CAC9Lp8G,KAAK0+G,UAAW,EAChB,IAAIjN,EAAoBuD,uBAEpBvD,GACFA,EAAkBwP,gBAAgBjhH,MAGpCA,KAAK2oG,SAASoZ,YACd91F,WAAW,WACTjsB,KAAKsgH,QAAQ,YACf,EAAE1iE,KAAK59C,MAAO,GACdA,KAAKgiH,YAEDhiH,KAAK8nG,UACP9nG,KAAK0pG,MAET,CACF,EAEA+U,cAAcv+G,UAAUqsC,OAAS,SAAU/jC,EAAO4M,GAEhD,IAAI6sG,EAA0B,kBAAVz5G,EAAqBA,OAAQvF,EAE7Ci/G,EAA4B,kBAAX9sG,EAAsBA,OAASnS,EAEpDjD,KAAK2oG,SAASwZ,oBAAoBF,EAAQC,EAC5C,EAEAzD,cAAcv+G,UAAUqqG,YAAc,SAAUxxB,GAC9C/4E,KAAKm/G,oBAAsBpmC,CAC7B,EAEA0lC,cAAcv+G,UAAU8hH,UAAY,WAClChiH,KAAKk+G,aAAel+G,KAAKm/G,kBAAoBn/G,KAAKkrG,kBAAoBlrG,KAAKkrG,gBAEvElrG,KAAKi/G,gBAAkBj/G,KAAK6zG,aAAe7zG,KAAKk+G,aAAel+G,KAAKi/G,gBACtEj/G,KAAKk+G,aAAel+G,KAAKi/G,eAG3Bj/G,KAAKsgH,QAAQ,cACbtgH,KAAKu3E,cACLv3E,KAAKsgH,QAAQ,aACf,EAEA7B,cAAcv+G,UAAUq3E,YAAc,WACpC,IAAsB,IAAlBv3E,KAAK0+G,UAAuB1+G,KAAK2oG,SAIrC,IACM3oG,KAAKyxG,mBACPzxG,KAAKyxG,kBAAkB2Q,aAGzBpiH,KAAK2oG,SAASpxB,YAAYv3E,KAAKk+G,aAAel+G,KAAKmtG,WACrD,CAAE,MAAO1iF,GACPzqB,KAAKqiH,wBAAwB53F,EAC/B,CACF,EAEAg0F,cAAcv+G,UAAUwpG,KAAO,SAAUzpG,GACnCA,GAAQD,KAAKC,OAASA,IAIJ,IAAlBD,KAAKotG,WACPptG,KAAKotG,UAAW,EAChBptG,KAAKsgH,QAAQ,SACbtgH,KAAKw/G,gBAAgBtP,SAEjBlwG,KAAKo/G,QACPp/G,KAAKo/G,OAAQ,EACbp/G,KAAKsgH,QAAQ,YAGnB,EAEA7B,cAAcv+G,UAAU0pG,MAAQ,SAAU3pG,GACpCA,GAAQD,KAAKC,OAASA,IAIJ,IAAlBD,KAAKotG,WACPptG,KAAKotG,UAAW,EAChBptG,KAAKsgH,QAAQ,UACbtgH,KAAKo/G,OAAQ,EACbp/G,KAAKsgH,QAAQ,SACbtgH,KAAKw/G,gBAAgB5V,QAEzB,EAEA6U,cAAcv+G,UAAUoiH,YAAc,SAAUriH,GAC1CA,GAAQD,KAAKC,OAASA,KAIJ,IAAlBD,KAAKotG,SACPptG,KAAK0pG,OAEL1pG,KAAK4pG,QAET,EAEA6U,cAAcv+G,UAAUypG,KAAO,SAAU1pG,GACnCA,GAAQD,KAAKC,OAASA,IAI1BD,KAAK4pG,QACL5pG,KAAK++G,UAAY,EACjB/+G,KAAKq/G,gBAAiB,EACtBr/G,KAAKuiH,wBAAwB,GAC/B,EAEA9D,cAAcv+G,UAAUsiH,cAAgB,SAAUC,GAGhD,IAFA,IAAIC,EAEK9hH,EAAI,EAAGA,EAAIZ,KAAKs9G,QAAQ38G,OAAQC,GAAK,EAG5C,IAFA8hH,EAAS1iH,KAAKs9G,QAAQ18G,IAEXk5G,SAAW4I,EAAO5I,QAAQ75G,OAASwiH,EAC5C,OAAOC,EAIX,OAAO,IACT,EAEAjE,cAAcv+G,UAAU+pG,YAAc,SAAUlhG,EAAOihG,EAAS/pG,GAC9D,IAAIA,GAAQD,KAAKC,OAASA,EAA1B,CAIA,IAAI0iH,EAAW79G,OAAOiE,GAEtB,GAAIY,MAAMg5G,GAAW,CACnB,IAAID,EAAS1iH,KAAKwiH,cAAcz5G,GAE5B25G,GACF1iH,KAAKiqG,YAAYyY,EAAOjF,MAAM,EAElC,MAAWzT,EACThqG,KAAKuiH,wBAAwBx5G,GAE7B/I,KAAKuiH,wBAAwBx5G,EAAQ/I,KAAK4iH,eAG5C5iH,KAAK4pG,OAhBL,CAiBF,EAEA6U,cAAcv+G,UAAU6pG,YAAc,SAAUhhG,EAAOihG,EAAS/pG,GAC9D,IAAIA,GAAQD,KAAKC,OAASA,EAA1B,CAIA,IAAI0iH,EAAW79G,OAAOiE,GAEtB,GAAIY,MAAMg5G,GAAW,CACnB,IAAID,EAAS1iH,KAAKwiH,cAAcz5G,GAE5B25G,IACGA,EAAOh0B,SAGV1uF,KAAKoqG,aAAa,CAACsY,EAAOjF,KAAMiF,EAAOjF,KAAOiF,EAAOh0B,WAAW,GAFhE1uF,KAAKiqG,YAAYyY,EAAOjF,MAAM,GAKpC,MACEz9G,KAAKiqG,YAAY0Y,EAAU3Y,EAAS/pG,GAGtCD,KAAK0pG,MAlBL,CAmBF,EAEA+U,cAAcv+G,UAAU2iH,YAAc,SAAU95G,GAC9C,IAAsB,IAAlB/I,KAAKotG,WAAuC,IAAlBptG,KAAK0+G,SAAnC,CAIA,IAAIoE,EAAY9iH,KAAKkrG,gBAAkBniG,EAAQ/I,KAAK4iH,cAChDG,GAAc,EAGdD,GAAa9iH,KAAK6zG,YAAc,GAAK7zG,KAAK4iH,cAAgB,EACvD5iH,KAAK6nG,MAAQ7nG,KAAK++G,YAAc/+G,KAAK6nG,KAK/Bib,GAAa9iH,KAAK6zG,aAC3B7zG,KAAK++G,WAAa,EAEb/+G,KAAKgjH,cAAcF,EAAY9iH,KAAK6zG,eACvC7zG,KAAKuiH,wBAAwBO,EAAY9iH,KAAK6zG,aAC9C7zG,KAAKq/G,gBAAiB,EACtBr/G,KAAKsgH,QAAQ,kBAGftgH,KAAKuiH,wBAAwBO,GAbxB9iH,KAAKgjH,cAAcF,EAAY9iH,KAAK6zG,YAAciP,EAAY9iH,KAAK6zG,YAAc,KACpFkP,GAAc,EACdD,EAAY9iH,KAAK6zG,YAAc,GAa1BiP,EAAY,EAChB9iH,KAAKgjH,cAAcF,EAAY9iH,KAAK6zG,gBACnC7zG,KAAK6nG,MAAU7nG,KAAK++G,aAAe,IAAmB,IAAd/+G,KAAK6nG,MAU/Ckb,GAAc,EACdD,EAAY,IATZ9iH,KAAKuiH,wBAAwBviH,KAAK6zG,YAAciP,EAAY9iH,KAAK6zG,aAE5D7zG,KAAKq/G,eAGRr/G,KAAKsgH,QAAQ,gBAFbtgH,KAAKq/G,gBAAiB,IAU5Br/G,KAAKuiH,wBAAwBO,GAG3BC,IACF/iH,KAAKuiH,wBAAwBO,GAC7B9iH,KAAK4pG,QACL5pG,KAAKsgH,QAAQ,YA9Cf,CAgDF,EAEA7B,cAAcv+G,UAAU+iH,cAAgB,SAAUv7G,EAAKonD,GACrD9uD,KAAK++G,UAAY,EAEbr3G,EAAI,GAAKA,EAAI,IACX1H,KAAK4iH,cAAgB,IACnB5iH,KAAK6+G,UAAY,EACnB7+G,KAAK6pG,UAAU7pG,KAAK6+G,WAEpB7+G,KAAKkqG,cAAc,IAIvBlqG,KAAK6zG,YAAcnsG,EAAI,GAAKA,EAAI,GAChC1H,KAAKi/G,cAAgBj/G,KAAK6zG,YAC1B7zG,KAAKmtG,WAAazlG,EAAI,GACtB1H,KAAKuiH,wBAAwBviH,KAAK6zG,YAAc,KAAQ/kD,IAC/CpnD,EAAI,GAAKA,EAAI,KAClB1H,KAAK4iH,cAAgB,IACnB5iH,KAAK6+G,UAAY,EACnB7+G,KAAK6pG,UAAU7pG,KAAK6+G,WAEpB7+G,KAAKkqG,aAAa,IAItBlqG,KAAK6zG,YAAcnsG,EAAI,GAAKA,EAAI,GAChC1H,KAAKi/G,cAAgBj/G,KAAK6zG,YAC1B7zG,KAAKmtG,WAAazlG,EAAI,GACtB1H,KAAKuiH,wBAAwB,KAAQzzD,IAGvC9uD,KAAKsgH,QAAQ,eACf,EAEA7B,cAAcv+G,UAAUirG,WAAa,SAAU+X,EAAMr6G,GACnD,IAAIs6G,GAAgB,EAEhBnjH,KAAKotG,WACHptG,KAAKkrG,gBAAkBlrG,KAAKmtG,WAAa+V,EAC3CC,EAAeD,EACNljH,KAAKkrG,gBAAkBlrG,KAAKmtG,WAAatkG,IAClDs6G,EAAet6G,EAAMq6G,IAIzBljH,KAAKmtG,WAAa+V,EAClBljH,KAAK6zG,YAAchrG,EAAMq6G,EACzBljH,KAAKi/G,cAAgBj/G,KAAK6zG,aAEJ,IAAlBsP,GACFnjH,KAAKiqG,YAAYkZ,GAAc,EAEnC,EAEA1E,cAAcv+G,UAAUkqG,aAAe,SAAU1iG,EAAK4iG,GAKpD,GAJIA,IACFtqG,KAAKqqG,SAAS1pG,OAAS,GAGC,WAAtB69G,UAAU92G,EAAI,IAAkB,CAClC,IAAI9G,EACAojB,EAAMtc,EAAI/G,OAEd,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKqqG,SAAS7kG,KAAKkC,EAAI9G,GAE3B,MACEZ,KAAKqqG,SAAS7kG,KAAKkC,GAGjB1H,KAAKqqG,SAAS1pG,QAAU2pG,GAC1BtqG,KAAKijH,cAAcjjH,KAAKqqG,SAASl8D,QAAS,GAGxCnuC,KAAKotG,UACPptG,KAAK0pG,MAET,EAEA+U,cAAcv+G,UAAUkrG,cAAgB,SAAUd,GAChDtqG,KAAKqqG,SAAS1pG,OAAS,EACvBX,KAAKqqG,SAAS7kG,KAAK,CAACxF,KAAK4nG,cAAc7zF,GAAI/T,KAAK4nG,cAAcpwC,KAE1D8yC,GACFtqG,KAAKgjH,cAAc,EAEvB,EAEAvE,cAAcv+G,UAAU8iH,cAAgB,SAAUl0D,GAChD,QAAI9uD,KAAKqqG,SAAS1pG,SAChBX,KAAKijH,cAAcjjH,KAAKqqG,SAASl8D,QAAS2gB,IACnC,EAIX,EAEA2vD,cAAcv+G,UAAUyqG,QAAU,SAAU1qG,GACtCA,GAAQD,KAAKC,OAASA,IAASD,KAAK2oG,WAIxC3oG,KAAK2oG,SAASgC,UACd3qG,KAAKu/G,eAAe5U,UACpB3qG,KAAKsgH,QAAQ,WACbtgH,KAAKg9G,KAAO,KACZh9G,KAAKkoG,aAAe,KACpBloG,KAAKioG,eAAiB,KACtBjoG,KAAKgoG,WAAa,KAClBhoG,KAAKmoG,eAAiB,KACtBnoG,KAAKyoG,UAAY,KACjBzoG,KAAK2oG,SAAW,KAChB3oG,KAAKyxG,kBAAoB,KACzBzxG,KAAKu/G,eAAiB,KACtBv/G,KAAKs/G,iBAAmB,KAC1B,EAEAb,cAAcv+G,UAAUqiH,wBAA0B,SAAUx5G,GAC1D/I,KAAKkrG,gBAAkBniG,EACvB/I,KAAKgiH,WACP,EAEAvD,cAAcv+G,UAAU2pG,SAAW,SAAUliG,GAC3C3H,KAAK6+G,UAAYl3G,EACjB3H,KAAK2hH,mBACP,EAEAlD,cAAcv+G,UAAUgqG,aAAe,SAAUviG,GAC/C3H,KAAK8+G,cAAgBn3G,EAAM,GAAK,EAAI,EACpC3H,KAAK2hH,mBACP,EAEAlD,cAAcv+G,UAAUkjH,QAAU,SAAUC,GAC1CrjH,KAAK6nG,KAAOwb,CACd,EAEA5E,cAAcv+G,UAAU0wG,UAAY,SAAUjpG,EAAK1H,GAC7CA,GAAQD,KAAKC,OAASA,GAI1BD,KAAKw/G,gBAAgB5O,UAAUjpG,EACjC,EAEA82G,cAAcv+G,UAAU+wG,UAAY,WAClC,OAAOjxG,KAAKw/G,gBAAgBvO,WAC9B,EAEAwN,cAAcv+G,UAAU6wG,KAAO,SAAU9wG,GACnCA,GAAQD,KAAKC,OAASA,GAI1BD,KAAKw/G,gBAAgBzO,MACvB,EAEA0N,cAAcv+G,UAAU8wG,OAAS,SAAU/wG,GACrCA,GAAQD,KAAKC,OAASA,GAI1BD,KAAKw/G,gBAAgBxO,QACvB,EAEAyN,cAAcv+G,UAAUyhH,kBAAoB,WAC1C3hH,KAAK4iH,cAAgB5iH,KAAK4+G,UAAY5+G,KAAK6+G,UAAY7+G,KAAK8+G,cAC5D9+G,KAAKw/G,gBAAgBrP,QAAQnwG,KAAK6+G,UAAY7+G,KAAK8+G,cACrD,EAEAL,cAAcv+G,UAAUojH,QAAU,WAChC,OAAOtjH,KAAK4U,IACd,EAEA6pG,cAAcv+G,UAAU86G,cAAgB,SAAUC,GAChD,IAAIrmG,EAAO,GAEX,GAAIqmG,EAAUrwF,EACZhW,EAAOqmG,EAAU58F,OACZ,GAAIre,KAAK4oG,WAAY,CAC1B,IAAIuS,EAAYF,EAAU58F,GAEY,IAAlC88F,EAAUvzG,QAAQ,aACpBuzG,EAAYA,EAAUntG,MAAM,KAAK,IAGnC4G,EAAO5U,KAAK4oG,WAAauS,CAC3B,MACEvmG,EAAO5U,KAAK4U,KACZA,GAAQqmG,EAAU/5F,EAAI+5F,EAAU/5F,EAAI,GACpCtM,GAAQqmG,EAAU58F,EAGpB,OAAOzJ,CACT,EAEA6pG,cAAcv+G,UAAUqjH,aAAe,SAAUtlF,GAI/C,IAHA,IAAIr9B,EAAI,EACJojB,EAAMhkB,KAAKo4G,OAAOz3G,OAEfC,EAAIojB,GAAK,CACd,GAAIia,IAAOj+B,KAAKo4G,OAAOx3G,GAAGq9B,GACxB,OAAOj+B,KAAKo4G,OAAOx3G,GAGrBA,GAAK,CACP,CAEA,OAAO,IACT,EAEA69G,cAAcv+G,UAAUsjH,KAAO,WAC7BxjH,KAAK2oG,SAAS6a,MAChB,EAEA/E,cAAcv+G,UAAUujH,KAAO,WAC7BzjH,KAAK2oG,SAAS8a,MAChB,EAEAhF,cAAcv+G,UAAUuqG,YAAc,SAAUT,GAC9C,OAAOA,EAAUhqG,KAAK6zG,YAAc7zG,KAAK6zG,YAAc7zG,KAAK2+G,SAC9D,EAEAF,cAAcv+G,UAAUwjH,mBAAqB,SAAU9uG,EAAMsjG,EAAcpvG,GACzE,IACgB9I,KAAK2oG,SAASgb,iBAAiB/uG,GACrC8uG,mBAAmBxL,EAAcpvG,EAC3C,CAAE,MAAO2hB,GAAQ,CAEnB,EAEAg0F,cAAcv+G,UAAUogH,QAAU,SAAUrgH,GAC1C,GAAID,KAAKg9G,MAAQh9G,KAAKg9G,KAAK/8G,GACzB,OAAQA,GACN,IAAK,aACHD,KAAK88G,aAAa78G,EAAM,IAAImzG,kBAAkBnzG,EAAMD,KAAKk+G,aAAcl+G,KAAK6zG,YAAa7zG,KAAK4iH,gBAC9F,MAEF,IAAK,aACH5iH,KAAK4/G,gBAAgBvM,YAAcrzG,KAAKk+G,aACxCl+G,KAAK4/G,gBAAgBtM,UAAYtzG,KAAK6zG,YACtC7zG,KAAK4/G,gBAAgBzV,UAAYnqG,KAAK4iH,cACtC5iH,KAAK88G,aAAa78G,EAAMD,KAAK4/G,iBAC7B,MAEF,IAAK,eACH5/G,KAAK88G,aAAa78G,EAAM,IAAIwzG,oBAAoBxzG,EAAMD,KAAK6nG,KAAM7nG,KAAK++G,UAAW/+G,KAAK4+G,YACtF,MAEF,IAAK,WACH5+G,KAAK88G,aAAa78G,EAAM,IAAIuzG,gBAAgBvzG,EAAMD,KAAK4+G,YACvD,MAEF,IAAK,eACH5+G,KAAK88G,aAAa78G,EAAM,IAAI2zG,oBAAoB3zG,EAAMD,KAAKmtG,WAAYntG,KAAK6zG,cAC5E,MAEF,IAAK,UACH7zG,KAAK88G,aAAa78G,EAAM,IAAI6zG,eAAe7zG,EAAMD,OACjD,MAEF,QACEA,KAAK88G,aAAa78G,GAIX,eAATA,GAAyBD,KAAKkoG,cAChCloG,KAAKkoG,aAAalnG,KAAKhB,KAAM,IAAIozG,kBAAkBnzG,EAAMD,KAAKk+G,aAAcl+G,KAAK6zG,YAAa7zG,KAAK4+G,YAGxF,iBAAT3+G,GAA2BD,KAAKioG,gBAClCjoG,KAAKioG,eAAejnG,KAAKhB,KAAM,IAAIyzG,oBAAoBxzG,EAAMD,KAAK6nG,KAAM7nG,KAAK++G,UAAW/+G,KAAK4+G,YAGlF,aAAT3+G,GAAuBD,KAAKgoG,YAC9BhoG,KAAKgoG,WAAWhnG,KAAKhB,KAAM,IAAIwzG,gBAAgBvzG,EAAMD,KAAK4+G,YAG/C,iBAAT3+G,GAA2BD,KAAKmoG,gBAClCnoG,KAAKmoG,eAAennG,KAAKhB,KAAM,IAAI4zG,oBAAoB3zG,EAAMD,KAAKmtG,WAAYntG,KAAK6zG,cAGxE,YAAT5zG,GAAsBD,KAAKyoG,WAC7BzoG,KAAKyoG,UAAUznG,KAAKhB,KAAM,IAAI8zG,eAAe7zG,EAAMD,MAEvD,EAEAy+G,cAAcv+G,UAAUmiH,wBAA0B,SAAUrO,GAC1D,IAAIvpF,EAAQ,IAAIspF,wBAAwBC,EAAah0G,KAAKk+G,cAC1Dl+G,KAAK88G,aAAa,QAASryF,GAEvBzqB,KAAKg6G,SACPh6G,KAAKg6G,QAAQh5G,KAAKhB,KAAMyqB,EAE5B,EAEAg0F,cAAcv+G,UAAU2hH,mBAAqB,SAAU7N,GACrD,IAAIvpF,EAAQ,IAAIwpF,mBAAmBD,EAAah0G,KAAKk+G,cACrDl+G,KAAK88G,aAAa,QAASryF,GAEvBzqB,KAAKg6G,SACPh6G,KAAKg6G,QAAQh5G,KAAKhB,KAAMyqB,EAE5B,EAEA,IAAIm5F,iBAAmB,WACrB,IAAI7K,EAAW,CAAC,EACZ8K,EAAuB,GACvBC,EAAW,EACX9/F,EAAM,EACN+/F,EAAuB,EACvBC,GAAW,EACXC,GAAY,EAEhB,SAASC,EAAcrW,GAIrB,IAHA,IAAIjtG,EAAI,EACJujH,EAAWtW,EAAGttF,OAEX3f,EAAIojB,GACL6/F,EAAqBjjH,GAAGg1E,YAAcuuC,IACxCN,EAAqB55G,OAAOrJ,EAAG,GAC/BA,GAAK,EACLojB,GAAO,EAEFmgG,EAAS/W,UACZgX,KAIJxjH,GAAK,CAET,CAEA,SAASyjH,EAAkB1wF,EAASi0E,GAClC,IAAKj0E,EACH,OAAO,KAKT,IAFA,IAAI/yB,EAAI,EAEDA,EAAIojB,GAAK,CACd,GAAI6/F,EAAqBjjH,GAAGq0B,OAAStB,GAA4C,OAAjCkwF,EAAqBjjH,GAAGq0B,KACtE,OAAO4uF,EAAqBjjH,GAAGg1E,UAGjCh1E,GAAK,CACP,CAEA,IAAIujH,EAAW,IAAI1F,cAGnB,OAFA2B,EAAe+D,EAAUxwF,GACzBwwF,EAAS5D,QAAQ5sF,EAASi0E,GACnBuc,CACT,CAcA,SAASG,IACPP,GAAwB,EACxBQ,GACF,CAEA,SAASH,IACPL,GAAwB,CAC1B,CAEA,SAAS3D,EAAe+D,EAAUxwF,GAChCwwF,EAASnyC,iBAAiB,UAAWkyC,GACrCC,EAASnyC,iBAAiB,UAAWsyC,GACrCH,EAASnyC,iBAAiB,QAASoyC,GACnCP,EAAqBr+G,KAAK,CACxByvB,KAAMtB,EACNiiD,UAAWuuC,IAEbngG,GAAO,CACT,CAiCA,SAASksF,EAAOsU,GACd,IACI5jH,EADA6jH,EAAcD,EAAUV,EAG5B,IAAKljH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAUitC,YAAY4B,GAGhDX,EAAWU,EAEPT,IAAyBE,EAC3Bt+F,OAAO++F,sBAAsBxU,GAE7B8T,GAAW,CAEf,CAEA,SAASr3G,EAAM63G,GACbV,EAAWU,EACX7+F,OAAO++F,sBAAsBxU,EAC/B,CA+EA,SAASqU,KACFN,GAAaF,GACZC,IACFr+F,OAAO++F,sBAAsB/3G,GAC7Bq3G,GAAW,EAGjB,CAsDA,OAnBAjL,EAASsL,kBAAoBA,EAC7BtL,EAASnO,cA7KT,SAAuB5iG,GACrB,IAAIm8G,EAAW,IAAI1F,cAGnB,OAFA2B,EAAe+D,EAAU,MACzBA,EAAStE,UAAU73G,GACZm8G,CACT,EAyKApL,EAASlP,SAvKT,SAAkBliG,EAAKiuE,GACrB,IAAIh1E,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAUi0B,SAASliG,EAAKiuE,EAEpD,EAkKAmjC,EAAS7O,aAhKT,SAAsBviG,EAAKiuE,GACzB,IAAIh1E,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAUs0B,aAAaviG,EAAKiuE,EAExD,EA2JAmjC,EAASrP,KAzJT,SAAc9zB,GACZ,IAAIh1E,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAU8zB,KAAK9zB,EAE3C,EAoJAmjC,EAASnP,MA5HT,SAAeh0B,GACb,IAAIh1E,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAUg0B,MAAMh0B,EAE5C,EAuHAmjC,EAASpP,KA7GT,SAAc/zB,GACZ,IAAIh1E,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAU+zB,KAAK/zB,EAE3C,EAwGAmjC,EAASuJ,YAtGT,SAAqB1sC,GACnB,IAAIh1E,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAU0sC,YAAY1sC,EAElD,EAiGAmjC,EAAS4L,iBAvFT,SAA0B/c,EAAegd,EAAYjc,GACnD,IACI/nG,EADAikH,EAAe,GAAG33G,OAAO,GAAG7M,MAAMW,KAAK4kB,SAASk/F,uBAAuB,WAAY,GAAGzkH,MAAMW,KAAK4kB,SAASk/F,uBAAuB,eAEjIC,EAAWF,EAAalkH,OAE5B,IAAKC,EAAI,EAAGA,EAAImkH,EAAUnkH,GAAK,EACzB+nG,GACFkc,EAAajkH,GAAGokH,aAAa,eAAgBrc,GAG/C0b,EAAkBQ,EAAajkH,GAAIgnG,GAGrC,GAAIgd,GAA2B,IAAbG,EAAgB,CAC3Bpc,IACHA,EAAW,OAGb,IAAIt8E,EAAOzG,SAASq/F,qBAAqB,QAAQ,GACjD54F,EAAKC,UAAY,GACjB,IAAI44F,EAAMjW,UAAU,OACpBiW,EAAI7vF,MAAM7sB,MAAQ,OAClB08G,EAAI7vF,MAAMjgB,OAAS,OACnB8vG,EAAIF,aAAa,eAAgBrc,GACjCt8E,EAAK0lD,YAAYmzC,GACjBb,EAAkBa,EAAKtd,EACzB,CACF,EA6DAmR,EAASxsE,OA3DT,WACE,IAAI3rC,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAUrpC,QAEtC,EAuDAwsE,EAAS9O,YA1HT,SAAqBlhG,EAAOihG,EAASp0B,GACnC,IAAIh1E,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAUq0B,YAAYlhG,EAAOihG,EAASp0B,EAElE,EAqHAmjC,EAASpO,QAnGT,SAAiB/0B,GACf,IAAIh1E,EAEJ,IAAKA,EAAIojB,EAAM,EAAGpjB,GAAK,EAAGA,GAAK,EAC7BijH,EAAqBjjH,GAAGg1E,UAAU+0B,QAAQ/0B,EAE9C,EA8FAmjC,EAASoM,OA9CT,WACElB,GAAY,CACd,EA6CAlL,EAASqM,SA3CT,WACEnB,GAAY,EACZM,GACF,EAyCAxL,EAASnI,UAvCT,SAAmBjpG,EAAKiuE,GACtB,IAAIh1E,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAUg7B,UAAUjpG,EAAKiuE,EAErD,EAkCAmjC,EAAShI,KAhCT,SAAcn7B,GACZ,IAAIh1E,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAUm7B,KAAKn7B,EAE3C,EA2BAmjC,EAAS/H,OAzBT,SAAgBp7B,GACd,IAAIh1E,EAEJ,IAAKA,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBijH,EAAqBjjH,GAAGg1E,UAAUo7B,OAAOp7B,EAE7C,EAoBAmjC,EAASsM,wBA9NT,WACE,IAAIzkH,EACAmkH,EAAWlB,EAAqBljH,OAChC2kH,EAAa,GAEjB,IAAK1kH,EAAI,EAAGA,EAAImkH,EAAUnkH,GAAK,EAC7B0kH,EAAW9/G,KAAKq+G,EAAqBjjH,GAAGg1E,WAG1C,OAAO0vC,CACT,EAqNOvM,CACT,CAjRuB,GAoRnBwM,cAAgB,WAWlB,IAAIlpC,EAAK,CACTA,gBAGA,SAAyB94D,EAAGC,EAAGrhB,EAAGwhB,EAAGq6F,GACnC,IAAIv/F,EAAMu/F,IAAO,OAASz6F,EAAI,IAAMC,EAAI,IAAMrhB,EAAI,IAAMwhB,GAAGlX,QAAQ,MAAO,KAE1E,GAAI+4G,EAAQ/mG,GACV,OAAO+mG,EAAQ/mG,GAGjB,IAAIgnG,EAAY,IAAIC,EAAa,CAACniG,EAAGC,EAAGrhB,EAAGwhB,IAE3C,OADA6hG,EAAQ/mG,GAAOgnG,EACRA,CACT,GAZID,EAAU,CAAC,EAmBXG,EAAmB,GACnBC,EAAkB,GAAOD,EAAmB,GAC5CE,EAAgD,oBAAjBr/C,aAEnC,SAAS3oB,EAAEioE,EAAKC,GACd,OAAO,EAAM,EAAMA,EAAM,EAAMD,CACjC,CAEA,SAASj8F,EAAEi8F,EAAKC,GACd,OAAO,EAAMA,EAAM,EAAMD,CAC3B,CAEA,SAASp8F,EAAEo8F,GACT,OAAO,EAAMA,CACf,CAGA,SAASE,EAAWC,EAAIH,EAAKC,GAC3B,QAASloE,EAAEioE,EAAKC,GAAOE,EAAKp8F,EAAEi8F,EAAKC,IAAQE,EAAKv8F,EAAEo8F,IAAQG,CAC5D,CAGA,SAASC,EAASD,EAAIH,EAAKC,GACzB,OAAO,EAAMloE,EAAEioE,EAAKC,GAAOE,EAAKA,EAAK,EAAMp8F,EAAEi8F,EAAKC,GAAOE,EAAKv8F,EAAEo8F,EAClE,CAoCA,SAASJ,EAAaS,GACpBnmH,KAAKomH,GAAKD,EACVnmH,KAAKqmH,eAAiBR,EAAwB,IAAIr/C,aAAam/C,GAAoB,IAAIrlH,MAAMqlH,GAC7F3lH,KAAKsmH,cAAe,EACpBtmH,KAAKuD,IAAMvD,KAAKuD,IAAIq6C,KAAK59C,KAC3B,CAqEA,OAnEA0lH,EAAaxlH,UAAY,CACvBqD,IAAK,SAAamK,GAChB,IAAI64G,EAAMvmH,KAAKomH,GAAG,GACdI,EAAMxmH,KAAKomH,GAAG,GACdK,EAAMzmH,KAAKomH,GAAG,GACdM,EAAM1mH,KAAKomH,GAAG,GAElB,OADKpmH,KAAKsmH,cAActmH,KAAK2mH,cACzBJ,IAAQC,GAAOC,IAAQC,EAAYh5G,EAG7B,IAANA,EAAgB,EACV,IAANA,EAAgB,EACbs4G,EAAWhmH,KAAK4mH,UAAUl5G,GAAI84G,EAAKE,EAC5C,EAEAC,YAAa,WACX,IAAIJ,EAAMvmH,KAAKomH,GAAG,GACdI,EAAMxmH,KAAKomH,GAAG,GACdK,EAAMzmH,KAAKomH,GAAG,GACdM,EAAM1mH,KAAKomH,GAAG,GAClBpmH,KAAKsmH,cAAe,EAEhBC,IAAQC,GAAOC,IAAQC,GACzB1mH,KAAK6mH,mBAET,EACAA,kBAAmB,WAIjB,IAHA,IAAIN,EAAMvmH,KAAKomH,GAAG,GACdK,EAAMzmH,KAAKomH,GAAG,GAETxlH,EAAI,EAAGA,EAAI+kH,IAAoB/kH,EACtCZ,KAAKqmH,eAAezlH,GAAKolH,EAAWplH,EAAIglH,EAAiBW,EAAKE,EAElE,EAKAG,UAAW,SAAmBE,GAQ5B,IAPA,IAAIP,EAAMvmH,KAAKomH,GAAG,GACdK,EAAMzmH,KAAKomH,GAAG,GACdW,EAAgB/mH,KAAKqmH,eACrBW,EAAgB,EAChBC,EAAgB,EAChBC,EAAavB,EAAmB,EAE7BsB,IAAkBC,GAAcH,EAAcE,IAAkBH,IAAMG,EAC3ED,GAAiBpB,EAKnB,IACIuB,EAAYH,GADJF,EAAKC,IAFfE,KAEgDF,EAAcE,EAAgB,GAAKF,EAAcE,IAC5DrB,EACnCwB,EAAelB,EAASiB,EAAWZ,EAAKE,GAE5C,OAAIW,GA9He,KAgDvB,SAA8BN,EAAIO,EAASd,EAAKE,GAC9C,IAAK,IAAI7lH,EAAI,EAAGA,EAlDM,IAkDmBA,EAAG,CAC1C,IAAI0mH,EAAepB,EAASmB,EAASd,EAAKE,GAC1C,GAAqB,IAAjBa,EAAsB,OAAOD,EAEjCA,IADerB,EAAWqB,EAASd,EAAKE,GAAOK,GACzBQ,CACxB,CAEA,OAAOD,CACT,CAsEaE,CAAqBT,EAAIK,EAAWZ,EAAKE,GAG7B,IAAjBW,EACKD,EAtGb,SAAyBL,EAAIU,EAAIC,EAAIlB,EAAKE,GACxC,IAAIiB,EACAC,EACA/mH,EAAI,EAER,IAEE8mH,EAAW1B,EADX2B,EAAWH,GAAMC,EAAKD,GAAM,EACIjB,EAAKE,GAAOK,GAE7B,EACbW,EAAKE,EAELH,EAAKG,QAEAvjH,KAAK8jC,IAAIw/E,GA1CQ,QA0C+B9mH,EAzC1B,IA2C/B,OAAO+mH,CACT,CAwFWC,CAAgBd,EAAIE,EAAeA,EAAgBpB,EAAiBW,EAAKE,EAClF,GAEKpqC,CACT,CAvKoB,GAyKhBwrC,QAKK,CACL,OALF,SAAiBngH,GACf,OAAOA,EAAIwF,OAAOmkG,iBAAiB3pG,EAAI/G,QACzC,GAOEmnH,YACK,SAAUC,EAAeC,EAASC,GACvC,IAAIC,EAAU,EACVC,EAAaJ,EACbhlH,EAAOsuG,iBAAiB8W,GAiC5B,MAhCS,CACPC,WAIF,WAUE,OAPIF,EAEQnlH,EADVmlH,GAAW,GAGDF,GAId,EAdEK,QAgBF,SAAiB10F,GACXu0F,IAAYC,IACdplH,EAAO8kH,QAAgB,OAAE9kH,GACzBolH,GAAc,GAGZF,GACFA,EAASt0F,GAGX5wB,EAAKmlH,GAAWv0F,EAChBu0F,GAAW,CACb,EAGF,EAGEI,iBASKR,YAAY,GARnB,WACE,MAAO,CACLS,YAAa,EACbC,SAAUrX,iBAAiB,UAAWiE,2BACtCqT,QAAStX,iBAAiB,UAAWiE,2BAEzC,IAKEsT,mBAmBKZ,YAAY,GAlBnB,WACE,MAAO,CACLW,QAAS,GACTE,YAAa,EAEjB,IAEA,SAAiBh1F,GACf,IAAI/yB,EACAojB,EAAM2P,EAAQ80F,QAAQ9nH,OAE1B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB0nH,iBAAiBD,QAAQ10F,EAAQ80F,QAAQ7nH,IAG3C+yB,EAAQ80F,QAAQ9nH,OAAS,CAC3B,IAKF,SAASioH,cACP,IAAIC,EAAOzkH,KAEX,SAAS0kH,EAAc5jF,EAAIC,EAAIC,EAAIC,EAAI47B,EAAIwO,GACzC,IAAIs5C,EAAO7jF,EAAKG,EAAKF,EAAK87B,EAAK77B,EAAKqqC,EAAKxO,EAAK57B,EAAKoqC,EAAKvqC,EAAKE,EAAKD,EAClE,OAAO4jF,GAAQ,MAASA,EAAO,IACjC,CA2BA,IAAIC,EACK,SAAUC,EAAKC,EAAKC,EAAKC,GAC9B,IACIjoH,EACAP,EACAojB,EACAqlG,EACAC,EAEAC,EAPAC,EAAgBpU,0BAMhBmT,EAAc,EAEdkB,EAAQ,GACRl9C,EAAY,GACZm9C,EAAapB,iBAAiBF,aAGlC,IAFApkG,EAAMmlG,EAAIxoH,OAELQ,EAAI,EAAGA,EAAIqoH,EAAeroH,GAAK,EAAG,CAIrC,IAHAmoH,EAAOnoH,GAAKqoH,EAAgB,GAC5BD,EAAa,EAER3oH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxByoH,EAAUvX,MAAM,EAAIwX,EAAM,GAAKL,EAAIroH,GAAK,EAAIkxG,MAAM,EAAIwX,EAAM,GAAKA,EAAOH,EAAIvoH,GAAK,GAAK,EAAI0oH,GAAQxX,MAAMwX,EAAM,GAAKF,EAAIxoH,GAAKkxG,MAAMwX,EAAM,GAAKJ,EAAItoH,GACjJ6oH,EAAM7oH,GAAKyoH,EAEU,OAAjB98C,EAAU3rE,KACZ2oH,GAAczX,MAAM2X,EAAM7oH,GAAK2rE,EAAU3rE,GAAI,IAG/C2rE,EAAU3rE,GAAK6oH,EAAM7oH,GAGnB2oH,IAEFhB,GADAgB,EAAaxX,OAAOwX,IAItBG,EAAWlB,SAASrnH,GAAKmoH,EACzBI,EAAWjB,QAAQtnH,GAAKonH,CAC1B,CAGA,OADAmB,EAAWnB,YAAcA,EAClBmB,CACT,EA4BF,SAASC,EAAWhpH,GAClBX,KAAK4pH,cAAgB,EACrB5pH,KAAKmmH,OAAS,IAAI7lH,MAAMK,EAC1B,CAEA,SAASkpH,EAAUC,EAASL,GAC1BzpH,KAAK+pH,cAAgBD,EACrB9pH,KAAKypH,MAAQA,CACf,CAEA,IAAIO,EAAkB,WACpB,IAAIC,EAAa,CAAC,EAClB,OAAO,SAAUhB,EAAKC,EAAKC,EAAKC,GAC9B,IAAIc,GAAcjB,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMC,EAAI,GAAK,IAAMA,EAAI,GAAK,IAAMC,EAAI,GAAK,IAAMA,EAAI,IAAI38G,QAAQ,MAAO,KAElJ,IAAKw9G,EAAWC,GAAa,CAC3B,IACI/oH,EACAP,EACAojB,EACAqlG,EACAC,EAEAC,EACAE,EARAD,EAAgBpU,0BAMhBmT,EAAc,EAGdh8C,EAAY,KAEG,IAAf08C,EAAItoH,SAAiBsoH,EAAI,KAAOC,EAAI,IAAMD,EAAI,KAAOC,EAAI,KAAOJ,EAAcG,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAID,EAAI,GAAKE,EAAI,GAAIF,EAAI,GAAKE,EAAI,KAAOL,EAAcG,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAKE,EAAI,GAAIF,EAAI,GAAKE,EAAI,MACjOI,EAAgB,GAGlB,IAAIW,EAAa,IAAIR,EAAWH,GAGhC,IAFAxlG,EAAMmlG,EAAIxoH,OAELQ,EAAI,EAAGA,EAAIqoH,EAAeroH,GAAK,EAAG,CAKrC,IAJAsoH,EAAQpY,iBAAiBrtF,GACzBslG,EAAOnoH,GAAKqoH,EAAgB,GAC5BD,EAAa,EAER3oH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxByoH,EAAUvX,MAAM,EAAIwX,EAAM,GAAKL,EAAIroH,GAAK,EAAIkxG,MAAM,EAAIwX,EAAM,GAAKA,GAAQL,EAAIroH,GAAKuoH,EAAIvoH,IAAM,GAAK,EAAI0oH,GAAQxX,MAAMwX,EAAM,IAAMJ,EAAItoH,GAAKwoH,EAAIxoH,IAAMkxG,MAAMwX,EAAM,GAAKJ,EAAItoH,GACvK6oH,EAAM7oH,GAAKyoH,EAEO,OAAd98C,IACFg9C,GAAczX,MAAM2X,EAAM7oH,GAAK2rE,EAAU3rE,GAAI,IAKjD2nH,GADAgB,EAAaxX,OAAOwX,GAEpBY,EAAWhE,OAAOhlH,GAAK,IAAI0oH,EAAUN,EAAYE,GACjDl9C,EAAYk9C,CACd,CAEAU,EAAWP,cAAgBrB,EAC3B0B,EAAWC,GAAcC,CAC3B,CAEA,OAAOF,EAAWC,EACpB,CACF,CAlDsB,GAoDtB,SAASE,EAAgBd,EAAMa,GAC7B,IAAI3B,EAAW2B,EAAW3B,SACtBC,EAAU0B,EAAW1B,QACrBzkG,EAAMwkG,EAAS7nH,OACf0pH,EAAUrY,SAAShuF,EAAM,GAAKslG,GAC9BgB,EAAYhB,EAAOa,EAAW5B,YAC9BgC,EAAQ,EAEZ,GAAIF,IAAYrmG,EAAM,GAAiB,IAAZqmG,GAAiBC,IAAc7B,EAAQ4B,GAChE,OAAO7B,EAAS6B,GAMlB,IAHA,IAAIG,EAAM/B,EAAQ4B,GAAWC,GAAa,EAAI,EAC1CvxC,GAAO,EAEJA,GAQL,GAPI0vC,EAAQ4B,IAAYC,GAAa7B,EAAQ4B,EAAU,GAAKC,GAC1DC,GAASD,EAAY7B,EAAQ4B,KAAa5B,EAAQ4B,EAAU,GAAK5B,EAAQ4B,IACzEtxC,GAAO,GAEPsxC,GAAWG,EAGTH,EAAU,GAAKA,GAAWrmG,EAAM,EAAG,CAErC,GAAIqmG,IAAYrmG,EAAM,EACpB,OAAOwkG,EAAS6B,GAGlBtxC,GAAO,CACT,CAGF,OAAOyvC,EAAS6B,IAAY7B,EAAS6B,EAAU,GAAK7B,EAAS6B,IAAYE,CAC3E,CAUA,IAAIE,EAAsBtZ,iBAAiB,UAAW,GAyDtD,MAAO,CACLuZ,kBA7LF,SAA2BC,GACzB,IAKI/pH,EALAgqH,EAAiBlC,mBAAmBN,aACpCtP,EAAS6R,EAAUxoH,EACnB0oH,EAAQF,EAAUxpG,EAClB2pG,EAAQH,EAAUhsF,EAClBosF,EAAQJ,EAAU/pH,EAElBojB,EAAM2mG,EAAUzC,QAChBO,EAAUmC,EAAenC,QACzBE,EAAc,EAElB,IAAK/nH,EAAI,EAAGA,EAAIojB,EAAM,EAAGpjB,GAAK,EAC5B6nH,EAAQ7nH,GAAKooH,EAAgB6B,EAAMjqH,GAAIiqH,EAAMjqH,EAAI,GAAIkqH,EAAMlqH,GAAImqH,EAAMnqH,EAAI,IACzE+nH,GAAeF,EAAQ7nH,GAAG2nH,YAS5B,OANIzP,GAAU90F,IACZykG,EAAQ7nH,GAAKooH,EAAgB6B,EAAMjqH,GAAIiqH,EAAM,GAAIC,EAAMlqH,GAAImqH,EAAM,IACjEpC,GAAeF,EAAQ7nH,GAAG2nH,aAG5BqC,EAAejC,YAAcA,EACtBiC,CACT,EAuKEI,cAzDF,SAAuB/B,EAAKC,EAAKC,EAAKC,EAAK6B,EAAWC,EAASf,GACzDc,EAAY,EACdA,EAAY,EACHA,EAAY,IACrBA,EAAY,GAGd,IAGIrqH,EAHAuqH,EAAKf,EAAgBa,EAAWd,GAEhCiB,EAAKhB,EADTc,EAAUA,EAAU,EAAI,EAAIA,EACMf,GAE9BnmG,EAAMilG,EAAItoH,OACV0qH,EAAK,EAAIF,EACTG,EAAK,EAAIF,EACTG,EAASF,EAAKA,EAAKA,EACnBG,EAAWL,EAAKE,EAAKA,EAAK,EAE1BI,EAAWN,EAAKA,EAAKE,EAAK,EAE1BK,EAASP,EAAKA,EAAKA,EAEnBQ,EAASN,EAAKA,EAAKC,EACnBM,EAAWT,EAAKE,EAAKC,EAAKD,EAAKF,EAAKG,EAAKD,EAAKA,EAAKD,EAEnDS,EAAWV,EAAKA,EAAKG,EAAKD,EAAKF,EAAKC,EAAKD,EAAKE,EAAKD,EAEnDU,EAASX,EAAKA,EAAKC,EAEnBW,EAASV,EAAKC,EAAKA,EACnBU,EAAWb,EAAKG,EAAKA,EAAKD,EAAKD,EAAKE,EAAKD,EAAKC,EAAKF,EAEnDa,EAAWd,EAAKC,EAAKE,EAAKD,EAAKD,EAAKA,EAAKD,EAAKG,EAAKF,EAEnDc,EAASf,EAAKC,EAAKA,EAEnBe,EAASb,EAAKA,EAAKA,EACnBc,EAAWhB,EAAKE,EAAKA,EAAKA,EAAKF,EAAKE,EAAKA,EAAKA,EAAKF,EAEnDiB,EAAWjB,EAAKA,EAAKE,EAAKA,EAAKF,EAAKA,EAAKA,EAAKE,EAAKF,EAEnDkB,EAASlB,EAAKA,EAAKA,EAEvB,IAAKxqH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB6pH,EAAwB,EAAJ7pH,GAASioH,EAAKvnG,MAAoF,KAA7EiqG,EAAStC,EAAIroH,GAAK4qH,EAAWrC,EAAIvoH,GAAK6qH,EAAWrC,EAAIxoH,GAAK8qH,EAASxC,EAAItoH,KAAc,IAE9H6pH,EAAwB,EAAJ7pH,EAAQ,GAAKioH,EAAKvnG,MAAoF,KAA7EqqG,EAAS1C,EAAIroH,GAAKgrH,EAAWzC,EAAIvoH,GAAKirH,EAAWzC,EAAIxoH,GAAKkrH,EAAS5C,EAAItoH,KAAc,IAElI6pH,EAAwB,EAAJ7pH,EAAQ,GAAKioH,EAAKvnG,MAAoF,KAA7EyqG,EAAS9C,EAAIroH,GAAKorH,EAAW7C,EAAIvoH,GAAKqrH,EAAW7C,EAAIxoH,GAAKsrH,EAAShD,EAAItoH,KAAc,IAElI6pH,EAAwB,EAAJ7pH,EAAQ,GAAKioH,EAAKvnG,MAAoF,KAA7E6qG,EAASlD,EAAIroH,GAAKwrH,EAAWjD,EAAIvoH,GAAKyrH,EAAWjD,EAAIxoH,GAAK0rH,EAASpD,EAAItoH,KAAc,IAGpI,OAAO6pH,CACT,EAKE8B,kBApEF,SAA2BtD,EAAKC,EAAKC,EAAKC,EAAKoD,EAASrC,GACtD,IAAIiB,EAAKhB,EAAgBoC,EAASrC,GAC9BmB,EAAK,EAAIF,EAGb,MAAO,CAFGvC,EAAKvnG,MAAwK,KAAjKgqG,EAAKA,EAAKA,EAAKrC,EAAI,IAAMmC,EAAKE,EAAKA,EAAKA,EAAKF,EAAKE,EAAKA,EAAKA,EAAKF,GAAMjC,EAAI,IAAMiC,EAAKA,EAAKE,EAAKA,EAAKF,EAAKA,EAAKA,EAAKE,EAAKF,GAAMhC,EAAI,GAAKgC,EAAKA,EAAKA,EAAKlC,EAAI,KAAc,IACrLL,EAAKvnG,MAAwK,KAAjKgqG,EAAKA,EAAKA,EAAKrC,EAAI,IAAMmC,EAAKE,EAAKA,EAAKA,EAAKF,EAAKE,EAAKA,EAAKA,EAAKF,GAAMjC,EAAI,IAAMiC,EAAKA,EAAKE,EAAKA,EAAKF,EAAKA,EAAKA,EAAKE,EAAKF,GAAMhC,EAAI,GAAKgC,EAAKA,EAAKA,EAAKlC,EAAI,KAAc,IAEjM,EA+DEc,gBAAiBA,EACjBlB,cAAeA,EACf2D,cAvQF,SAAuBvnF,EAAIC,EAAIunF,EAAItnF,EAAIC,EAAIsnF,EAAI1rD,EAAIwO,EAAIm9C,GACrD,GAAW,IAAPF,GAAmB,IAAPC,GAAmB,IAAPC,EAC1B,OAAO9D,EAAc5jF,EAAIC,EAAIC,EAAIC,EAAI47B,EAAIwO,GAG3C,IAGIo9C,EAHAC,EAAQjE,EAAKhjH,KAAKgjH,EAAKxkH,IAAI+gC,EAAKF,EAAI,GAAK2jF,EAAKxkH,IAAIghC,EAAKF,EAAI,GAAK0jF,EAAKxkH,IAAIsoH,EAAKD,EAAI,IAClFK,EAAQlE,EAAKhjH,KAAKgjH,EAAKxkH,IAAI48D,EAAK/7B,EAAI,GAAK2jF,EAAKxkH,IAAIorE,EAAKtqC,EAAI,GAAK0jF,EAAKxkH,IAAIuoH,EAAKF,EAAI,IAClFM,EAAQnE,EAAKhjH,KAAKgjH,EAAKxkH,IAAI48D,EAAK77B,EAAI,GAAKyjF,EAAKxkH,IAAIorE,EAAKpqC,EAAI,GAAKwjF,EAAKxkH,IAAIuoH,EAAKD,EAAI,IAetF,OAVIE,EAFAC,EAAQC,EACND,EAAQE,EACCF,EAAQC,EAAQC,EAEhBA,EAAQD,EAAQD,EAEpBE,EAAQD,EACNC,EAAQD,EAAQD,EAEhBC,EAAQD,EAAQE,IAGV,MAAUH,EAAW,IAC1C,EAkPF,CAEA,IAAII,IAAMrE,cAENsE,UAAYte,oBACZue,QAAU/oH,KAAK8jC,IAEnB,SAASklF,iBAAiBC,EAAUC,GAClC,IACIC,EADAC,EAAaxtH,KAAKwtH,WAGA,qBAAlBxtH,KAAKytH,WACPF,EAAWpc,iBAAiB,UAAWnxG,KAAK0tH,GAAG/sH,SAWjD,IARA,IAIIgtH,EACAC,EACAC,EA6BA1sH,EACAy1G,EACA0S,EACA3S,EACA11G,EACA6sH,EAxCAC,EAAiBT,EAAQvmF,UACzBnmC,EAAImtH,EACJ/pG,EAAMhkB,KAAKguH,UAAUrtH,OAAS,EAC9Bo4E,GAAO,EAKJA,GAAM,CAIX,GAHA40C,EAAU3tH,KAAKguH,UAAUptH,GACzBgtH,EAAc5tH,KAAKguH,UAAUptH,EAAI,GAE7BA,IAAMojB,EAAM,GAAKqpG,GAAYO,EAAYnqG,EAAI+pG,EAAY,CACvDG,EAAQpiG,IACVoiG,EAAUC,GAGZG,EAAiB,EACjB,KACF,CAEA,GAAIH,EAAYnqG,EAAI+pG,EAAaH,EAAU,CACzCU,EAAiBntH,EACjB,KACF,CAEIA,EAAIojB,EAAM,EACZpjB,GAAK,GAELmtH,EAAiB,EACjBh1C,GAAO,EAEX,CAEA80C,EAAmB7tH,KAAKiuH,kBAAkBrtH,IAAM,CAAC,EAOjD,IAEIstH,EAFAC,EAAcP,EAAYnqG,EAAI+pG,EAC9BY,EAAUT,EAAQlqG,EAAI+pG,EAG1B,GAAIG,EAAQ1sF,GAAI,CACT4sF,EAAiB1D,aACpB0D,EAAiB1D,WAAa8C,IAAIjD,gBAAgB2D,EAAQ1sG,EAAG2sG,EAAY3sG,GAAK0sG,EAAQ/iG,EAAG+iG,EAAQ1sF,GAAI0sF,EAAQx6E,KAG/G,IAAIg3E,EAAa0D,EAAiB1D,WAElC,GAAIkD,GAAYc,GAAed,EAAWe,EAAS,CACjD,IAAIxiF,EAAMyhF,GAAYc,EAAchE,EAAWhE,OAAOxlH,OAAS,EAAI,EAGnE,IAFAi2G,EAAOuT,EAAWhE,OAAOv6E,GAAK69E,MAAM9oH,OAE/BQ,EAAI,EAAGA,EAAIy1G,EAAMz1G,GAAK,EACzBosH,EAASpsH,GAAKgpH,EAAWhE,OAAOv6E,GAAK69E,MAAMtoH,EAG/C,KAAO,CACD0sH,EAAiBQ,OACnBP,EAAMD,EAAiBQ,QAEvBP,EAAMvI,cAAc+I,gBAAgBX,EAAQhvF,EAAEjxB,EAAGigH,EAAQhvF,EAAEhxB,EAAGggH,EAAQ/sH,EAAE8M,EAAGigH,EAAQ/sH,EAAE+M,EAAGggH,EAAQhoH,GAAGpC,IACnGsqH,EAAiBQ,OAASP,GAG5BxE,EAAOwE,GAAKT,EAAWe,IAAYD,EAAcC,IACjD,IACIG,EADAC,EAAiBrE,EAAWP,cAAgBN,EAE5Cf,EAAc+E,EAAQmB,UAAYpB,GAAYC,EAAQoB,qBAAuB9tH,EAAI0sH,EAAQqB,iBAAmB,EAKhH,IAJA1tH,EAAIqsH,EAAQmB,UAAYpB,GAAYC,EAAQoB,qBAAuB9tH,EAAI0sH,EAAQsB,WAAa,EAC5F71C,GAAO,EACP49B,EAAOwT,EAAWhE,OAAOxlH,OAElBo4E,GAAM,CAGX,GAFAwvC,GAAe4B,EAAWhE,OAAOllH,GAAG8oH,cAEb,IAAnByE,GAAiC,IAATlF,GAAcroH,IAAMkpH,EAAWhE,OAAOxlH,OAAS,EAAG,CAG5E,IAFAi2G,EAAOuT,EAAWhE,OAAOllH,GAAGwoH,MAAM9oH,OAE7BQ,EAAI,EAAGA,EAAIy1G,EAAMz1G,GAAK,EACzBosH,EAASpsH,GAAKgpH,EAAWhE,OAAOllH,GAAGwoH,MAAMtoH,GAG3C,KACF,CAAO,GAAIqtH,GAAkBjG,GAAeiG,EAAiBjG,EAAc4B,EAAWhE,OAAOllH,EAAI,GAAG8oH,cAAe,CAIjH,IAHAwE,GAAeC,EAAiBjG,GAAe4B,EAAWhE,OAAOllH,EAAI,GAAG8oH,cACxEnT,EAAOuT,EAAWhE,OAAOllH,GAAGwoH,MAAM9oH,OAE7BQ,EAAI,EAAGA,EAAIy1G,EAAMz1G,GAAK,EACzBosH,EAASpsH,GAAKgpH,EAAWhE,OAAOllH,GAAGwoH,MAAMtoH,IAAMgpH,EAAWhE,OAAOllH,EAAI,GAAGwoH,MAAMtoH,GAAKgpH,EAAWhE,OAAOllH,GAAGwoH,MAAMtoH,IAAMotH,EAGtH,KACF,CAEIttH,EAAI01G,EAAO,EACb11G,GAAK,EAEL83E,GAAO,CAEX,CAEAu0C,EAAQsB,WAAa3tH,EACrBqsH,EAAQqB,iBAAmBpG,EAAc4B,EAAWhE,OAAOllH,GAAG8oH,cAC9DuD,EAAQoB,mBAAqB9tH,CAC/B,CACF,KAAO,CACL,IAAIiuH,EACAC,EACAC,EACAC,EACAC,EAIJ,GAHAjrG,EAAM2pG,EAAQ1sG,EAAEtgB,OAChButH,EAAWN,EAAY3sG,GAAK0sG,EAAQ/iG,EAEhC5qB,KAAKkvH,IAAoB,IAAdvB,EAAQpiG,EACjB8hG,GAAYc,GACdZ,EAAS,GAAKW,EAAS,GACvBX,EAAS,GAAKW,EAAS,GACvBX,EAAS,GAAKW,EAAS,IACdb,GAAYe,GACrBb,EAAS,GAAKI,EAAQ1sG,EAAE,GACxBssG,EAAS,GAAKI,EAAQ1sG,EAAE,GACxBssG,EAAS,GAAKI,EAAQ1sG,EAAE,IAKxBkuG,kBAAkB5B,EAAU6B,MAHZC,iBAAiB1B,EAAQ1sG,GAC3BouG,iBAAiBnB,IACnBb,EAAWe,IAAYD,EAAcC,UAInD,IAAKxtH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACN,IAAd+sH,EAAQpiG,IACN8hG,GAAYc,EACd7E,EAAO,EACE+D,EAAWe,EACpB9E,EAAO,GAEHqE,EAAQhvF,EAAEjxB,EAAEtN,cAAgBE,OACzButH,EAAiBQ,SACpBR,EAAiBQ,OAAS,IAGvBR,EAAiBQ,OAAOztH,GAQ3BktH,EAAMD,EAAiBQ,OAAOztH,IAP9BiuH,OAA0B5rH,IAAnB0qH,EAAQhvF,EAAEjxB,EAAE9M,GAAmB+sH,EAAQhvF,EAAEjxB,EAAE,GAAKigH,EAAQhvF,EAAEjxB,EAAE9M,GACnEkuH,OAA0B7rH,IAAnB0qH,EAAQhvF,EAAEhxB,EAAE/M,GAAmB+sH,EAAQhvF,EAAEhxB,EAAE,GAAKggH,EAAQhvF,EAAEhxB,EAAE/M,GACnEmuH,OAAyB9rH,IAAnB0qH,EAAQ/sH,EAAE8M,EAAE9M,GAAmB+sH,EAAQ/sH,EAAE8M,EAAE,GAAKigH,EAAQ/sH,EAAE8M,EAAE9M,GAClEouH,OAAyB/rH,IAAnB0qH,EAAQ/sH,EAAE+M,EAAE/M,GAAmB+sH,EAAQ/sH,EAAE+M,EAAE,GAAKggH,EAAQ/sH,EAAE+M,EAAE/M,GAClEktH,EAAMvI,cAAc+I,gBAAgBO,EAAMC,EAAMC,EAAKC,GAAKzrH,IAC1DsqH,EAAiBQ,OAAOztH,GAAKktH,IAIrBD,EAAiBQ,OAQ3BP,EAAMD,EAAiBQ,QAPvBQ,EAAOlB,EAAQhvF,EAAEjxB,EACjBohH,EAAOnB,EAAQhvF,EAAEhxB,EACjBohH,EAAMpB,EAAQ/sH,EAAE8M,EAChBshH,EAAMrB,EAAQ/sH,EAAE+M,EAChBmgH,EAAMvI,cAAc+I,gBAAgBO,EAAMC,EAAMC,EAAKC,GAAKzrH,IAC1DoqH,EAAQE,iBAAmBC,GAK7BxE,EAAOwE,GAAKT,EAAWe,IAAYD,EAAcC,MAIrDF,EAAWN,EAAY3sG,GAAK0sG,EAAQ/iG,EACpCqkG,EAAyB,IAAdtB,EAAQpiG,EAAUoiG,EAAQ1sG,EAAErgB,GAAK+sH,EAAQ1sG,EAAErgB,IAAMstH,EAASttH,GAAK+sH,EAAQ1sG,EAAErgB,IAAM0oH,EAEpE,qBAAlBtpH,KAAKytH,SACPF,EAAS3sH,GAAKquH,EAEd1B,EAAW0B,CAInB,CAGA,OADA3B,EAAQvmF,UAAYgnF,EACbR,CACT,CAGA,SAAS6B,MAAM7rG,EAAGC,EAAGC,GACnB,IASI6rG,EACAC,EACAC,EACAC,EACAC,EAbAnnG,EAAM,GACNonG,EAAKpsG,EAAE,GACPqsG,EAAKrsG,EAAE,GACP4tE,EAAK5tE,EAAE,GACPssG,EAAKtsG,EAAE,GACPusG,EAAKtsG,EAAE,GACPusG,EAAKvsG,EAAE,GACPwsG,EAAKxsG,EAAE,GACPysG,EAAKzsG,EAAE,GA8BX,OAxBA+rG,EAAQI,EAAKG,EAAKF,EAAKG,EAAK5+B,EAAK6+B,EAAKH,EAAKI,GAE/B,IACVV,GAASA,EACTO,GAAMA,EACNC,GAAMA,EACNC,GAAMA,EACNC,GAAMA,GAGJ,EAAMV,EAAQ,MAChBD,EAAQlrH,KAAK8rH,KAAKX,GAClBC,EAAQprH,KAAKywD,IAAIy6D,GACjBG,EAASrrH,KAAKywD,KAAK,EAAMpxC,GAAK6rG,GAASE,EACvCE,EAAStrH,KAAKywD,IAAIpxC,EAAI6rG,GAASE,IAE/BC,EAAS,EAAMhsG,EACfisG,EAASjsG,GAGX8E,EAAI,GAAKknG,EAASE,EAAKD,EAASI,EAChCvnG,EAAI,GAAKknG,EAASG,EAAKF,EAASK,EAChCxnG,EAAI,GAAKknG,EAASt+B,EAAKu+B,EAASM,EAChCznG,EAAI,GAAKknG,EAASI,EAAKH,EAASO,EACzB1nG,CACT,CAEA,SAAS4mG,kBAAkB5mG,EAAK4nG,GAC9B,IAAIC,EAAKD,EAAK,GACVE,EAAKF,EAAK,GACVG,EAAKH,EAAK,GACVI,EAAKJ,EAAK,GACVK,EAAUpsH,KAAKolD,MAAM,EAAI6mE,EAAKE,EAAK,EAAIH,EAAKE,EAAI,EAAI,EAAID,EAAKA,EAAK,EAAIC,EAAKA,GAC3EG,EAAWrsH,KAAKssH,KAAK,EAAIN,EAAKC,EAAK,EAAIC,EAAKC,GAC5CI,EAAOvsH,KAAKolD,MAAM,EAAI4mE,EAAKG,EAAK,EAAIF,EAAKC,EAAI,EAAI,EAAIF,EAAKA,EAAK,EAAIE,EAAKA,GAC5E/nG,EAAI,GAAKioG,EAAUhe,UACnBjqF,EAAI,GAAKkoG,EAAWje,UACpBjqF,EAAI,GAAKooG,EAAOne,SAClB,CAEA,SAAS6c,iBAAiB1tG,GACxB,IAAI6uG,EAAU7uG,EAAO,GAAK6wF,UACtBie,EAAW9uG,EAAO,GAAK6wF,UACvBme,EAAOhvG,EAAO,GAAK6wF,UACnBtwD,EAAK99C,KAAKwwD,IAAI47D,EAAU,GACxBruE,EAAK/9C,KAAKwwD,IAAI67D,EAAW,GACzBruE,EAAKh+C,KAAKwwD,IAAI+7D,EAAO,GACrB7vF,EAAK18B,KAAKywD,IAAI27D,EAAU,GACxBzvF,EAAK38B,KAAKywD,IAAI47D,EAAW,GACzBzvF,EAAK58B,KAAKywD,IAAI87D,EAAO,GAKzB,MAAO,CAHC7vF,EAAKC,EAAKqhB,EAAKF,EAAKC,EAAKnhB,EACzBF,EAAKqhB,EAAKC,EAAKF,EAAKnhB,EAAKC,EACzBkhB,EAAKnhB,EAAKqhB,EAAKthB,EAAKqhB,EAAKnhB,EAHzBkhB,EAAKC,EAAKC,EAAKthB,EAAKC,EAAKC,EAKnC,CAEA,SAAS4vF,wBACP,IAAIvD,EAAWrtH,KAAKu3G,KAAKsZ,cAAgB7wH,KAAKwtH,WAC1C1J,EAAW9jH,KAAKguH,UAAU,GAAGvqG,EAAIzjB,KAAKwtH,WACtCsD,EAAU9wH,KAAKguH,UAAUhuH,KAAKguH,UAAUrtH,OAAS,GAAG8iB,EAAIzjB,KAAKwtH,WAEjE,KAAMH,IAAartH,KAAK+wH,SAAStC,WAAazuH,KAAK+wH,SAAStC,YAAcvB,YAAcltH,KAAK+wH,SAAStC,WAAaqC,GAAWzD,GAAYyD,GAAW9wH,KAAK+wH,SAAStC,UAAY3K,GAAYuJ,EAAWvJ,IAAY,CAC5M9jH,KAAK+wH,SAAStC,WAAapB,IAC7BrtH,KAAK+wH,SAASrC,oBAAsB,EACpC1uH,KAAK+wH,SAAShqF,UAAY,GAG5B,IAAIiqF,EAAehxH,KAAKotH,iBAAiBC,EAAUrtH,KAAK+wH,UACxD/wH,KAAK0tH,GAAKsD,CACZ,CAGA,OADAhxH,KAAK+wH,SAAStC,UAAYpB,EACnBrtH,KAAK0tH,EACd,CAEA,SAASuD,UAAUtpH,GACjB,IAAIupH,EAEJ,GAAsB,mBAAlBlxH,KAAKytH,SACPyD,EAAkBvpH,EAAM3H,KAAKmxH,KAEzBhE,QAAQntH,KAAKmhB,EAAI+vG,GAAmB,OACtClxH,KAAKmhB,EAAI+vG,EACTlxH,KAAKoxH,MAAO,QAMd,IAHA,IAAIxwH,EAAI,EACJojB,EAAMhkB,KAAKmhB,EAAExgB,OAEVC,EAAIojB,GACTktG,EAAkBvpH,EAAI/G,GAAKZ,KAAKmxH,KAE5BhE,QAAQntH,KAAKmhB,EAAEvgB,GAAKswH,GAAmB,OACzClxH,KAAKmhB,EAAEvgB,GAAKswH,EACZlxH,KAAKoxH,MAAO,GAGdxwH,GAAK,CAGX,CAEA,SAASywH,yBACP,GAAIrxH,KAAKi1B,KAAK+qF,WAAWsR,UAAYtxH,KAAKsxH,SAAYtxH,KAAKuxH,gBAAgB5wH,OAI3E,GAAIX,KAAKwxH,KACPxxH,KAAKixH,UAAUjxH,KAAK0tH,QADtB,CAOA,IAAI9sH,EAFJZ,KAAKwxH,MAAO,EACZxxH,KAAKoxH,KAAOpxH,KAAKyxH,cAEjB,IAAIztG,EAAMhkB,KAAKuxH,gBAAgB5wH,OAC3B+wH,EAAa1xH,KAAK2xH,GAAK3xH,KAAK0tH,GAAK1tH,KAAKqF,KAAKlE,EAE/C,IAAKP,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8wH,EAAa1xH,KAAKuxH,gBAAgB3wH,GAAG8wH,GAGvC1xH,KAAKixH,UAAUS,GACf1xH,KAAKyxH,eAAgB,EACrBzxH,KAAKwxH,MAAO,EACZxxH,KAAKsxH,QAAUtxH,KAAKi1B,KAAK+qF,WAAWsR,OAfpC,CAgBF,CAEA,SAASM,UAAUC,GACjB7xH,KAAKuxH,gBAAgB/rH,KAAKqsH,GAC1B7xH,KAAK0wE,UAAUohD,mBAAmB9xH,KACpC,CAEA,SAAS+xH,cAAc98F,EAAM5vB,EAAM8rH,EAAMzgD,GACvC1wE,KAAKytH,SAAW,iBAChBztH,KAAKmxH,KAAOA,GAAQ,EACpBnxH,KAAKqF,KAAOA,EACZrF,KAAKmhB,EAAIgwG,EAAO9rH,EAAKlE,EAAIgwH,EAAO9rH,EAAKlE,EACrCnB,KAAK0tH,GAAKroH,EAAKlE,EACfnB,KAAKoxH,MAAO,EACZpxH,KAAKi1B,KAAOA,EACZj1B,KAAK0wE,UAAYA,EACjB1wE,KAAKu3G,KAAOtiF,EAAKsiF,KACjBv3G,KAAKmB,GAAI,EACTnB,KAAK2xH,IAAK,EACV3xH,KAAKgyH,IAAM,EACXhyH,KAAKuxH,gBAAkB,GACvBvxH,KAAKyxH,eAAgB,EACrBzxH,KAAKiyH,SAAWZ,uBAChBrxH,KAAKixH,UAAYA,UACjBjxH,KAAK4xH,UAAYA,SACnB,CAEA,SAASM,yBAAyBj9F,EAAM5vB,EAAM8rH,EAAMzgD,GAWlD,IAAI9vE,EAVJZ,KAAKytH,SAAW,mBAChBztH,KAAKmxH,KAAOA,GAAQ,EACpBnxH,KAAKqF,KAAOA,EACZrF,KAAKoxH,MAAO,EACZpxH,KAAKi1B,KAAOA,EACZj1B,KAAK0wE,UAAYA,EACjB1wE,KAAKu3G,KAAOtiF,EAAKsiF,KACjBv3G,KAAKmB,GAAI,EACTnB,KAAK2xH,IAAK,EACV3xH,KAAKsxH,SAAW,EAEhB,IAAIttG,EAAM3e,EAAKlE,EAAER,OAKjB,IAJAX,KAAKmhB,EAAIgwF,iBAAiB,UAAWntF,GACrChkB,KAAK0tH,GAAKvc,iBAAiB,UAAWntF,GACtChkB,KAAKgyH,IAAM7gB,iBAAiB,UAAWntF,GAElCpjB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKmhB,EAAEvgB,GAAKyE,EAAKlE,EAAEP,GAAKZ,KAAKmxH,KAC7BnxH,KAAK0tH,GAAG9sH,GAAKyE,EAAKlE,EAAEP,GAGtBZ,KAAKyxH,eAAgB,EACrBzxH,KAAKuxH,gBAAkB,GACvBvxH,KAAKiyH,SAAWZ,uBAChBrxH,KAAKixH,UAAYA,UACjBjxH,KAAK4xH,UAAYA,SACnB,CAEA,SAASO,uBAAuBl9F,EAAM5vB,EAAM8rH,EAAMzgD,GAChD1wE,KAAKytH,SAAW,iBAChBztH,KAAKguH,UAAY3oH,EAAKlE,EACtBnB,KAAKiuH,kBAAoB,GACzBjuH,KAAKwtH,WAAav4F,EAAK5vB,KAAK6mC,GAC5BlsC,KAAKsxH,SAAW,EAChBtxH,KAAK+wH,SAAW,CACdtC,UAAWvB,UACXnmF,UAAW,EACXh+B,MAAO,EACP2lH,oBAAqB,GAEvB1uH,KAAKmB,GAAI,EACTnB,KAAK2xH,IAAK,EACV3xH,KAAKqF,KAAOA,EACZrF,KAAKmxH,KAAOA,GAAQ,EACpBnxH,KAAKi1B,KAAOA,EACZj1B,KAAK0wE,UAAYA,EACjB1wE,KAAKu3G,KAAOtiF,EAAKsiF,KACjBv3G,KAAKmhB,EAAI+rG,UACTltH,KAAK0tH,GAAKR,UACVltH,KAAKyxH,eAAgB,EACrBzxH,KAAKiyH,SAAWZ,uBAChBrxH,KAAKixH,UAAYA,UACjBjxH,KAAKotH,iBAAmBA,iBACxBptH,KAAKuxH,gBAAkB,CAACX,sBAAsBhzE,KAAK59C,OACnDA,KAAK4xH,UAAYA,SACnB,CAEA,SAASQ,kCAAkCn9F,EAAM5vB,EAAM8rH,EAAMzgD,GAE3D,IAAI9vE,EADJZ,KAAKytH,SAAW,mBAEhB,IACIxsG,EACA2J,EACAqW,EACAkS,EAJAnvB,EAAM3e,EAAKlE,EAAER,OAMjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAM,EAAGpjB,GAAK,EACxByE,EAAKlE,EAAEP,GAAGqgC,IAAM57B,EAAKlE,EAAEP,GAAGqgB,GAAK5b,EAAKlE,EAAEP,EAAI,IAAMyE,EAAKlE,EAAEP,EAAI,GAAGqgB,IAChEA,EAAI5b,EAAKlE,EAAEP,GAAGqgB,EACd2J,EAAIvlB,EAAKlE,EAAEP,EAAI,GAAGqgB,EAClBggB,EAAK57B,EAAKlE,EAAEP,GAAGqgC,GACfkS,EAAK9tC,EAAKlE,EAAEP,GAAGuyC,IAEE,IAAblyB,EAAEtgB,SAAkBsgB,EAAE,KAAO2J,EAAE,IAAM3J,EAAE,KAAO2J,EAAE,KAAOqiG,IAAInE,cAAc7nG,EAAE,GAAIA,EAAE,GAAI2J,EAAE,GAAIA,EAAE,GAAI3J,EAAE,GAAKggB,EAAG,GAAIhgB,EAAE,GAAKggB,EAAG,KAAOgsF,IAAInE,cAAc7nG,EAAE,GAAIA,EAAE,GAAI2J,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAKuoB,EAAG,GAAIvoB,EAAE,GAAKuoB,EAAG,KAAoB,IAAblyB,EAAEtgB,SAAkBsgB,EAAE,KAAO2J,EAAE,IAAM3J,EAAE,KAAO2J,EAAE,IAAM3J,EAAE,KAAO2J,EAAE,KAAOqiG,IAAIR,cAAcxrG,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI2J,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI3J,EAAE,GAAKggB,EAAG,GAAIhgB,EAAE,GAAKggB,EAAG,GAAIhgB,EAAE,GAAKggB,EAAG,KAAOgsF,IAAIR,cAAcxrG,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI2J,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAKuoB,EAAG,GAAIvoB,EAAE,GAAKuoB,EAAG,GAAIvoB,EAAE,GAAKuoB,EAAG,OACld9tC,EAAKlE,EAAEP,GAAGqgC,GAAK,KACf57B,EAAKlE,EAAEP,GAAGuyC,GAAK,MAGblyB,EAAE,KAAO2J,EAAE,IAAM3J,EAAE,KAAO2J,EAAE,IAAgB,IAAVqW,EAAG,IAAsB,IAAVA,EAAG,IAAsB,IAAVkS,EAAG,IAAsB,IAAVA,EAAG,KACnE,IAAblyB,EAAEtgB,QAAgBsgB,EAAE,KAAO2J,EAAE,IAAgB,IAAVqW,EAAG,IAAsB,IAAVkS,EAAG,MACvD9tC,EAAKlE,EAAEP,GAAGqgC,GAAK,KACf57B,EAAKlE,EAAEP,GAAGuyC,GAAK,OAMvBnzC,KAAKuxH,gBAAkB,CAACX,sBAAsBhzE,KAAK59C,OACnDA,KAAKqF,KAAOA,EACZrF,KAAKguH,UAAY3oH,EAAKlE,EACtBnB,KAAKiuH,kBAAoB,GACzBjuH,KAAKwtH,WAAav4F,EAAK5vB,KAAK6mC,GAC5BlsC,KAAKmB,GAAI,EACTnB,KAAK2xH,IAAK,EACV3xH,KAAKyxH,eAAgB,EACrBzxH,KAAKmxH,KAAOA,GAAQ,EACpBnxH,KAAKi1B,KAAOA,EACZj1B,KAAK0wE,UAAYA,EACjB1wE,KAAKu3G,KAAOtiF,EAAKsiF,KACjBv3G,KAAKiyH,SAAWZ,uBAChBrxH,KAAKixH,UAAYA,UACjBjxH,KAAKotH,iBAAmBA,iBACxBptH,KAAKsxH,SAAW,EAChB,IAAIe,EAAShtH,EAAKlE,EAAE,GAAG8f,EAAEtgB,OAIzB,IAHAX,KAAKmhB,EAAIgwF,iBAAiB,UAAWkhB,GACrCryH,KAAK0tH,GAAKvc,iBAAiB,UAAWkhB,GAEjCzxH,EAAI,EAAGA,EAAIyxH,EAAQzxH,GAAK,EAC3BZ,KAAKmhB,EAAEvgB,GAAKssH,UACZltH,KAAK0tH,GAAG9sH,GAAKssH,UAGfltH,KAAK+wH,SAAW,CACdtC,UAAWvB,UACXnmF,UAAW,EACXh+B,MAAOooG,iBAAiB,UAAWkhB,IAErCryH,KAAK4xH,UAAYA,SACnB,CAEA,IAAIU,gBAkCO,CACPC,QAlCF,SAAiBt9F,EAAM5vB,EAAM/B,EAAM6tH,EAAMzgD,GAKvC,IAAIryD,EAEJ,GANIhZ,EAAKmtH,MACPntH,EAAO4vB,EAAK+qF,WAAWyS,YAAYF,QAAQltH,IAKxCA,EAAKlE,EAAER,OAEL,GAAyB,kBAAd0E,EAAKlE,EAAE,GACvBkd,EAAI,IAAI6zG,yBAAyBj9F,EAAM5vB,EAAM8rH,EAAMzgD,QAEnD,OAAQptE,GACN,KAAK,EACH+a,EAAI,IAAI8zG,uBAAuBl9F,EAAM5vB,EAAM8rH,EAAMzgD,GACjD,MAEF,KAAK,EACHryD,EAAI,IAAI+zG,kCAAkCn9F,EAAM5vB,EAAM8rH,EAAMzgD,QAVhEryD,EAAI,IAAI0zG,cAAc98F,EAAM5vB,EAAM8rH,EAAMzgD,GAsB1C,OAJIryD,EAAEkzG,gBAAgB5wH,QACpB+vE,EAAUohD,mBAAmBzzG,GAGxBA,CACT,GAQF,SAASq0G,2BAA4B,CAErCA,yBAAyBxyH,UAAY,CACnC4xH,mBAAoB,SAA4B12F,IACA,IAA1Cp7B,KAAK2yH,kBAAkB/qH,QAAQwzB,KACjCp7B,KAAK2yH,kBAAkBntH,KAAK41B,GAC5Bp7B,KAAK0wE,UAAUohD,mBAAmB9xH,MAClCA,KAAK4yH,aAAc,EAEvB,EACAC,yBAA0B,WAExB,IAAIjyH,EADJZ,KAAKoxH,MAAO,EAEZ,IAAIptG,EAAMhkB,KAAK2yH,kBAAkBhyH,OAEjC,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK2yH,kBAAkB/xH,GAAGqxH,WAEtBjyH,KAAK2yH,kBAAkB/xH,GAAGwwH,OAC5BpxH,KAAKoxH,MAAO,EAGlB,EACA0B,6BAA8B,SAAsCpiD,GAClE1wE,KAAK0wE,UAAYA,EACjB1wE,KAAK2yH,kBAAoB,GACzB3yH,KAAKoxH,MAAO,EACZpxH,KAAK4yH,aAAc,CACrB,GAGF,IAAIG,UAKKjL,YAAY,GAJnB,WACE,OAAO3W,iBAAiB,UAAW,EACrC,IAKF,SAAS6hB,YACPhzH,KAAKmC,GAAI,EACTnC,KAAKkoH,QAAU,EACfloH,KAAKmoH,WAAa,EAClBnoH,KAAKmhB,EAAIkwF,iBAAiBrxG,KAAKmoH,YAC/BnoH,KAAK2+B,EAAI0yE,iBAAiBrxG,KAAKmoH,YAC/BnoH,KAAKY,EAAIywG,iBAAiBrxG,KAAKmoH,WACjC,CAEA6K,UAAU9yH,UAAU+yH,YAAc,SAAUna,EAAQ90F,GAClDhkB,KAAKmC,EAAI22G,EACT94G,KAAKkzH,UAAUlvG,GAGf,IAFA,IAAIpjB,EAAI,EAEDA,EAAIojB,GACThkB,KAAKmhB,EAAEvgB,GAAKmyH,UAAU3K,aACtBpoH,KAAK2+B,EAAE/9B,GAAKmyH,UAAU3K,aACtBpoH,KAAKY,EAAEA,GAAKmyH,UAAU3K,aACtBxnH,GAAK,CAET,EAEAoyH,UAAU9yH,UAAUgzH,UAAY,SAAUlvG,GACxC,KAAOhkB,KAAKmoH,WAAankG,GACvBhkB,KAAKmzH,oBAGPnzH,KAAKkoH,QAAUlkG,CACjB,EAEAgvG,UAAU9yH,UAAUizH,kBAAoB,WACtCnzH,KAAKmhB,EAAInhB,KAAKmhB,EAAEjU,OAAOmkG,iBAAiBrxG,KAAKmoH,aAC7CnoH,KAAKY,EAAIZ,KAAKY,EAAEsM,OAAOmkG,iBAAiBrxG,KAAKmoH,aAC7CnoH,KAAK2+B,EAAI3+B,KAAK2+B,EAAEzxB,OAAOmkG,iBAAiBrxG,KAAKmoH,aAC7CnoH,KAAKmoH,YAAc,CACrB,EAEA6K,UAAU9yH,UAAUkzH,QAAU,SAAU1lH,EAAGC,EAAGrK,EAAM8K,EAAK3B,GACvD,IAAI/E,EAOJ,OANA1H,KAAKkoH,QAAU9jH,KAAKhB,IAAIpD,KAAKkoH,QAAS95G,EAAM,GAExCpO,KAAKkoH,SAAWloH,KAAKmoH,YACvBnoH,KAAKmzH,oBAGC7vH,GACN,IAAK,IACHoE,EAAM1H,KAAKmhB,EACX,MAEF,IAAK,IACHzZ,EAAM1H,KAAKY,EACX,MAEF,IAAK,IACH8G,EAAM1H,KAAK2+B,EACX,MAEF,QACEj3B,EAAM,KAILA,EAAI0G,IAAQ1G,EAAI0G,KAAS3B,KAC5B/E,EAAI0G,GAAO2kH,UAAU3K,cAGvB1gH,EAAI0G,GAAK,GAAKV,EACdhG,EAAI0G,GAAK,GAAKT,CAChB,EAEAqlH,UAAU9yH,UAAUmzH,YAAc,SAAUC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIvlH,EAAK3B,GACvEzM,KAAKozH,QAAQE,EAAIC,EAAI,IAAKnlH,EAAK3B,GAC/BzM,KAAKozH,QAAQI,EAAIC,EAAI,IAAKrlH,EAAK3B,GAC/BzM,KAAKozH,QAAQM,EAAIC,EAAI,IAAKvlH,EAAK3B,EACjC,EAEAumH,UAAU9yH,UAAUye,QAAU,WAC5B,IAAIi1G,EAAU,IAAIZ,UAClBY,EAAQX,YAAYjzH,KAAKmC,EAAGnC,KAAKkoH,SACjC,IAAI2L,EAAW7zH,KAAKmhB,EAChB2yG,EAAY9zH,KAAK2+B,EACjBo1F,EAAW/zH,KAAKY,EAChBsiH,EAAO,EAEPljH,KAAKmC,IACPyxH,EAAQP,YAAYQ,EAAS,GAAG,GAAIA,EAAS,GAAG,GAAIE,EAAS,GAAG,GAAIA,EAAS,GAAG,GAAID,EAAU,GAAG,GAAIA,EAAU,GAAG,GAAI,GAAG,GACzH5Q,EAAO,GAGT,IAEItiH,EAFAwiB,EAAMpjB,KAAKkoH,QAAU,EACrBlkG,EAAMhkB,KAAKkoH,QAGf,IAAKtnH,EAAIsiH,EAAMtiH,EAAIojB,EAAKpjB,GAAK,EAC3BgzH,EAAQP,YAAYQ,EAASzwG,GAAK,GAAIywG,EAASzwG,GAAK,GAAI2wG,EAAS3wG,GAAK,GAAI2wG,EAAS3wG,GAAK,GAAI0wG,EAAU1wG,GAAK,GAAI0wG,EAAU1wG,GAAK,GAAIxiB,GAAG,GACrIwiB,GAAO,EAGT,OAAOwwG,CACT,EAEAZ,UAAU9yH,UAAUS,OAAS,WAC3B,OAAOX,KAAKkoH,OACd,EAEA,IAAI8L,UAAY,WAoCd,IAAIjsG,EAAU+/F,YAAY,GAnC1B,WACE,OAAO,IAAIkL,SACb,IAEA,SAAiBiB,GACf,IACIrzH,EADAojB,EAAMiwG,EAAU/L,QAGpB,IAAKtnH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBmyH,UAAU1K,QAAQ4L,EAAU9yG,EAAEvgB,IAC9BmyH,UAAU1K,QAAQ4L,EAAUrzH,EAAEA,IAC9BmyH,UAAU1K,QAAQ4L,EAAUt1F,EAAE/9B,IAC9BqzH,EAAU9yG,EAAEvgB,GAAK,KACjBqzH,EAAUrzH,EAAEA,GAAK,KACjBqzH,EAAUt1F,EAAE/9B,GAAK,KAGnBqzH,EAAU/L,QAAU,EACpB+L,EAAU9xH,GAAI,CAChB,IAkBA,OADA4lB,EAAQ0iC,MAfR,SAAeypE,GACb,IACItzH,EADAuzH,EAASpsG,EAAQqgG,aAEjBpkG,OAAwB/gB,IAAlBixH,EAAMhM,QAAwBgM,EAAM/yG,EAAExgB,OAASuzH,EAAMhM,QAI/D,IAHAiM,EAAOjB,UAAUlvG,GACjBmwG,EAAOhyH,EAAI+xH,EAAM/xH,EAEZvB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBuzH,EAAOd,YAAYa,EAAM/yG,EAAEvgB,GAAG,GAAIszH,EAAM/yG,EAAEvgB,GAAG,GAAIszH,EAAMv1F,EAAE/9B,GAAG,GAAIszH,EAAMv1F,EAAE/9B,GAAG,GAAIszH,EAAMtzH,EAAEA,GAAG,GAAIszH,EAAMtzH,EAAEA,GAAG,GAAIA,GAG/G,OAAOuzH,CACT,EAIOpsG,CACT,CAvCgB,GAyChB,SAASqsG,kBACPp0H,KAAKkoH,QAAU,EACfloH,KAAKmoH,WAAa,EAClBnoH,KAAKq3G,OAAShG,iBAAiBrxG,KAAKmoH,WACtC,CAEAiM,gBAAgBl0H,UAAUm0H,SAAW,SAAU1J,GACzC3qH,KAAKkoH,UAAYloH,KAAKmoH,aACxBnoH,KAAKq3G,OAASr3G,KAAKq3G,OAAOnqG,OAAOmkG,iBAAiBrxG,KAAKmoH,aACvDnoH,KAAKmoH,YAAc,GAGrBnoH,KAAKq3G,OAAOr3G,KAAKkoH,SAAWyC,EAC5B3qH,KAAKkoH,SAAW,CAClB,EAEAkM,gBAAgBl0H,UAAUo0H,cAAgB,WACxC,IAAI1zH,EAEJ,IAAKA,EAAI,EAAGA,EAAIZ,KAAKkoH,QAAStnH,GAAK,EACjCozH,UAAU3L,QAAQroH,KAAKq3G,OAAOz2G,IAGhCZ,KAAKkoH,QAAU,CACjB,EAEA,IAAIqM,oBAAsB,WACxB,IAAIl4C,EAAK,CACPm4C,mBAOF,WAUE,OAPItM,EAEgBnlH,EADlBmlH,GAAW,GAGO,IAAIkM,eAI1B,EAjBE/L,QAmBF,SAAiBoM,GACf,IAAI7zH,EACAojB,EAAMywG,EAAgBvM,QAE1B,IAAKtnH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBozH,UAAU3L,QAAQoM,EAAgBpd,OAAOz2G,IAG3C6zH,EAAgBvM,QAAU,EAEtBA,IAAYC,IACdplH,EAAO8kH,QAAgB,OAAE9kH,GACzBolH,GAAc,GAGhBplH,EAAKmlH,GAAWuM,EAChBvM,GAAW,CACb,GAlCIA,EAAU,EACVC,EAAa,EACbplH,EAAOsuG,iBAAiB8W,GAkC5B,OAAO9rC,CACT,CA1C0B,GA4CtBq4C,qBAAuB,WACzB,IAAIxH,GAAa,OAEjB,SAASyH,EAAiBtH,EAAUuH,EAAetH,GACjD,IACIuH,EACAC,EACAC,EACA9zH,EACAE,EACAw1G,EACAC,EACA0S,EACA0L,EATAjH,EAAiBT,EAAQvmF,UAUzB4qF,EAAK3xH,KAAKguH,UAEd,GAAIX,EAAWsE,EAAG,GAAGluG,EAAIzjB,KAAKwtH,WAC5BqH,EAAWlD,EAAG,GAAG1wG,EAAE,GACnB8zG,GAAS,EACThH,EAAiB,OACZ,GAAIV,GAAYsE,EAAGA,EAAGhxH,OAAS,GAAG8iB,EAAIzjB,KAAKwtH,WAChDqH,EAAWlD,EAAGA,EAAGhxH,OAAS,GAAGsgB,EAAI0wG,EAAGA,EAAGhxH,OAAS,GAAGsgB,EAAE,GAAK0wG,EAAGA,EAAGhxH,OAAS,GAAGiqB,EAAE,GAO9EmqG,GAAS,MACJ,CAQL,IAPA,IAGIpH,EACAC,EACAC,EALAjtH,EAAImtH,EACJ/pG,EAAM2tG,EAAGhxH,OAAS,EAClBo4E,GAAO,EAKJA,IACL40C,EAAUgE,EAAG/wH,MACbgtH,EAAc+D,EAAG/wH,EAAI,IAEL6iB,EAAIzjB,KAAKwtH,WAAaH,KAIlCzsH,EAAIojB,EAAM,EACZpjB,GAAK,EAELm4E,GAAO,EAQX,GAJA80C,EAAmB7tH,KAAKiuH,kBAAkBrtH,IAAM,CAAC,EAEjDmtH,EAAiBntH,IADjBm0H,EAAuB,IAAdpH,EAAQpiG,GAGJ,CACX,GAAI8hG,GAAYO,EAAYnqG,EAAIzjB,KAAKwtH,WACnClE,EAAO,OACF,GAAI+D,EAAWM,EAAQlqG,EAAIzjB,KAAKwtH,WACrClE,EAAO,MACF,CACL,IAAIwE,EAEAD,EAAiBQ,OACnBP,EAAMD,EAAiBQ,QAEvBP,EAAMvI,cAAc+I,gBAAgBX,EAAQhvF,EAAEjxB,EAAGigH,EAAQhvF,EAAEhxB,EAAGggH,EAAQ/sH,EAAE8M,EAAGigH,EAAQ/sH,EAAE+M,GAAGpK,IACxFsqH,EAAiBQ,OAASP,GAG5BxE,EAAOwE,GAAKT,GAAYM,EAAQlqG,EAAIzjB,KAAKwtH,cAAgBI,EAAYnqG,EAAIzjB,KAAKwtH,YAAcG,EAAQlqG,EAAIzjB,KAAKwtH,aAC/G,CAEAsH,EAAWlH,EAAY3sG,EAAI2sG,EAAY3sG,EAAE,GAAK0sG,EAAQ/iG,EAAE,EAC1D,CAEAiqG,EAAWlH,EAAQ1sG,EAAE,EACvB,CAMA,IAJA01F,EAAOie,EAAc1M,QACrBtR,EAAOie,EAASj0H,EAAE,GAAGD,OACrB2sH,EAAQvmF,UAAYgnF,EAEf9sH,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzB,IAAKE,EAAI,EAAGA,EAAIy1G,EAAMz1G,GAAK,EACzB6zH,EAAcD,EAASF,EAASj0H,EAAEK,GAAGE,GAAK0zH,EAASj0H,EAAEK,GAAGE,IAAM2zH,EAASl0H,EAAEK,GAAGE,GAAK0zH,EAASj0H,EAAEK,GAAGE,IAAMmoH,EACrGsL,EAAch0H,EAAEK,GAAGE,GAAK6zH,EACxBA,EAAcD,EAASF,EAASl2F,EAAE19B,GAAGE,GAAK0zH,EAASl2F,EAAE19B,GAAGE,IAAM2zH,EAASn2F,EAAE19B,GAAGE,GAAK0zH,EAASl2F,EAAE19B,GAAGE,IAAMmoH,EACrGsL,EAAcj2F,EAAE19B,GAAGE,GAAK6zH,EACxBA,EAAcD,EAASF,EAAS1zG,EAAElgB,GAAGE,GAAK0zH,EAAS1zG,EAAElgB,GAAGE,IAAM2zH,EAAS3zG,EAAElgB,GAAGE,GAAK0zH,EAAS1zG,EAAElgB,GAAGE,IAAMmoH,EACrGsL,EAAczzG,EAAElgB,GAAGE,GAAK6zH,CAG9B,CAEA,SAASC,IACP,IAAI5H,EAAWrtH,KAAKu3G,KAAKsZ,cAAgB7wH,KAAKwtH,WAC1C1J,EAAW9jH,KAAKguH,UAAU,GAAGvqG,EAAIzjB,KAAKwtH,WACtCsD,EAAU9wH,KAAKguH,UAAUhuH,KAAKguH,UAAUrtH,OAAS,GAAG8iB,EAAIzjB,KAAKwtH,WAC7DiB,EAAYzuH,KAAK+wH,SAAStC,UAS9B,OAPMA,IAAcvB,IAAcuB,EAAY3K,GAAYuJ,EAAWvJ,GAAY2K,EAAYqC,GAAWzD,EAAWyD,KAEjH9wH,KAAK+wH,SAAShqF,UAAY0nF,EAAYpB,EAAWrtH,KAAK+wH,SAAShqF,UAAY,EAC3E/mC,KAAK20H,iBAAiBtH,EAAUrtH,KAAK0tH,GAAI1tH,KAAK+wH,WAGhD/wH,KAAK+wH,SAAStC,UAAYpB,EACnBrtH,KAAK0tH,EACd,CAEA,SAASwH,IACPl1H,KAAKm1H,MAAQn1H,KAAKo1H,oBACpB,CAmBA,SAASnE,EAAU2C,IAjBnB,SAAqByB,EAAQC,GAC3B,GAAID,EAAOnN,UAAYoN,EAAOpN,SAAWmN,EAAOlzH,IAAMmzH,EAAOnzH,EAC3D,OAAO,EAGT,IAAIvB,EACAojB,EAAMqxG,EAAOnN,QAEjB,IAAKtnH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,GAAIy0H,EAAOl0G,EAAEvgB,GAAG,KAAO00H,EAAOn0G,EAAEvgB,GAAG,IAAMy0H,EAAOl0G,EAAEvgB,GAAG,KAAO00H,EAAOn0G,EAAEvgB,GAAG,IAAMy0H,EAAO12F,EAAE/9B,GAAG,KAAO00H,EAAO32F,EAAE/9B,GAAG,IAAMy0H,EAAO12F,EAAE/9B,GAAG,KAAO00H,EAAO32F,EAAE/9B,GAAG,IAAMy0H,EAAOz0H,EAAEA,GAAG,KAAO00H,EAAO10H,EAAEA,GAAG,IAAMy0H,EAAOz0H,EAAEA,GAAG,KAAO00H,EAAO10H,EAAEA,GAAG,GAC1N,OAAO,EAIX,OAAO,CACT,EAGO20H,CAAYv1H,KAAKmhB,EAAGyyG,KACvB5zH,KAAKmhB,EAAI6yG,UAAUvpE,MAAMmpE,GACzB5zH,KAAKo1H,qBAAqBd,gBAC1Bt0H,KAAKo1H,qBAAqBf,SAASr0H,KAAKmhB,GACxCnhB,KAAKoxH,MAAO,EACZpxH,KAAKm1H,MAAQn1H,KAAKo1H,qBAEtB,CAEA,SAAS/D,IACP,GAAIrxH,KAAKi1B,KAAK+qF,WAAWsR,UAAYtxH,KAAKsxH,QAI1C,GAAKtxH,KAAKuxH,gBAAgB5wH,OAK1B,GAAIX,KAAKwxH,KACPxxH,KAAKixH,UAAUjxH,KAAK0tH,QADtB,CAOA,IAAIgE,EAUA9wH,EAZJZ,KAAKwxH,MAAO,EACZxxH,KAAKoxH,MAAO,EAIVM,EADE1xH,KAAK2xH,GACM3xH,KAAK0tH,GACT1tH,KAAKqF,KAAKgtF,GACNryF,KAAKqF,KAAKgtF,GAAGlxF,EAEbnB,KAAKqF,KAAKihD,GAAGnlD,EAI5B,IAAI6iB,EAAMhkB,KAAKuxH,gBAAgB5wH,OAE/B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8wH,EAAa1xH,KAAKuxH,gBAAgB3wH,GAAG8wH,GAGvC1xH,KAAKixH,UAAUS,GACf1xH,KAAKwxH,MAAO,EACZxxH,KAAKsxH,QAAUtxH,KAAKi1B,KAAK+qF,WAAWsR,OAvBpC,MAPEtxH,KAAKoxH,MAAO,CA+BhB,CAEA,SAASoE,EAAcvgG,EAAM5vB,EAAM/B,GACjCtD,KAAKytH,SAAW,QAChBztH,KAAKu3G,KAAOtiF,EAAKsiF,KACjBv3G,KAAK0wE,UAAYz7C,EACjBj1B,KAAKi1B,KAAOA,EACZj1B,KAAKqF,KAAOA,EACZrF,KAAKmB,GAAI,EACTnB,KAAK2xH,IAAK,EACV3xH,KAAKoxH,MAAO,EACZ,IAAI3Y,EAAoB,IAATn1G,EAAa+B,EAAKihD,GAAGnlD,EAAIkE,EAAKgtF,GAAGlxF,EAChDnB,KAAKmhB,EAAI6yG,UAAUvpE,MAAMguD,GACzBz4G,KAAK0tH,GAAKsG,UAAUvpE,MAAMzqD,KAAKmhB,GAC/BnhB,KAAKo1H,qBAAuBb,oBAAoBC,qBAChDx0H,KAAKm1H,MAAQn1H,KAAKo1H,qBAClBp1H,KAAKm1H,MAAMd,SAASr0H,KAAKmhB,GACzBnhB,KAAKy1H,MAAQP,EACbl1H,KAAKuxH,gBAAkB,EACzB,CAEA,SAASK,EAAUC,GACjB7xH,KAAKuxH,gBAAgB/rH,KAAKqsH,GAC1B7xH,KAAK0wE,UAAUohD,mBAAmB9xH,KACpC,CAOA,SAAS01H,EAAuBzgG,EAAM5vB,EAAM/B,GAC1CtD,KAAKytH,SAAW,QAChBztH,KAAKu3G,KAAOtiF,EAAKsiF,KACjBv3G,KAAKi1B,KAAOA,EACZj1B,KAAK0wE,UAAYz7C,EACjBj1B,KAAKwtH,WAAav4F,EAAK5vB,KAAK6mC,GAC5BlsC,KAAKguH,UAAqB,IAAT1qH,EAAa+B,EAAKihD,GAAGnlD,EAAIkE,EAAKgtF,GAAGlxF,EAClDnB,KAAKiuH,kBAAoB,GACzBjuH,KAAKmB,GAAI,EACTnB,KAAK2xH,IAAK,EACV,IAAI3tG,EAAMhkB,KAAKguH,UAAU,GAAG/sG,EAAE,GAAGrgB,EAAED,OACnCX,KAAKmhB,EAAI6yG,UAAU5L,aACnBpoH,KAAKmhB,EAAE8xG,YAAYjzH,KAAKguH,UAAU,GAAG/sG,EAAE,GAAG9e,EAAG6hB,GAC7ChkB,KAAK0tH,GAAKsG,UAAUvpE,MAAMzqD,KAAKmhB,GAC/BnhB,KAAKo1H,qBAAuBb,oBAAoBC,qBAChDx0H,KAAKm1H,MAAQn1H,KAAKo1H,qBAClBp1H,KAAKm1H,MAAMd,SAASr0H,KAAKmhB,GACzBnhB,KAAKyuH,UAAYvB,EACjBltH,KAAKy1H,MAAQP,EACbl1H,KAAK+wH,SAAW,CACdtC,UAAWvB,EACXnmF,UAAW,GAEb/mC,KAAKuxH,gBAAkB,CAAC0D,EAA4Br3E,KAAK59C,MAC3D,CA7BAw1H,EAAct1H,UAAUy0H,iBAAmBA,EAC3Ca,EAAct1H,UAAU+xH,SAAWZ,EACnCmE,EAAct1H,UAAU+wH,UAAYA,EACpCuE,EAAct1H,UAAU0xH,UAAYA,EA4BpC8D,EAAuBx1H,UAAU+xH,SAAWZ,EAC5CqE,EAAuBx1H,UAAUy0H,iBAAmBA,EACpDe,EAAuBx1H,UAAU+wH,UAAYA,EAC7CyE,EAAuBx1H,UAAU0xH,UAAYA,EAE7C,IAAI+D,EAAmB,WACrB,IAAIC,EAASnjB,YAEb,SAASojB,EAAwB5gG,EAAM5vB,GACrCrF,KAAKmhB,EAAI6yG,UAAU5L,aACnBpoH,KAAKmhB,EAAE8xG,aAAY,EAAM,GACzBjzH,KAAKo1H,qBAAuBb,oBAAoBC,qBAChDx0H,KAAKm1H,MAAQn1H,KAAKo1H,qBAClBp1H,KAAKo1H,qBAAqBf,SAASr0H,KAAKmhB,GACxCnhB,KAAK2jB,EAAIte,EAAKse,EACd3jB,KAAKi1B,KAAOA,EACZj1B,KAAKu3G,KAAOtiF,EAAKsiF,KACjBv3G,KAAKsxH,SAAW,EAChBtxH,KAAK8yH,6BAA6B79F,GAClCj1B,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgZ,EAAG,EAAG,EAAGre,MACrDA,KAAKihB,EAAIqxG,gBAAgBC,QAAQt9F,EAAM5vB,EAAK4b,EAAG,EAAG,EAAGjhB,MAEjDA,KAAK2yH,kBAAkBhyH,OACzBX,KAAKmB,GAAI,GAETnB,KAAKmB,GAAI,EACTnB,KAAK81H,mBAET,CAoDA,OAlDAD,EAAwB31H,UAAY,CAClCu1H,MAAOP,EACPjD,SAAU,WACJjyH,KAAKi1B,KAAK+qF,WAAWsR,UAAYtxH,KAAKsxH,UAI1CtxH,KAAKsxH,QAAUtxH,KAAKi1B,KAAK+qF,WAAWsR,QACpCtxH,KAAK6yH,2BAED7yH,KAAKoxH,MACPpxH,KAAK81H,mBAET,EACAA,iBAAkB,WAChB,IAAIC,EAAK/1H,KAAKqe,EAAE8C,EAAE,GACd60G,EAAKh2H,KAAKqe,EAAE8C,EAAE,GACd80G,EAAKj2H,KAAKihB,EAAEE,EAAE,GAAK,EACnB2f,EAAK9gC,KAAKihB,EAAEE,EAAE,GAAK,EAEnB+0G,EAAiB,IAAXl2H,KAAK2jB,EAEXwyG,EAAKn2H,KAAKmhB,EACdg1G,EAAGh1G,EAAE,GAAG,GAAK40G,EACbI,EAAGh1G,EAAE,GAAG,GAAK60G,EAAKl1F,EAClBq1F,EAAGh1G,EAAE,GAAG,GAAK+0G,EAAMH,EAAKE,EAAKF,EAAKE,EAClCE,EAAGh1G,EAAE,GAAG,GAAK60G,EACbG,EAAGh1G,EAAE,GAAG,GAAK40G,EACbI,EAAGh1G,EAAE,GAAG,GAAK60G,EAAKl1F,EAClBq1F,EAAGh1G,EAAE,GAAG,GAAK+0G,EAAMH,EAAKE,EAAKF,EAAKE,EAClCE,EAAGh1G,EAAE,GAAG,GAAK60G,EACbG,EAAGv1H,EAAE,GAAG,GAAKs1H,EAAMH,EAAKE,EAAKL,EAASG,EAAKE,EAAKL,EAChDO,EAAGv1H,EAAE,GAAG,GAAKo1H,EAAKl1F,EAClBq1F,EAAGv1H,EAAE,GAAG,GAAKs1H,EAAMH,EAAKE,EAAKF,EAAKE,EAClCE,EAAGv1H,EAAE,GAAG,GAAKo1H,EAAKl1F,EAAK80F,EACvBO,EAAGv1H,EAAE,GAAG,GAAKs1H,EAAMH,EAAKE,EAAKL,EAASG,EAAKE,EAAKL,EAChDO,EAAGv1H,EAAE,GAAG,GAAKo1H,EAAKl1F,EAClBq1F,EAAGv1H,EAAE,GAAG,GAAKs1H,EAAMH,EAAKE,EAAKF,EAAKE,EAClCE,EAAGv1H,EAAE,GAAG,GAAKo1H,EAAKl1F,EAAK80F,EACvBO,EAAGx3F,EAAE,GAAG,GAAKu3F,EAAMH,EAAKE,EAAKL,EAASG,EAAKE,EAAKL,EAChDO,EAAGx3F,EAAE,GAAG,GAAKq3F,EAAKl1F,EAClBq1F,EAAGx3F,EAAE,GAAG,GAAKu3F,EAAMH,EAAKE,EAAKF,EAAKE,EAClCE,EAAGx3F,EAAE,GAAG,GAAKq3F,EAAKl1F,EAAK80F,EACvBO,EAAGx3F,EAAE,GAAG,GAAKu3F,EAAMH,EAAKE,EAAKL,EAASG,EAAKE,EAAKL,EAChDO,EAAGx3F,EAAE,GAAG,GAAKq3F,EAAKl1F,EAClBq1F,EAAGx3F,EAAE,GAAG,GAAKu3F,EAAMH,EAAKE,EAAKF,EAAKE,EAClCE,EAAGx3F,EAAE,GAAG,GAAKq3F,EAAKl1F,EAAK80F,CACzB,GAEF1mB,gBAAgB,CAACwjB,0BAA2BmD,GACrCA,CACT,CA5EuB,GA8EnBO,EAAoB,WACtB,SAASC,EAAyBphG,EAAM5vB,GACtCrF,KAAKmhB,EAAI6yG,UAAU5L,aACnBpoH,KAAKmhB,EAAE8xG,aAAY,EAAM,GACzBjzH,KAAKi1B,KAAOA,EACZj1B,KAAKu3G,KAAOtiF,EAAKsiF,KACjBv3G,KAAKqF,KAAOA,EACZrF,KAAKsxH,SAAW,EAChBtxH,KAAK2jB,EAAIte,EAAKse,EACd3jB,KAAK8yH,6BAA6B79F,GAElB,IAAZ5vB,EAAKukD,IACP5pD,KAAK82D,GAAKw7D,gBAAgBC,QAAQt9F,EAAM5vB,EAAKyxD,GAAI,EAAG,EAAG92D,MACvDA,KAAKmyF,GAAKmgC,gBAAgBC,QAAQt9F,EAAM5vB,EAAK8sF,GAAI,EAAG,IAAMnyF,MAC1DA,KAAKs2H,cAAgBt2H,KAAKu2H,mBAE1Bv2H,KAAKs2H,cAAgBt2H,KAAKw2H,qBAG5Bx2H,KAAKsmD,GAAKgsE,gBAAgBC,QAAQt9F,EAAM5vB,EAAKihD,GAAI,EAAG,EAAGtmD,MACvDA,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgZ,EAAG,EAAG,EAAGre,MACrDA,KAAKqR,EAAIihH,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgM,EAAG,EAAGmhG,UAAWxyG,MAC7DA,KAAK+2D,GAAKu7D,gBAAgBC,QAAQt9F,EAAM5vB,EAAK0xD,GAAI,EAAG,EAAG/2D,MACvDA,KAAKy2H,GAAKnE,gBAAgBC,QAAQt9F,EAAM5vB,EAAKoxH,GAAI,EAAG,IAAMz2H,MAC1DA,KAAKo1H,qBAAuBb,oBAAoBC,qBAChDx0H,KAAKo1H,qBAAqBf,SAASr0H,KAAKmhB,GACxCnhB,KAAKm1H,MAAQn1H,KAAKo1H,qBAEdp1H,KAAK2yH,kBAAkBhyH,OACzBX,KAAKmB,GAAI,GAETnB,KAAKmB,GAAI,EACTnB,KAAKs2H,gBAET,CAuFA,OArFAD,EAAyBn2H,UAAY,CACnCu1H,MAAOP,EACPjD,SAAU,WACJjyH,KAAKi1B,KAAK+qF,WAAWsR,UAAYtxH,KAAKsxH,UAI1CtxH,KAAKsxH,QAAUtxH,KAAKi1B,KAAK+qF,WAAWsR,QACpCtxH,KAAK6yH,2BAED7yH,KAAKoxH,MACPpxH,KAAKs2H,gBAET,EACAC,kBAAmB,WACjB,IAaI31H,EACA81H,EACAC,EACAC,EAhBAC,EAAiC,EAAxBzyH,KAAKK,MAAMzE,KAAKsmD,GAAGnlC,GAC5B+yC,EAAkB,EAAV9vD,KAAKswD,GAASmiE,EAKtBC,GAAW,EACXC,EAAU/2H,KAAK+2D,GAAG51C,EAClB61G,EAAWh3H,KAAK82D,GAAG31C,EACnB81G,EAAYj3H,KAAKy2H,GAAGt1G,EACpB+1G,EAAal3H,KAAKmyF,GAAGhxE,EACrBg2G,EAAmB,EAAI/yH,KAAKswD,GAAKqiE,GAAoB,EAATF,GAC5CO,EAAoB,EAAIhzH,KAAKswD,GAAKsiE,GAAqB,EAATH,GAK9CQ,GAAcjzH,KAAKswD,GAAK,EAC5B2iE,GAAcr3H,KAAKqR,EAAE8P,EACrB,IAAIqpG,EAAsB,IAAhBxqH,KAAKqF,KAAKse,GAAW,EAAI,EAGnC,IAFA3jB,KAAKmhB,EAAE+mG,QAAU,EAEZtnH,EAAI,EAAGA,EAAIi2H,EAAQj2H,GAAK,EAAG,CAE9B+1H,EAAYG,EAAWG,EAAYC,EACnCN,EAAeE,EAAWK,EAAmBC,EAC7C,IAAI1pH,GAHJgpH,EAAMI,EAAWC,EAAUC,GAGb5yH,KAAKwwD,IAAIyiE,GACnB1pH,EAAI+oH,EAAMtyH,KAAKywD,IAAIwiE,GACnBC,EAAW,IAAN5pH,GAAiB,IAANC,EAAU,EAAIA,EAAIvJ,KAAKyB,KAAK6H,EAAIA,EAAIC,EAAIA,GACxD4pH,EAAW,IAAN7pH,GAAiB,IAANC,EAAU,GAAKD,EAAItJ,KAAKyB,KAAK6H,EAAIA,EAAIC,EAAIA,GAC7DD,IAAM1N,KAAKqe,EAAE8C,EAAE,GACfxT,IAAM3N,KAAKqe,EAAE8C,EAAE,GACfnhB,KAAKmhB,EAAEkyG,YAAY3lH,EAAGC,EAAGD,EAAI4pH,EAAKV,EAAeD,EAAYnM,EAAK78G,EAAI4pH,EAAKX,EAAeD,EAAYnM,EAAK98G,EAAI4pH,EAAKV,EAAeD,EAAYnM,EAAK78G,EAAI4pH,EAAKX,EAAeD,EAAYnM,EAAK5pH,GAAG,GAMhMk2H,GAAYA,EACZO,GAAcnjE,EAAQs2D,CACxB,CACF,EACAgM,qBAAsB,WACpB,IAKI51H,EALAi2H,EAASzyH,KAAKK,MAAMzE,KAAKsmD,GAAGnlC,GAC5B+yC,EAAkB,EAAV9vD,KAAKswD,GAASmiE,EACtBH,EAAM12H,KAAK+2D,GAAG51C,EACdw1G,EAAY32H,KAAKy2H,GAAGt1G,EACpBy1G,EAAe,EAAIxyH,KAAKswD,GAAKgiE,GAAgB,EAATG,GAEpCQ,EAAwB,IAAVjzH,KAAKswD,GACnB81D,EAAsB,IAAhBxqH,KAAKqF,KAAKse,GAAW,EAAI,EAInC,IAHA0zG,GAAcr3H,KAAKqR,EAAE8P,EACrBnhB,KAAKmhB,EAAE+mG,QAAU,EAEZtnH,EAAI,EAAGA,EAAIi2H,EAAQj2H,GAAK,EAAG,CAC9B,IAAI8M,EAAIgpH,EAAMtyH,KAAKwwD,IAAIyiE,GACnB1pH,EAAI+oH,EAAMtyH,KAAKywD,IAAIwiE,GACnBC,EAAW,IAAN5pH,GAAiB,IAANC,EAAU,EAAIA,EAAIvJ,KAAKyB,KAAK6H,EAAIA,EAAIC,EAAIA,GACxD4pH,EAAW,IAAN7pH,GAAiB,IAANC,EAAU,GAAKD,EAAItJ,KAAKyB,KAAK6H,EAAIA,EAAIC,EAAIA,GAC7DD,IAAM1N,KAAKqe,EAAE8C,EAAE,GACfxT,IAAM3N,KAAKqe,EAAE8C,EAAE,GACfnhB,KAAKmhB,EAAEkyG,YAAY3lH,EAAGC,EAAGD,EAAI4pH,EAAKV,EAAeD,EAAYnM,EAAK78G,EAAI4pH,EAAKX,EAAeD,EAAYnM,EAAK98G,EAAI4pH,EAAKV,EAAeD,EAAYnM,EAAK78G,EAAI4pH,EAAKX,EAAeD,EAAYnM,EAAK5pH,GAAG,GAChMy2H,GAAcnjE,EAAQs2D,CACxB,CAEAxqH,KAAKm1H,MAAMx0H,OAAS,EACpBX,KAAKm1H,MAAM,GAAKn1H,KAAKmhB,CACvB,GAEF+tF,gBAAgB,CAACwjB,0BAA2B2D,GACrCA,CACT,CA1HwB,GA4HpBmB,EAAoB,WACtB,SAASC,EAAyBxiG,EAAM5vB,GACtCrF,KAAKmhB,EAAI6yG,UAAU5L,aACnBpoH,KAAKmhB,EAAEhf,GAAI,EACXnC,KAAKo1H,qBAAuBb,oBAAoBC,qBAChDx0H,KAAKo1H,qBAAqBf,SAASr0H,KAAKmhB,GACxCnhB,KAAKm1H,MAAQn1H,KAAKo1H,qBAClBp1H,KAAKi1B,KAAOA,EACZj1B,KAAKu3G,KAAOtiF,EAAKsiF,KACjBv3G,KAAKsxH,SAAW,EAChBtxH,KAAK2jB,EAAIte,EAAKse,EACd3jB,KAAK8yH,6BAA6B79F,GAClCj1B,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgZ,EAAG,EAAG,EAAGre,MACrDA,KAAKihB,EAAIqxG,gBAAgBC,QAAQt9F,EAAM5vB,EAAK4b,EAAG,EAAG,EAAGjhB,MACrDA,KAAKqR,EAAIihH,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgM,EAAG,EAAG,EAAGrR,MAEjDA,KAAK2yH,kBAAkBhyH,OACzBX,KAAKmB,GAAI,GAETnB,KAAKmB,GAAI,EACTnB,KAAK03H,oBAET,CA4DA,OA1DAD,EAAyBv3H,UAAY,CACnCw3H,kBAAmB,WACjB,IAAI3B,EAAK/1H,KAAKqe,EAAE8C,EAAE,GACd60G,EAAKh2H,KAAKqe,EAAE8C,EAAE,GACdw2G,EAAK33H,KAAKihB,EAAEE,EAAE,GAAK,EACnBy2G,EAAK53H,KAAKihB,EAAEE,EAAE,GAAK,EACnBG,EAAQ4wF,MAAMylB,EAAIC,EAAI53H,KAAKqR,EAAE8P,GAC7By0G,EAASt0G,GAAS,EAAImxF,aAC1BzyG,KAAKmhB,EAAE+mG,QAAU,EAEF,IAAXloH,KAAK2jB,GAAsB,IAAX3jB,KAAK2jB,GACvB3jB,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKhC,EAAQ,GAAG,GACrG51H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKhC,EAAQG,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAO,GAAG,GAEvF,IAAVA,GACFthB,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI,GAAG,GACrG53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI7B,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI,GAAG,GACrG53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKhC,EAAQ,GAAG,GACrG51H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKhC,EAAQG,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAO,GAAG,GACrGthB,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI,GAAG,GACrG53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI7B,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI,GAAG,KAErG53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI7B,EAAK4B,EAAI3B,EAAK4B,EAAI,GAClF53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAI7B,EAAK4B,EAAI3B,EAAK4B,EAAKhC,EAAQG,EAAK4B,EAAI3B,EAAK4B,EAAI,MAGpF53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKhC,EAAQG,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAO,GAAG,GAEvF,IAAVA,GACFthB,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI,GAAG,GACrG53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI7B,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI,GAAG,GACrG53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKhC,EAAQ,GAAG,GACrG51H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKhC,EAAQG,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAO,GAAG,GACrGthB,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI,GAAG,GACrG53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI7B,EAAK4B,EAAKr2G,EAAO00G,EAAK4B,EAAI,GAAG,GACrG53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKt2G,EAAOy0G,EAAK4B,EAAI3B,EAAK4B,EAAKhC,EAAQ,GAAG,KAErG51H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI7B,EAAK4B,EAAI3B,EAAK4B,EAAI,GAAG,GACrF53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAI7B,EAAK4B,EAAI3B,EAAK4B,EAAKhC,EAAQG,EAAK4B,EAAI3B,EAAK4B,EAAI,GAAG,GACrF53H,KAAKmhB,EAAEkyG,YAAY0C,EAAK4B,EAAI3B,EAAK4B,EAAI7B,EAAK4B,EAAK/B,EAAQI,EAAK4B,EAAI7B,EAAK4B,EAAI3B,EAAK4B,EAAI,GAAG,IAG3F,EACA3F,SAAU,WACJjyH,KAAKi1B,KAAK+qF,WAAWsR,UAAYtxH,KAAKsxH,UAI1CtxH,KAAKsxH,QAAUtxH,KAAKi1B,KAAK+qF,WAAWsR,QACpCtxH,KAAK6yH,2BAED7yH,KAAKoxH,MACPpxH,KAAK03H,oBAET,EACAjC,MAAOP,GAEThmB,gBAAgB,CAACwjB,0BAA2B+E,GACrCA,CACT,CAnFwB,GAwHpBp7C,EAAK,CACTA,aApCA,SAAsBpnD,EAAM5vB,EAAM/B,GAChC,IAAI83B,EAuBJ,OArBa,IAAT93B,GAAuB,IAATA,EAKd83B,GAJsB,IAAT93B,EAAa+B,EAAKihD,GAAKjhD,EAAKgtF,IACvBlxF,EAEXR,OACA,IAAI+0H,EAAuBzgG,EAAM5vB,EAAM/B,GAEvC,IAAIkyH,EAAcvgG,EAAM5vB,EAAM/B,GAErB,IAATA,EACT83B,EAAO,IAAIo8F,EAAkBviG,EAAM5vB,GACjB,IAAT/B,EACT83B,EAAO,IAAIu6F,EAAiB1gG,EAAM5vB,GAChB,IAAT/B,IACT83B,EAAO,IAAIg7F,EAAkBnhG,EAAM5vB,IAGjC+1B,EAAKj6B,GACP8zB,EAAK68F,mBAAmB12F,GAGnBA,CACT,EAYAihD,uBAVA,WACE,OAAOm5C,CACT,EASAn5C,gCAPA,WACE,OAAOq5C,CACT,GAMA,OAAOr5C,CACT,CAzjB2B,GAwlBvB3xB,OAAS,WACX,IAAImtE,EAAOzzH,KAAKwwD,IACZkjE,EAAO1zH,KAAKywD,IACZkjE,EAAO3zH,KAAKs4C,IACZs7E,EAAO5zH,KAAKkd,MAEhB,SAASm0G,IAiBP,OAhBAz1H,KAAK2nG,MAAM,GAAK,EAChB3nG,KAAK2nG,MAAM,GAAK,EAChB3nG,KAAK2nG,MAAM,GAAK,EAChB3nG,KAAK2nG,MAAM,GAAK,EAChB3nG,KAAK2nG,MAAM,GAAK,EAChB3nG,KAAK2nG,MAAM,GAAK,EAChB3nG,KAAK2nG,MAAM,GAAK,EAChB3nG,KAAK2nG,MAAM,GAAK,EAChB3nG,KAAK2nG,MAAM,GAAK,EAChB3nG,KAAK2nG,MAAM,GAAK,EAChB3nG,KAAK2nG,MAAM,IAAM,EACjB3nG,KAAK2nG,MAAM,IAAM,EACjB3nG,KAAK2nG,MAAM,IAAM,EACjB3nG,KAAK2nG,MAAM,IAAM,EACjB3nG,KAAK2nG,MAAM,IAAM,EACjB3nG,KAAK2nG,MAAM,IAAM,EACV3nG,IACT,CAEA,SAASkqD,EAAOgK,GACd,GAAc,IAAVA,EACF,OAAOl0D,KAGT,IAAIi4H,EAAOJ,EAAK3jE,GAEZgkE,EAAOJ,EAAK5jE,GAEhB,OAAOl0D,KAAKmjD,GAAG80E,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC3E,CAEA,SAASE,EAAQjkE,GACf,GAAc,IAAVA,EACF,OAAOl0D,KAGT,IAAIi4H,EAAOJ,EAAK3jE,GAEZgkE,EAAOJ,EAAK5jE,GAEhB,OAAOl0D,KAAKmjD,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG80E,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAC3E,CAEA,SAASG,EAAQlkE,GACf,GAAc,IAAVA,EACF,OAAOl0D,KAGT,IAAIi4H,EAAOJ,EAAK3jE,GAEZgkE,EAAOJ,EAAK5jE,GAEhB,OAAOl0D,KAAKmjD,GAAG80E,EAAM,EAAGC,EAAM,EAAG,EAAG,EAAG,EAAG,GAAIA,EAAM,EAAGD,EAAM,EAAG,EAAG,EAAG,EAAG,EAC3E,CAEA,SAASI,EAAQnkE,GACf,GAAc,IAAVA,EACF,OAAOl0D,KAGT,IAAIi4H,EAAOJ,EAAK3jE,GAEZgkE,EAAOJ,EAAK5jE,GAEhB,OAAOl0D,KAAKmjD,GAAG80E,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC3E,CAEA,SAASK,EAAM5uE,EAAIE,GACjB,OAAO5pD,KAAKmjD,GAAG,EAAGyG,EAAIF,EAAI,EAAG,EAAG,EAClC,CAEA,SAASS,EAAKwlE,EAAIC,GAChB,OAAO5vH,KAAKs4H,MAAMP,EAAKpI,GAAKoI,EAAKnI,GACnC,CAEA,SAAS2I,EAAa5I,EAAIz7D,GACxB,IAAI+jE,EAAOJ,EAAK3jE,GAEZgkE,EAAOJ,EAAK5jE,GAEhB,OAAOl0D,KAAKmjD,GAAG80E,EAAMC,EAAM,EAAG,GAAIA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAG90E,GAAG,EAAG,EAAG,EAAG,EAAG40E,EAAKpI,GAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAGxsE,GAAG80E,GAAOC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EACrM,CAEA,SAASj0E,EAAM0F,EAAIE,EAAI0pC,GAKrB,OAJKA,GAAa,IAAPA,IACTA,EAAK,GAGI,IAAP5pC,GAAmB,IAAPE,GAAmB,IAAP0pC,EACnBtzF,KAGFA,KAAKmjD,GAAGuG,EAAI,EAAG,EAAG,EAAG,EAAGE,EAAI,EAAG,EAAG,EAAG,EAAG0pC,EAAI,EAAG,EAAG,EAAG,EAAG,EACjE,CAEA,SAASzkB,EAAatrD,EAAGC,EAAGrhB,EAAGwhB,EAAGiH,EAAGK,EAAG9Z,EAAGoa,EAAG3qB,EAAGK,EAAGE,EAAGyd,EAAGhZ,EAAGD,EAAGg5B,EAAGtgB,GAiBjE,OAhBAre,KAAK2nG,MAAM,GAAKpkF,EAChBvjB,KAAK2nG,MAAM,GAAKnkF,EAChBxjB,KAAK2nG,MAAM,GAAKxlG,EAChBnC,KAAK2nG,MAAM,GAAKhkF,EAChB3jB,KAAK2nG,MAAM,GAAK/8E,EAChB5qB,KAAK2nG,MAAM,GAAK18E,EAChBjrB,KAAK2nG,MAAM,GAAKx2F,EAChBnR,KAAK2nG,MAAM,GAAKp8E,EAChBvrB,KAAK2nG,MAAM,GAAK/mG,EAChBZ,KAAK2nG,MAAM,GAAK1mG,EAChBjB,KAAK2nG,MAAM,IAAMxmG,EACjBnB,KAAK2nG,MAAM,IAAM/oF,EACjB5e,KAAK2nG,MAAM,IAAM/hG,EACjB5F,KAAK2nG,MAAM,IAAMhiG,EACjB3F,KAAK2nG,MAAM,IAAMhpE,EACjB3+B,KAAK2nG,MAAM,IAAMtpF,EACVre,IACT,CAEA,SAASiqD,EAAUH,EAAIC,EAAIyuE,GAGzB,OAFAA,EAAKA,GAAM,EAEA,IAAP1uE,GAAmB,IAAPC,GAAmB,IAAPyuE,EACnBx4H,KAAKmjD,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG2G,EAAIC,EAAIyuE,EAAI,GAG1Dx4H,IACT,CAEA,SAASsmB,EAAUu6B,EAAIW,EAAIW,EAAI31C,EAAIisH,EAAI30E,EAAI40E,EAAIC,EAAI/pF,EAAIgqF,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAC7E,IAAI9S,EAAKpmH,KAAK2nG,MAEd,GAAW,IAAP9mD,GAAmB,IAAPW,GAAmB,IAAPW,GAAmB,IAAP31C,GAAmB,IAAPisH,GAAmB,IAAP30E,GAAmB,IAAP40E,GAAmB,IAAPC,GAAmB,IAAP/pF,GAAmB,IAAPgqF,GAAmB,IAAPC,GAAmB,IAAPC,EAStI,OANA1S,EAAG,IAAMA,EAAG,IAAMvlE,EAAKulE,EAAG,IAAM2S,EAChC3S,EAAG,IAAMA,EAAG,IAAMtiE,EAAKsiE,EAAG,IAAM4S,EAChC5S,EAAG,IAAMA,EAAG,IAAMyS,EAAKzS,EAAG,IAAM6S,EAChC7S,EAAG,KAAO8S,EAEVl5H,KAAKm5H,qBAAsB,EACpBn5H,KAGT,IAAI4gD,EAAKwlE,EAAG,GACR7kE,EAAK6kE,EAAG,GACRlkE,EAAKkkE,EAAG,GACR75G,EAAK65G,EAAG,GACRgT,EAAKhT,EAAG,GACRiT,EAAKjT,EAAG,GACRkT,EAAKlT,EAAG,GACRmT,EAAKnT,EAAG,GACRz3E,EAAKy3E,EAAG,GACRoT,EAAKpT,EAAG,GACRqT,EAAKrT,EAAG,IACRsT,EAAKtT,EAAG,IACRuT,EAAKvT,EAAG,IACRwT,EAAKxT,EAAG,IACRyT,EAAKzT,EAAG,IACR4P,EAAK5P,EAAG,IAwBZ,OAjBAA,EAAG,GAAKxlE,EAAKC,EAAKU,EAAKk3E,EAAKv2E,EAAKtT,EAAKriC,EAAKwsH,EAC3C3S,EAAG,GAAKxlE,EAAKY,EAAKD,EAAKuC,EAAK5B,EAAK02E,EAAKrsH,EAAKysH,EAC3C5S,EAAG,GAAKxlE,EAAKuB,EAAKZ,EAAKm3E,EAAKx2E,EAAK22E,EAAKtsH,EAAK0sH,EAC3C7S,EAAG,GAAKxlE,EAAKp0C,EAAK+0C,EAAKo3E,EAAKz2E,EAAK42E,EAAKvsH,EAAK2sH,EAC3C9S,EAAG,GAAKgT,EAAKv4E,EAAKw4E,EAAKZ,EAAKa,EAAK1qF,EAAK2qF,EAAKR,EAC3C3S,EAAG,GAAKgT,EAAK53E,EAAK63E,EAAKv1E,EAAKw1E,EAAKV,EAAKW,EAAKP,EAC3C5S,EAAG,GAAKgT,EAAKj3E,EAAKk3E,EAAKX,EAAKY,EAAKT,EAAKU,EAAKN,EAC3C7S,EAAG,GAAKgT,EAAK5sH,EAAK6sH,EAAKV,EAAKW,EAAKR,EAAKS,EAAKL,EAC3C9S,EAAG,GAAKz3E,EAAKkS,EAAK24E,EAAKf,EAAKgB,EAAK7qF,EAAK8qF,EAAKX,EAC3C3S,EAAG,GAAKz3E,EAAK6S,EAAKg4E,EAAK11E,EAAK21E,EAAKb,EAAKc,EAAKV,EAC3C5S,EAAG,IAAMz3E,EAAKwT,EAAKq3E,EAAKd,EAAKe,EAAKZ,EAAKa,EAAKT,EAC5C7S,EAAG,IAAMz3E,EAAKniC,EAAKgtH,EAAKb,EAAKc,EAAKX,EAAKY,EAAKR,EAC5C9S,EAAG,IAAMuT,EAAK94E,EAAK+4E,EAAKnB,EAAKoB,EAAKjrF,EAAKonF,EAAK+C,EAC5C3S,EAAG,IAAMuT,EAAKn4E,EAAKo4E,EAAK91E,EAAK+1E,EAAKjB,EAAK5C,EAAKgD,EAC5C5S,EAAG,IAAMuT,EAAKx3E,EAAKy3E,EAAKlB,EAAKmB,EAAKhB,EAAK7C,EAAKiD,EAC5C7S,EAAG,IAAMuT,EAAKntH,EAAKotH,EAAKjB,EAAKkB,EAAKf,EAAK9C,EAAKkD,EAC5Cl5H,KAAKm5H,qBAAsB,EACpBn5H,IACT,CAEA,SAASgqD,EAAS9K,GAChB,IAAI46E,EAAc56E,EAAOyoD,MACzB,OAAO3nG,KAAKsmB,UAAUwzG,EAAY,GAAIA,EAAY,GAAIA,EAAY,GAAIA,EAAY,GAAIA,EAAY,GAAIA,EAAY,GAAIA,EAAY,GAAIA,EAAY,GAAIA,EAAY,GAAIA,EAAY,GAAIA,EAAY,IAAKA,EAAY,IAAKA,EAAY,IAAKA,EAAY,IAAKA,EAAY,IAAKA,EAAY,IACzR,CAEA,SAASjsD,IAMP,OALK7tE,KAAKm5H,sBACRn5H,KAAK+5H,YAAgC,IAAlB/5H,KAAK2nG,MAAM,IAA8B,IAAlB3nG,KAAK2nG,MAAM,IAA8B,IAAlB3nG,KAAK2nG,MAAM,IAA8B,IAAlB3nG,KAAK2nG,MAAM,IAA8B,IAAlB3nG,KAAK2nG,MAAM,IAA8B,IAAlB3nG,KAAK2nG,MAAM,IAA8B,IAAlB3nG,KAAK2nG,MAAM,IAA8B,IAAlB3nG,KAAK2nG,MAAM,IAA8B,IAAlB3nG,KAAK2nG,MAAM,IAA8B,IAAlB3nG,KAAK2nG,MAAM,IAA+B,IAAnB3nG,KAAK2nG,MAAM,KAAgC,IAAnB3nG,KAAK2nG,MAAM,KAAgC,IAAnB3nG,KAAK2nG,MAAM,KAAgC,IAAnB3nG,KAAK2nG,MAAM,KAAgC,IAAnB3nG,KAAK2nG,MAAM,KAAgC,IAAnB3nG,KAAK2nG,MAAM,KAC5X3nG,KAAKm5H,qBAAsB,GAGtBn5H,KAAK+5H,SACd,CAEA,SAAS7/D,EAAO8/D,GAGd,IAFA,IAAIp5H,EAAI,EAEDA,EAAI,IAAI,CACb,GAAIo5H,EAAKryB,MAAM/mG,KAAOZ,KAAK2nG,MAAM/mG,GAC/B,OAAO,EAGTA,GAAK,CACP,CAEA,OAAO,CACT,CAEA,SAAS6pD,EAAMuvE,GACb,IAAIp5H,EAEJ,IAAKA,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvBo5H,EAAKryB,MAAM/mG,GAAKZ,KAAK2nG,MAAM/mG,GAG7B,OAAOo5H,CACT,CAEA,SAASC,EAAetyB,GACtB,IAAI/mG,EAEJ,IAAKA,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvBZ,KAAK2nG,MAAM/mG,GAAK+mG,EAAM/mG,EAE1B,CAEA,SAASypD,EAAa38C,EAAGC,EAAGmkC,GAC1B,MAAO,CACLpkC,EAAGA,EAAI1N,KAAK2nG,MAAM,GAAKh6F,EAAI3N,KAAK2nG,MAAM,GAAK71D,EAAI9xC,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,IAC1Eh6F,EAAGD,EAAI1N,KAAK2nG,MAAM,GAAKh6F,EAAI3N,KAAK2nG,MAAM,GAAK71D,EAAI9xC,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,IAC1E71D,EAAGpkC,EAAI1N,KAAK2nG,MAAM,GAAKh6F,EAAI3N,KAAK2nG,MAAM,GAAK71D,EAAI9xC,KAAK2nG,MAAM,IAAM3nG,KAAK2nG,MAAM,IAM/E,CAEA,SAASuyB,EAASxsH,EAAGC,EAAGmkC,GACtB,OAAOpkC,EAAI1N,KAAK2nG,MAAM,GAAKh6F,EAAI3N,KAAK2nG,MAAM,GAAK71D,EAAI9xC,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,GAChF,CAEA,SAASwyB,EAASzsH,EAAGC,EAAGmkC,GACtB,OAAOpkC,EAAI1N,KAAK2nG,MAAM,GAAKh6F,EAAI3N,KAAK2nG,MAAM,GAAK71D,EAAI9xC,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,GAChF,CAEA,SAASyyB,EAAS1sH,EAAGC,EAAGmkC,GACtB,OAAOpkC,EAAI1N,KAAK2nG,MAAM,GAAKh6F,EAAI3N,KAAK2nG,MAAM,GAAK71D,EAAI9xC,KAAK2nG,MAAM,IAAM3nG,KAAK2nG,MAAM,GACjF,CAEA,SAAS0yB,IACP,IAAIC,EAAct6H,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,GACzEpkF,EAAIvjB,KAAK2nG,MAAM,GAAK2yB,EACpB92G,GAAKxjB,KAAK2nG,MAAM,GAAK2yB,EACrBn4H,GAAKnC,KAAK2nG,MAAM,GAAK2yB,EACrB32G,EAAI3jB,KAAK2nG,MAAM,GAAK2yB,EACpB1vG,GAAK5qB,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,IAAM3nG,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,KAAO2yB,EACxErvG,IAAMjrB,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,IAAM3nG,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,KAAO2yB,EACzEC,EAAgB,IAAI7vE,OAOxB,OANA6vE,EAAc5yB,MAAM,GAAKpkF,EACzBg3G,EAAc5yB,MAAM,GAAKnkF,EACzB+2G,EAAc5yB,MAAM,GAAKxlG,EACzBo4H,EAAc5yB,MAAM,GAAKhkF,EACzB42G,EAAc5yB,MAAM,IAAM/8E,EAC1B2vG,EAAc5yB,MAAM,IAAM18E,EACnBsvG,CACT,CAEA,SAASC,EAAal0E,GAEpB,OADoBtmD,KAAKq6H,mBACJI,kBAAkBn0E,EAAG,GAAIA,EAAG,GAAIA,EAAG,IAAM,EAChE,CAEA,SAASo0E,EAAcC,GACrB,IAAI/5H,EACAojB,EAAM22G,EAAIh6H,OACVi6H,EAAS,GAEb,IAAKh6H,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBg6H,EAAOh6H,GAAK45H,EAAaG,EAAI/5H,IAG/B,OAAOg6H,CACT,CAEA,SAASC,EAAoB5R,EAAKC,EAAKC,GACrC,IAAIzhH,EAAMypG,iBAAiB,UAAW,GAEtC,GAAInxG,KAAK6tE,aACPnmE,EAAI,GAAKuhH,EAAI,GACbvhH,EAAI,GAAKuhH,EAAI,GACbvhH,EAAI,GAAKwhH,EAAI,GACbxhH,EAAI,GAAKwhH,EAAI,GACbxhH,EAAI,GAAKyhH,EAAI,GACbzhH,EAAI,GAAKyhH,EAAI,OACR,CACL,IAAI4M,EAAK/1H,KAAK2nG,MAAM,GAChBquB,EAAKh2H,KAAK2nG,MAAM,GAChBmzB,EAAK96H,KAAK2nG,MAAM,GAChBozB,EAAK/6H,KAAK2nG,MAAM,GAChBqzB,EAAMh7H,KAAK2nG,MAAM,IACjBszB,EAAMj7H,KAAK2nG,MAAM,IACrBjgG,EAAI,GAAKuhH,EAAI,GAAK8M,EAAK9M,EAAI,GAAK6R,EAAKE,EACrCtzH,EAAI,GAAKuhH,EAAI,GAAK+M,EAAK/M,EAAI,GAAK8R,EAAKE,EACrCvzH,EAAI,GAAKwhH,EAAI,GAAK6M,EAAK7M,EAAI,GAAK4R,EAAKE,EACrCtzH,EAAI,GAAKwhH,EAAI,GAAK8M,EAAK9M,EAAI,GAAK6R,EAAKE,EACrCvzH,EAAI,GAAKyhH,EAAI,GAAK4M,EAAK5M,EAAI,GAAK2R,EAAKE,EACrCtzH,EAAI,GAAKyhH,EAAI,GAAK6M,EAAK7M,EAAI,GAAK4R,EAAKE,CACvC,CAEA,OAAOvzH,CACT,CAEA,SAAS+yH,EAAkB/sH,EAAGC,EAAGmkC,GAS/B,OANI9xC,KAAK6tE,aACD,CAACngE,EAAGC,EAAGmkC,GAEP,CAACpkC,EAAI1N,KAAK2nG,MAAM,GAAKh6F,EAAI3N,KAAK2nG,MAAM,GAAK71D,EAAI9xC,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,IAAKj6F,EAAI1N,KAAK2nG,MAAM,GAAKh6F,EAAI3N,KAAK2nG,MAAM,GAAK71D,EAAI9xC,KAAK2nG,MAAM,GAAK3nG,KAAK2nG,MAAM,IAAKj6F,EAAI1N,KAAK2nG,MAAM,GAAKh6F,EAAI3N,KAAK2nG,MAAM,GAAK71D,EAAI9xC,KAAK2nG,MAAM,IAAM3nG,KAAK2nG,MAAM,IAI3O,CAEA,SAASuzB,EAAwBxtH,EAAGC,GAClC,GAAI3N,KAAK6tE,aACP,OAAOngE,EAAI,IAAMC,EAGnB,IAAIy4G,EAAKpmH,KAAK2nG,MACd,OAAOvjG,KAAKkd,MAAyC,KAAlC5T,EAAI04G,EAAG,GAAKz4G,EAAIy4G,EAAG,GAAKA,EAAG,MAAc,IAAM,IAAMhiH,KAAKkd,MAAyC,KAAlC5T,EAAI04G,EAAG,GAAKz4G,EAAIy4G,EAAG,GAAKA,EAAG,MAAc,GAC/H,CAEA,SAAS+U,IAWP,IALA,IAAIv6H,EAAI,EACJ+mG,EAAQ3nG,KAAK2nG,MACbyzB,EAAW,YAGRx6H,EAAI,IACTw6H,GAAYpD,EAHN,IAGWrwB,EAAM/mG,IAHjB,IAINw6H,GAAkB,KAANx6H,EAAW,IAAM,IAC7BA,GAAK,EAGP,OAAOw6H,CACT,CAEA,SAASC,EAAoB1zH,GAG3B,OAAIA,EAAM,MAAYA,EAAM,GAAKA,GAAO,MAAYA,EAAM,EACjDqwH,EAHD,IAGMrwH,GAHN,IAMDA,CACT,CAEA,SAAS2zH,IAMP,IAAI3zB,EAAQ3nG,KAAK2nG,MAcjB,MAAO,UAZE0zB,EAAoB1zB,EAAM,IAYX,IAVf0zB,EAAoB1zB,EAAM,IAUA,IAR1B0zB,EAAoB1zB,EAAM,IAQW,IANrC0zB,EAAoB1zB,EAAM,IAMsB,IAJhD0zB,EAAoB1zB,EAAM,KAIiC,IAF3D0zB,EAAoB1zB,EAAM,KAE4C,GACjF,CAEA,OAAO,WACL3nG,KAAKy1H,MAAQA,EACbz1H,KAAKkqD,OAASA,EACdlqD,KAAKm4H,QAAUA,EACfn4H,KAAKo4H,QAAUA,EACfp4H,KAAKq4H,QAAUA,EACfr4H,KAAKmqD,KAAOA,EACZnqD,KAAKu4H,aAAeA,EACpBv4H,KAAKs4H,MAAQA,EACbt4H,KAAKgkD,MAAQA,EACbhkD,KAAK6uE,aAAeA,EACpB7uE,KAAKiqD,UAAYA,EACjBjqD,KAAKsmB,UAAYA,EACjBtmB,KAAKgqD,SAAWA,EAChBhqD,KAAKqqD,aAAeA,EACpBrqD,KAAKk6H,SAAWA,EAChBl6H,KAAKm6H,SAAWA,EAChBn6H,KAAKo6H,SAAWA,EAChBp6H,KAAKy6H,kBAAoBA,EACzBz6H,KAAK66H,oBAAsBA,EAC3B76H,KAAKk7H,wBAA0BA,EAC/Bl7H,KAAKm7H,MAAQA,EACbn7H,KAAKs7H,QAAUA,EACft7H,KAAKyqD,MAAQA,EACbzqD,KAAKi6H,eAAiBA,EACtBj6H,KAAKk6D,OAASA,EACdl6D,KAAK06H,cAAgBA,EACrB16H,KAAKw6H,aAAeA,EACpBx6H,KAAKq6H,iBAAmBA,EACxBr6H,KAAKmjD,GAAKnjD,KAAKsmB,UACftmB,KAAK6tE,WAAaA,EAClB7tE,KAAK+5H,WAAY,EACjB/5H,KAAKm5H,qBAAsB,EAC3Bn5H,KAAK2nG,MAAQwJ,iBAAiB,UAAW,IACzCnxG,KAAKy1H,OACP,CACF,CAhba,GAkbb,SAAS8F,UAAUn0H,GAAuV,OAA1Om0H,UAArD,oBAAXlmC,QAAoD,kBAApBA,OAAOkc,SAAqC,SAAiBnqG,GAAO,cAAcA,CAAK,EAAwB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXiuF,QAAyBjuF,EAAIhH,cAAgBi1F,QAAUjuF,IAAQiuF,OAAOn1F,UAAY,gBAAkBkH,CAAK,EAAYm0H,UAAUn0H,EAAM,CACjY,IAAIo0H,OAAS,CAAC,EACV5W,WAAa,mBACbhd,cAAgB,sBAChBe,SAAW,GAEf,SAAS8yB,YAAY5vG,GACnBkjF,gBAAgBljF,EAClB,CAEA,SAAS84F,oBACY,IAAfC,WACFhB,iBAAiBe,iBAAiB/c,cAAegd,WAAYjc,UAE7Dib,iBAAiBe,kBAErB,CAEA,SAAS+W,qBAAqB3iD,GAC5B87B,mBAAmB97B,EACrB,CAEA,SAAS4iD,UAAU7sH,GACjBumG,YAAYvmG,EACd,CAEA,SAAS87F,cAAc5iG,GAKrB,OAJmB,IAAf48G,aACF58G,EAAO4/F,cAAgB1/F,KAAKC,MAAMy/F,gBAG7Bgc,iBAAiBhZ,cAAc5iG,EACxC,CAEA,SAAS4zH,WAAW7yH,GAClB,GAAqB,kBAAVA,EACT,OAAQA,GACN,IAAK,OACHosG,wBAAwB,KACxB,MAEF,QACA,IAAK,SACHA,wBAAwB,IACxB,MAEF,IAAK,MACHA,wBAAwB,SAGlBxrG,MAAMZ,IAAUA,EAAQ,GAClCosG,wBAAwBpsG,GAGtBqsG,2BAA6B,GAC/B1C,aAAY,GAEZA,aAAY,EAEhB,CAEA,SAASmpB,YACP,MAA4B,qBAAd1wG,SAChB,CAEA,SAAS2wG,cAAcx4H,EAAMy4H,GACd,gBAATz4H,GACFyxG,qBAAqBgnB,EAEzB,CAEA,SAASC,WAAW/7H,GAClB,OAAQA,GACN,IAAK,kBACH,OAAOqyH,gBAET,IAAK,uBACH,OAAOoC,qBAET,IAAK,SACH,OAAOhqE,OAET,QACE,OAAO,KAEb,CA+BA,SAASuxE,aACqB,aAAxBr2G,SAASg0F,aACX6B,cAAcygB,yBACdvX,mBAEJ,CAEA,SAASwX,iBAAiBC,GAGxB,IAFA,IAAIC,EAAOC,YAAYtuH,MAAM,KAEpBpN,EAAI,EAAGA,EAAIy7H,EAAK17H,OAAQC,GAAK,EAAG,CACvC,IAAI27H,EAAOF,EAAKz7H,GAAGoN,MAAM,KAEzB,GAAIwuH,mBAAmBD,EAAK,KAAOH,EAEjC,OAAOI,mBAAmBD,EAAK,GAEnC,CAEA,OAAO,IACT,CAjDAf,OAAO9xB,KAAOka,iBAAiBla,KAC/B8xB,OAAO5xB,MAAQga,iBAAiBha,MAChC4xB,OAAOzsB,gBAAkB0sB,YACzBD,OAAOlZ,YAAcsB,iBAAiBtB,YACtCkZ,OAAO3xB,SAAW+Z,iBAAiB/Z,SACnC2xB,OAAOtxB,aAAe0Z,iBAAiB1Z,aACvCsxB,OAAO7xB,KAAOia,iBAAiBja,KAC/B6xB,OAAO7W,iBAAmBA,iBAC1B6W,OAAOnX,kBAAoBT,iBAAiBS,kBAC5CmX,OAAO5wB,cAAgBA,cACvB4wB,OAAOE,qBAAuBA,qBAC9BF,OAAOjvF,OAASq3E,iBAAiBr3E,OAEjCivF,OAAOvxB,YAAc2Z,iBAAiB3Z,YACtCuxB,OAAO7wB,QAAUiZ,iBAAiBjZ,QAClC6wB,OAAOI,WAAaA,WACpBJ,OAAOK,UAAYA,UACnBL,OAAOM,cAAgBA,cACvBN,OAAOrW,OAASvB,iBAAiBuB,OACjCqW,OAAOpW,SAAWxB,iBAAiBwB,SACnCoW,OAAO5qB,UAAYgT,iBAAiBhT,UACpC4qB,OAAOzqB,KAAO6S,iBAAiB7S,KAC/ByqB,OAAOxqB,OAAS4S,iBAAiB5S,OACjCwqB,OAAOnW,wBAA0BzB,iBAAiByB,wBAClDmW,OAAOiB,aAAe5tB,aACtB2sB,OAAOkB,YAAcf,UACrBH,OAAOmB,aAAeX,WACtBR,OAAOl9G,QAAU,SAwBjB,IAAIg+G,YAAc,GAElB,GAAI1X,WAAY,CACd,IAAIgY,QAAUh3G,SAASq/F,qBAAqB,UACxCn8G,MAAQ8zH,QAAQj8H,OAAS,EACzBk8H,SAAWD,QAAQ9zH,QAAU,CAC/BkiE,IAAK,IAEPsxD,YAAcO,SAAS7xD,IAAM6xD,SAAS7xD,IAAIv+D,QAAQ,aAAc,IAAM,GAEtEk8F,SAAWwzB,iBAAiB,WAC9B,CAEA,IAAID,wBAA0B5gB,YAAY2gB,WAAY,KAEtD,IACgF,WAAxBV,UAAU91G,UAA8Fq3G,oBAAAA,IAIhK,CAAE,MAAOnxF,KAAM,CAGf,IAAIoxF,eAAiB,WACnB,IAAI1gD,EAAK,CAAC,EACN2gD,EAAY,CAAC,EAcjB,OAbA3gD,EAAG4gD,iBAGH,SAA0Bjf,EAAIj2F,GACvBi1G,EAAUhf,KACbgf,EAAUhf,GAAMj2F,EAEpB,EANAs0D,EAAG6gD,YAQH,SAAqBlf,EAAI/oF,EAAM5vB,GAC7B,OAAO,IAAI23H,EAAUhf,GAAI/oF,EAAM5vB,EACjC,EAEOg3E,CACT,CAjBqB,GAmBrB,SAAS8gD,gBAAiB,CAmD1B,SAASC,eAAgB,CAgZzB,SAASC,yBAA0B,CAjcnCF,cAAcj9H,UAAUo9H,uBAAyB,WAAa,EAE9DH,cAAcj9H,UAAUq9H,mBAAqB,WAAa,EAE1DJ,cAAcj9H,UAAUm0H,SAAW,SAAUhvH,GAC3C,IAAKrF,KAAK84G,OAAQ,CAEhBzzG,EAAK6pH,GAAGx+C,UAAUohD,mBAAmBzsH,EAAK6pH,IAC1C,IAAIvE,EAAY,CACduJ,MAAO7uH,EAAK6pH,GACZ7pH,KAAMA,EACN+vH,qBAAsBb,oBAAoBC,sBAE5Cx0H,KAAKq3G,OAAO7xG,KAAKmlH,GACjB3qH,KAAKu9H,mBAAmB5S,GAEpB3qH,KAAK4yH,aACPvtH,EAAKm4H,eAET,CACF,EAEAL,cAAcj9H,UAAUgjH,KAAO,SAAUjuF,EAAM5vB,GAC7CrF,KAAKq3G,OAAS,GACdr3G,KAAKi1B,KAAOA,EACZj1B,KAAK8yH,6BAA6B79F,GAClCj1B,KAAKs9H,uBAAuBroG,EAAM5vB,GAClCrF,KAAKsxH,QAAU1iB,oBACf5uG,KAAK84G,QAAS,EACd94G,KAAKmB,GAAI,EAELnB,KAAK2yH,kBAAkBhyH,OACzBX,KAAKmB,GAAI,EAETnB,KAAKiyH,UAAS,EAElB,EAEAkL,cAAcj9H,UAAUu9H,YAAc,WAChCz9H,KAAKi1B,KAAK+qF,WAAWsR,UAAYtxH,KAAKsxH,UAI1CtxH,KAAKsxH,QAAUtxH,KAAKi1B,KAAK+qF,WAAWsR,QACpCtxH,KAAK6yH,2BACP,EAEA3jB,gBAAgB,CAACwjB,0BAA2ByK,eAI5CjuB,gBAAgB,CAACiuB,eAAgBC,cAEjCA,aAAal9H,UAAUo9H,uBAAyB,SAAUroG,EAAM5vB,GAC9DrF,KAAKihB,EAAIqxG,gBAAgBC,QAAQt9F,EAAM5vB,EAAK4b,EAAG,EAAG,IAAMjhB,MACxDA,KAAK4qB,EAAI0nG,gBAAgBC,QAAQt9F,EAAM5vB,EAAKulB,EAAG,EAAG,IAAM5qB,MACxDA,KAAK2+B,EAAI2zF,gBAAgBC,QAAQt9F,EAAM5vB,EAAKs5B,EAAG,EAAG,EAAG3+B,MACrDA,KAAK09H,OAAS,EACd19H,KAAK29H,OAAS,EACd39H,KAAKiyH,SAAWjyH,KAAKy9H,YACrBz9H,KAAK4F,EAAIP,EAAKO,EACd5F,KAAK4yH,cAAgB5yH,KAAKihB,EAAEswG,gBAAgB5wH,UAAYX,KAAK4qB,EAAE2mG,gBAAgB5wH,UAAYX,KAAK2+B,EAAE4yF,gBAAgB5wH,MACpH,EAEAy8H,aAAal9H,UAAUq9H,mBAAqB,SAAU5S,GACpDA,EAAUiT,UAAY,EACxB,EAEAR,aAAal9H,UAAU29H,oBAAsB,SAAU58G,EAAG2J,EAAGkzG,EAAavV,EAAawV,GACrF,IAAI1zB,EAAW,GAEXz/E,GAAK,EACPy/E,EAAS7kG,KAAK,CACZyb,EAAGA,EACH2J,EAAGA,IAEI3J,GAAK,EACdopF,EAAS7kG,KAAK,CACZyb,EAAGA,EAAI,EACP2J,EAAGA,EAAI,KAGTy/E,EAAS7kG,KAAK,CACZyb,EAAGA,EACH2J,EAAG,IAELy/E,EAAS7kG,KAAK,CACZyb,EAAG,EACH2J,EAAGA,EAAI,KAIX,IACIhqB,EAEAo9H,EAHAC,EAAgB,GAEhBj6G,EAAMqmF,EAAS1pG,OAGnB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAIzB,IAAIs9H,EACAC,GAJNH,EAAY3zB,EAASzpG,IAELgqB,EAAImzG,EAAsBxV,GAAeyV,EAAU/8G,EAAI88G,EAAsBxV,EAAcuV,IAKvGI,EADEF,EAAU/8G,EAAI88G,GAAuBxV,EAC9B,GAECyV,EAAU/8G,EAAI88G,EAAsBxV,GAAeuV,EAI7DK,EADEH,EAAUpzG,EAAImzG,GAAuBxV,EAAcuV,EAC5C,GAECE,EAAUpzG,EAAImzG,EAAsBxV,GAAeuV,EAG/DG,EAAcz4H,KAAK,CAAC04H,EAAQC,IAEhC,CAMA,OAJKF,EAAct9H,QACjBs9H,EAAcz4H,KAAK,CAAC,EAAG,IAGlBy4H,CACT,EAEAb,aAAal9H,UAAUk+H,iBAAmB,SAAUR,GAClD,IAAIh9H,EACAojB,EAAM45G,EAAUj9H,OAEpB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8nH,mBAAmBL,QAAQuV,EAAUh9H,IAIvC,OADAg9H,EAAUj9H,OAAS,EACZi9H,CACT,EAEAR,aAAal9H,UAAUm+H,cAAgB,SAAU5M,GAC/C,IAAIxwG,EACA2J,EAwCA0zG,EACA19H,EAvCJ,GAAIZ,KAAKoxH,MAAQK,EAAe,CAC9B,IAAI9yF,EAAI3+B,KAAK2+B,EAAExd,EAAI,IAAM,IAsBzB,GApBIwd,EAAI,IACNA,GAAK,IAIL1d,EADEjhB,KAAKihB,EAAEE,EAAI,EACT,EAAIwd,EACC3+B,KAAKihB,EAAEE,EAAI,EAChB,EAAIwd,EAEJ3+B,KAAKihB,EAAEE,EAAIwd,IAIf/T,EADE5qB,KAAK4qB,EAAEzJ,EAAI,EACT,EAAIwd,EACC3+B,KAAK4qB,EAAEzJ,EAAI,EAChB,EAAIwd,EAEJ3+B,KAAK4qB,EAAEzJ,EAAIwd,GAGN,CACT,IAAI4/F,EAAKt9G,EACTA,EAAI2J,EACJA,EAAI2zG,CACN,CAEAt9G,EAA4B,KAAxB7c,KAAKkd,MAAU,IAAJL,GACf2J,EAA4B,KAAxBxmB,KAAKkd,MAAU,IAAJsJ,GACf5qB,KAAK09H,OAASz8G,EACdjhB,KAAK29H,OAAS/yG,CAChB,MACE3J,EAAIjhB,KAAK09H,OACT9yG,EAAI5qB,KAAK29H,OAKX,IACI18H,EACA01G,EACAinB,EACAnlB,EACA+lB,EALAx6G,EAAMhkB,KAAKq3G,OAAO12G,OAMlBo9H,EAAsB,EAE1B,GAAInzG,IAAM3J,EACR,IAAKrgB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKq3G,OAAOz2G,GAAGw0H,qBAAqBd,gBACpCt0H,KAAKq3G,OAAOz2G,GAAGszH,MAAM9C,MAAO,EAC5BpxH,KAAKq3G,OAAOz2G,GAAGszH,MAAMiB,MAAQn1H,KAAKq3G,OAAOz2G,GAAGw0H,qBAExCp1H,KAAKoxH,OACPpxH,KAAKq3G,OAAOz2G,GAAGg9H,UAAUj9H,OAAS,QAGjC,GAAY,IAANiqB,GAAiB,IAAN3J,GAAiB,IAAN2J,GAAiB,IAAN3J,GAyGvC,GAAIjhB,KAAKoxH,KACd,IAAKxwH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAGxBZ,KAAKq3G,OAAOz2G,GAAGg9H,UAAUj9H,OAAS,EAClCX,KAAKq3G,OAAOz2G,GAAGszH,MAAM9C,MAAO,MA9GwB,CACtD,IACIzG,EACAyK,EAFA/qB,EAAW,GAIf,IAAKzpG,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAGxB,IAFA+pH,EAAY3qH,KAAKq3G,OAAOz2G,IAETszH,MAAM9C,MAASpxH,KAAKoxH,MAASK,GAA4B,IAAXzxH,KAAK4F,EAE3D,CAKL,GAHA+wG,GADA2nB,EAAa3T,EAAUuJ,MAAMiB,OACXjN,QAClBsW,EAAmB,GAEd7T,EAAUuJ,MAAM9C,MAAQzG,EAAUiT,UAAUj9H,OAC/C69H,EAAmB7T,EAAU6T,qBACxB,CAGL,IAFAZ,EAAY59H,KAAKo+H,iBAAiBzT,EAAUiT,WAEvC38H,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzBw3G,EAAWwU,IAAIvC,kBAAkB4T,EAAWjnB,OAAOp2G,IACnD28H,EAAUp4H,KAAKizG,GACf+lB,GAAoB/lB,EAASkQ,YAG/BgC,EAAU6T,iBAAmBA,EAC7B7T,EAAUiT,UAAYA,CACxB,CAEAG,GAAuBS,EACvB7T,EAAUuJ,MAAM9C,MAAO,CACzB,MAvBEzG,EAAUuJ,MAAMiB,MAAQxK,EAAUyK,qBA0BtC,IAGIqJ,EAHAP,EAASj9G,EACTk9G,EAASvzG,EACT29F,EAAc,EAGlB,IAAK3nH,EAAIojB,EAAM,EAAGpjB,GAAK,EAAGA,GAAK,EAG7B,IAFA+pH,EAAY3qH,KAAKq3G,OAAOz2G,IAEVszH,MAAM9C,KAAM,CAaxB,KAZAgE,EAAuBzK,EAAUyK,sBACZd,gBAEN,IAAXt0H,KAAK4F,GAAWoe,EAAM,GACxBy6G,EAAQz+H,KAAK69H,oBAAoB58G,EAAG2J,EAAG+/F,EAAU6T,iBAAkBjW,EAAawV,GAChFxV,GAAeoC,EAAU6T,kBAEzBC,EAAQ,CAAC,CAACP,EAAQC,IAGpBxnB,EAAO8nB,EAAM99H,OAERM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EAAG,CAC5Bi9H,EAASO,EAAMx9H,GAAG,GAClBk9H,EAASM,EAAMx9H,GAAG,GAClBopG,EAAS1pG,OAAS,EAEdw9H,GAAU,EACZ9zB,EAAS7kG,KAAK,CACZyb,EAAG0pG,EAAU6T,iBAAmBN,EAChCtzG,EAAG+/F,EAAU6T,iBAAmBL,IAEzBD,GAAU,EACnB7zB,EAAS7kG,KAAK,CACZyb,EAAG0pG,EAAU6T,kBAAoBN,EAAS,GAC1CtzG,EAAG+/F,EAAU6T,kBAAoBL,EAAS,MAG5C9zB,EAAS7kG,KAAK,CACZyb,EAAG0pG,EAAU6T,iBAAmBN,EAChCtzG,EAAG+/F,EAAU6T,mBAEfn0B,EAAS7kG,KAAK,CACZyb,EAAG,EACH2J,EAAG+/F,EAAU6T,kBAAoBL,EAAS,MAI9C,IAAIO,EAAgB1+H,KAAK2+H,UAAUhU,EAAWtgB,EAAS,IAEvD,GAAIA,EAAS,GAAGppF,IAAMopF,EAAS,GAAGz/E,EAAG,CACnC,GAAIy/E,EAAS1pG,OAAS,EAGpB,GAF4BgqH,EAAUuJ,MAAMiB,MAAM9d,OAAOsT,EAAUuJ,MAAMiB,MAAMjN,QAAU,GAE/D/lH,EAAG,CAC3B,IAAIy8H,EAAYF,EAAcnzE,MAC9BvrD,KAAK6+H,SAASH,EAAetJ,GAC7BsJ,EAAgB1+H,KAAK2+H,UAAUhU,EAAWtgB,EAAS,GAAIu0B,EACzD,MACE5+H,KAAK6+H,SAASH,EAAetJ,GAC7BsJ,EAAgB1+H,KAAK2+H,UAAUhU,EAAWtgB,EAAS,IAIvDrqG,KAAK6+H,SAASH,EAAetJ,EAC/B,CACF,CAEAzK,EAAUuJ,MAAMiB,MAAQC,CAC1B,CAEJ,CAQF,EAEAgI,aAAal9H,UAAU2+H,SAAW,SAAUC,EAAU1J,GACpD,IAAIx0H,EACAojB,EAAM86G,EAASn+H,OAEnB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBw0H,EAAqBf,SAASyK,EAASl+H,GAE3C,EAEAw8H,aAAal9H,UAAU6+H,WAAa,SAAU9V,EAAKC,EAAKC,EAAKC,EAAK6K,EAAW7lH,EAAK4wH,GAChF/K,EAAUb,QAAQlK,EAAI,GAAIA,EAAI,GAAI,IAAK96G,GACvC6lH,EAAUb,QAAQjK,EAAI,GAAIA,EAAI,GAAI,IAAK/6G,EAAM,GAEzC4wH,GACF/K,EAAUb,QAAQnK,EAAI,GAAIA,EAAI,GAAI,IAAK76G,GAGzC6lH,EAAUb,QAAQhK,EAAI,GAAIA,EAAI,GAAI,IAAKh7G,EAAM,EAC/C,EAEAgvH,aAAal9H,UAAU++H,oBAAsB,SAAU9Y,EAAQ8N,EAAW7lH,EAAK4wH,GAC7E/K,EAAUb,QAAQjN,EAAO,GAAIA,EAAO,GAAI,IAAK/3G,GAC7C6lH,EAAUb,QAAQjN,EAAO,GAAIA,EAAO,GAAI,IAAK/3G,EAAM,GAE/C4wH,GACF/K,EAAUb,QAAQjN,EAAO,GAAIA,EAAO,GAAI,IAAK/3G,GAG/C6lH,EAAUb,QAAQjN,EAAO,GAAIA,EAAO,GAAI,IAAK/3G,EAAM,EACrD,EAEAgvH,aAAal9H,UAAUy+H,UAAY,SAAUhU,EAAWuU,EAAcjL,GACpE,IAEIrzH,EAEAK,EACA01G,EAEAwoB,EACAC,EACA3W,EACAtH,EAEAkJ,EAZAuT,EAAYjT,EAAUiT,UACtBU,EAAa3T,EAAUuJ,MAAMiB,MAAM9d,OAEnCrzF,EAAM2mG,EAAUuJ,MAAMiB,MAAMjN,QAG5BK,EAAc,EAKdlR,EAAS,GAET2nB,GAAW,EAaf,IAXK/K,GAKHmL,EAAenL,EAAU/L,QACzBmC,EAAU4J,EAAU/L,UALpB+L,EAAYD,UAAU5L,aACtBgX,EAAe,EACf/U,EAAU,GAMZhT,EAAO7xG,KAAKyuH,GAEPrzH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAK3B,IAJA6nH,EAAUmV,EAAUh9H,GAAG6nH,QACvBwL,EAAU9xH,EAAIm8H,EAAW19H,GAAGuB,EAC5Bw0G,EAAO2nB,EAAW19H,GAAGuB,EAAIsmH,EAAQ9nH,OAAS8nH,EAAQ9nH,OAAS,EAEtDM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EAGzB,GAAIsnH,GAFJ4W,EAAoB1W,EAAQxnH,EAAI,IAEIsnH,YAAc2W,EAAaj+G,EAC7DsnG,GAAe4W,EAAkB5W,YACjC0L,EAAU9xH,GAAI,MACT,IAAIomH,EAAc2W,EAAat0G,EAAG,CACvCqpG,EAAU9xH,GAAI,EACd,KACF,CACM+8H,EAAaj+G,GAAKsnG,GAAe2W,EAAat0G,GAAK29F,EAAc4W,EAAkB5W,aACrFvoH,KAAK++H,WAAWT,EAAW19H,GAAGugB,EAAElgB,EAAI,GAAIq9H,EAAW19H,GAAG+9B,EAAE19B,EAAI,GAAIq9H,EAAW19H,GAAGA,EAAEK,GAAIq9H,EAAW19H,GAAGugB,EAAElgB,GAAIgzH,EAAWmL,EAAcJ,GACjIA,GAAW,IAEX7d,EAAU8L,IAAIjC,cAAcsT,EAAW19H,GAAGugB,EAAElgB,EAAI,GAAIq9H,EAAW19H,GAAGugB,EAAElgB,GAAIq9H,EAAW19H,GAAG+9B,EAAE19B,EAAI,GAAIq9H,EAAW19H,GAAGA,EAAEK,IAAKi+H,EAAaj+G,EAAIsnG,GAAe4W,EAAkB5W,aAAc2W,EAAat0G,EAAI29F,GAAe4W,EAAkB5W,YAAaE,EAAQxnH,EAAI,IAChQjB,KAAKi/H,oBAAoB9d,EAAS8S,EAAWmL,EAAcJ,GAE3DA,GAAW,EACX/K,EAAU9xH,GAAI,GAGhBomH,GAAe4W,EAAkB5W,YACjC6W,GAAgB,CAClB,CAGF,GAAId,EAAW19H,GAAGuB,GAAKsmH,EAAQ9nH,OAAQ,CAGrC,GAFAw+H,EAAoB1W,EAAQxnH,EAAI,GAE5BsnH,GAAe2W,EAAat0G,EAAG,CACjC,IAAIg/F,EAAgBnB,EAAQxnH,EAAI,GAAGsnH,YAE/B2W,EAAaj+G,GAAKsnG,GAAe2W,EAAat0G,GAAK29F,EAAcqB,GACnE5pH,KAAK++H,WAAWT,EAAW19H,GAAGugB,EAAElgB,EAAI,GAAIq9H,EAAW19H,GAAG+9B,EAAE19B,EAAI,GAAIq9H,EAAW19H,GAAGA,EAAE,GAAI09H,EAAW19H,GAAGugB,EAAE,GAAI8yG,EAAWmL,EAAcJ,GACjIA,GAAW,IAEX7d,EAAU8L,IAAIjC,cAAcsT,EAAW19H,GAAGugB,EAAElgB,EAAI,GAAIq9H,EAAW19H,GAAGugB,EAAE,GAAIm9G,EAAW19H,GAAG+9B,EAAE19B,EAAI,GAAIq9H,EAAW19H,GAAGA,EAAE,IAAKs+H,EAAaj+G,EAAIsnG,GAAeqB,GAAgBsV,EAAat0G,EAAI29F,GAAeqB,EAAenB,EAAQxnH,EAAI,IAChOjB,KAAKi/H,oBAAoB9d,EAAS8S,EAAWmL,EAAcJ,GAE3DA,GAAW,EACX/K,EAAU9xH,GAAI,EAElB,MACE8xH,EAAU9xH,GAAI,EAGhBomH,GAAe4W,EAAkB5W,YACjC6W,GAAgB,CAClB,CAOA,GALInL,EAAU/L,UACZ+L,EAAUb,QAAQa,EAAU9yG,EAAEkpG,GAAS,GAAI4J,EAAU9yG,EAAEkpG,GAAS,GAAI,IAAKA,GACzE4J,EAAUb,QAAQa,EAAU9yG,EAAE8yG,EAAU/L,QAAU,GAAG,GAAI+L,EAAU9yG,EAAE8yG,EAAU/L,QAAU,GAAG,GAAI,IAAK+L,EAAU/L,QAAU,IAGvHK,EAAc2W,EAAat0G,EAC7B,MAGEhqB,EAAIojB,EAAM,IACZiwG,EAAYD,UAAU5L,aACtB4W,GAAW,EACX3nB,EAAO7xG,KAAKyuH,GACZmL,EAAe,EAEnB,CAEA,OAAO/nB,CACT,EAIAnI,gBAAgB,CAACiuB,eAAgBE,wBAEjCA,uBAAuBn9H,UAAUo9H,uBAAyB,SAAUroG,EAAM5vB,GACxErF,KAAKiyH,SAAWjyH,KAAKy9H,YACrBz9H,KAAKq/H,OAAS/M,gBAAgBC,QAAQt9F,EAAM5vB,EAAKke,EAAG,EAAG,KAAMvjB,MAC7DA,KAAK4yH,cAAgB5yH,KAAKq/H,OAAO9N,gBAAgB5wH,MACnD,EAEA08H,uBAAuBn9H,UAAUo/H,YAAc,SAAU1qH,EAAMyqH,GAC7D,IAAI7S,EAAU6S,EAAS,IACnBE,EAAc,CAAC,EAAG,GAClBC,EAAa5qH,EAAKszG,QAClBtnH,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAI4+H,EAAY5+H,GAAK,EAC/B2+H,EAAY,IAAM3qH,EAAKuM,EAAEvgB,GAAG,GAC5B2+H,EAAY,IAAM3qH,EAAKuM,EAAEvgB,GAAG,GAG9B2+H,EAAY,IAAMC,EAClBD,EAAY,IAAMC,EAClB,IAEIlM,EACAC,EACAC,EACAC,EACAC,EACAC,EAPA8L,EAAazL,UAAU5L,aAS3B,IARAqX,EAAWt9H,EAAIyS,EAAKzS,EAQfvB,EAAI,EAAGA,EAAI4+H,EAAY5+H,GAAK,EAC/B0yH,EAAK1+G,EAAKuM,EAAEvgB,GAAG,IAAM2+H,EAAY,GAAK3qH,EAAKuM,EAAEvgB,GAAG,IAAM4rH,EACtD+G,EAAK3+G,EAAKuM,EAAEvgB,GAAG,IAAM2+H,EAAY,GAAK3qH,EAAKuM,EAAEvgB,GAAG,IAAM4rH,EACtDgH,EAAK5+G,EAAK+pB,EAAE/9B,GAAG,IAAM2+H,EAAY,GAAK3qH,EAAK+pB,EAAE/9B,GAAG,KAAO4rH,EACvDiH,EAAK7+G,EAAK+pB,EAAE/9B,GAAG,IAAM2+H,EAAY,GAAK3qH,EAAK+pB,EAAE/9B,GAAG,KAAO4rH,EACvDkH,EAAK9+G,EAAKhU,EAAEA,GAAG,IAAM2+H,EAAY,GAAK3qH,EAAKhU,EAAEA,GAAG,KAAO4rH,EACvDmH,EAAK/+G,EAAKhU,EAAEA,GAAG,IAAM2+H,EAAY,GAAK3qH,EAAKhU,EAAEA,GAAG,KAAO4rH,EACvDiT,EAAWpM,YAAYC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI/yH,GAGjD,OAAO6+H,CACT,EAEApC,uBAAuBn9H,UAAUm+H,cAAgB,SAAU5M,GACzD,IAAI6M,EACA19H,EAEAK,EACA01G,EAIEgU,EACAyK,EAPFpxG,EAAMhkB,KAAKq3G,OAAO12G,OAGlB0+H,EAASr/H,KAAKq/H,OAAOl+G,EAEzB,GAAe,IAAXk+G,EAIF,IAAKz+H,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAI3B,GAFAw0H,GADAzK,EAAY3qH,KAAKq3G,OAAOz2G,IACSw0H,qBAE1BzK,EAAUuJ,MAAM9C,MAASpxH,KAAKoxH,MAASK,EAM5C,IALA2D,EAAqBd,gBACrB3J,EAAUuJ,MAAM9C,MAAO,EACvBkN,EAAa3T,EAAUuJ,MAAMiB,MAAM9d,OACnCV,EAAOgU,EAAUuJ,MAAMiB,MAAMjN,QAExBjnH,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzBm0H,EAAqBf,SAASr0H,KAAKs/H,YAAYhB,EAAWr9H,GAAIo+H,IAIlE1U,EAAUuJ,MAAMiB,MAAQxK,EAAUyK,oBACpC,CAGGp1H,KAAK2yH,kBAAkBhyH,SAC1BX,KAAKoxH,MAAO,EAEhB,EAEA,IAAIsO,yBAA2B,WAC7B,IAAIC,EAAgB,CAAC,EAAG,GAkLxB,SAASC,EAAkB3qG,EAAM5vB,EAAMqrE,GAwBrC,GAvBA1wE,KAAKi1B,KAAOA,EACZj1B,KAAKsxH,SAAW,EAChBtxH,KAAKytH,SAAW,YAChBztH,KAAKqF,KAAOA,EACZrF,KAAKmhB,EAAI,IAAIupC,OAEb1qD,KAAK4xC,IAAM,IAAI8Y,OACf1qD,KAAK6/H,uBAAyB,EAC9B7/H,KAAK8yH,6BAA6BpiD,GAAaz7C,GAE3C5vB,EAAKgZ,GAAKhZ,EAAKgZ,EAAE4C,GACnBjhB,KAAKk0E,GAAKo+C,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgZ,EAAE3Q,EAAG,EAAG,EAAG1N,MACxDA,KAAK8/H,GAAKxN,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgZ,EAAE1Q,EAAG,EAAG,EAAG3N,MAEpDqF,EAAKgZ,EAAEyzB,IACT9xC,KAAK+/H,GAAKzN,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgZ,EAAEyzB,EAAG,EAAG,EAAG9xC,QAG1DA,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgZ,GAAK,CAC/Cld,EAAG,CAAC,EAAG,EAAG,IACT,EAAG,EAAGnB,MAGPqF,EAAK26H,GAAI,CAKX,GAJAhgI,KAAKggI,GAAK1N,gBAAgBC,QAAQt9F,EAAM5vB,EAAK26H,GAAI,EAAGxtB,UAAWxyG,MAC/DA,KAAKigI,GAAK3N,gBAAgBC,QAAQt9F,EAAM5vB,EAAK46H,GAAI,EAAGztB,UAAWxyG,MAC/DA,KAAKkgI,GAAK5N,gBAAgBC,QAAQt9F,EAAM5vB,EAAK66H,GAAI,EAAG1tB,UAAWxyG,MAE3DqF,EAAK0xD,GAAG51D,EAAE,GAAGgyC,GAAI,CACnB,IAAIvyC,EACAojB,EAAM3e,EAAK0xD,GAAG51D,EAAER,OAEpB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxByE,EAAK0xD,GAAG51D,EAAEP,GAAGqgC,GAAK,KAClB57B,EAAK0xD,GAAG51D,EAAEP,GAAGuyC,GAAK,IAEtB,CAEAnzC,KAAK+2D,GAAKu7D,gBAAgBC,QAAQt9F,EAAM5vB,EAAK0xD,GAAI,EAAGy7C,UAAWxyG,MAE/DA,KAAK+2D,GAAGm4D,IAAK,CACf,MACElvH,KAAKqR,EAAIihH,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgM,GAAK,CAC/ClQ,EAAG,GACF,EAAGqxG,UAAWxyG,MAGfqF,EAAKmuF,KACPxzF,KAAKwzF,GAAK8+B,gBAAgBC,QAAQt9F,EAAM5vB,EAAKmuF,GAAI,EAAGgf,UAAWxyG,MAC/DA,KAAKwmF,GAAK8rC,gBAAgBC,QAAQt9F,EAAM5vB,EAAKmhF,GAAI,EAAGgsB,UAAWxyG,OAGjEA,KAAKujB,EAAI+uG,gBAAgBC,QAAQt9F,EAAM5vB,EAAKke,GAAK,CAC/CpiB,EAAG,CAAC,EAAG,EAAG,IACT,EAAG,EAAGnB,MACTA,KAAKihB,EAAIqxG,gBAAgBC,QAAQt9F,EAAM5vB,EAAK4b,GAAK,CAC/C9f,EAAG,CAAC,IAAK,IAAK,MACb,EAAG,IAAMnB,MAERqF,EAAKs5B,EACP3+B,KAAK2+B,EAAI2zF,gBAAgBC,QAAQt9F,EAAM5vB,EAAKs5B,EAAG,EAAG,IAAM1J,GAExDj1B,KAAK2+B,EAAI,CACPyyF,MAAM,EACNjwG,EAAG,GAIPnhB,KAAKmgI,UAAW,EAEXngI,KAAK2yH,kBAAkBhyH,QAC1BX,KAAKiyH,UAAS,EAElB,CAgBA,OAdA2N,EAAkB1/H,UAAY,CAC5BkgI,cA7PF,SAAuBC,GACrB,IAAIjP,EAAOpxH,KAAKoxH,KAChBpxH,KAAK6yH,2BACL7yH,KAAKoxH,KAAOpxH,KAAKoxH,MAAQA,EAErBpxH,KAAKujB,GACP88G,EAAIp2E,WAAWjqD,KAAKujB,EAAEpC,EAAE,IAAKnhB,KAAKujB,EAAEpC,EAAE,GAAInhB,KAAKujB,EAAEpC,EAAE,IAGjDnhB,KAAKihB,GACPo/G,EAAIr8E,MAAMhkD,KAAKihB,EAAEE,EAAE,GAAInhB,KAAKihB,EAAEE,EAAE,GAAInhB,KAAKihB,EAAEE,EAAE,IAG3CnhB,KAAKwzF,IACP6sC,EAAI9H,cAAcv4H,KAAKwzF,GAAGryE,EAAGnhB,KAAKwmF,GAAGrlE,GAGnCnhB,KAAKqR,EACPgvH,EAAIn2E,QAAQlqD,KAAKqR,EAAE8P,GAEnBk/G,EAAIhI,SAASr4H,KAAKkgI,GAAG/+G,GAAGi3G,QAAQp4H,KAAKigI,GAAG9+G,GAAGg3G,QAAQn4H,KAAKggI,GAAG7+G,GAAGk3G,SAASr4H,KAAK+2D,GAAG51C,EAAE,IAAIi3G,QAAQp4H,KAAK+2D,GAAG51C,EAAE,IAAIg3G,QAAQn4H,KAAK+2D,GAAG51C,EAAE,IAG3HnhB,KAAKqF,KAAKgZ,EAAE4C,EACVjhB,KAAKqF,KAAKgZ,EAAEyzB,EACduuF,EAAIp2E,UAAUjqD,KAAKk0E,GAAG/yD,EAAGnhB,KAAK8/H,GAAG3+G,GAAInhB,KAAK+/H,GAAG5+G,GAE7Ck/G,EAAIp2E,UAAUjqD,KAAKk0E,GAAG/yD,EAAGnhB,KAAK8/H,GAAG3+G,EAAG,GAGtCk/G,EAAIp2E,UAAUjqD,KAAKqe,EAAE8C,EAAE,GAAInhB,KAAKqe,EAAE8C,EAAE,IAAKnhB,KAAKqe,EAAE8C,EAAE,GAEtD,EA8NE8wG,SA5NF,SAAqBqO,GACnB,GAAItgI,KAAKi1B,KAAK+qF,WAAWsR,UAAYtxH,KAAKsxH,QAA1C,CAWA,GAPItxH,KAAKmgI,WACPngI,KAAKugI,qBACLvgI,KAAKmgI,UAAW,GAGlBngI,KAAK6yH,2BAED7yH,KAAKoxH,MAAQkP,EAAa,CAC5B,IAAI3hB,EAqBJ,GApBA3+G,KAAKmhB,EAAE84G,eAAej6H,KAAK4xC,IAAI+1D,OAE3B3nG,KAAK6/H,uBAAyB,GAChC7/H,KAAKmhB,EAAE8oC,WAAWjqD,KAAKujB,EAAEpC,EAAE,IAAKnhB,KAAKujB,EAAEpC,EAAE,GAAInhB,KAAKujB,EAAEpC,EAAE,IAGpDnhB,KAAK6/H,uBAAyB,GAChC7/H,KAAKmhB,EAAE6iC,MAAMhkD,KAAKihB,EAAEE,EAAE,GAAInhB,KAAKihB,EAAEE,EAAE,GAAInhB,KAAKihB,EAAEE,EAAE,IAG9CnhB,KAAKwzF,IAAMxzF,KAAK6/H,uBAAyB,GAC3C7/H,KAAKmhB,EAAEo3G,cAAcv4H,KAAKwzF,GAAGryE,EAAGnhB,KAAKwmF,GAAGrlE,GAGtCnhB,KAAKqR,GAAKrR,KAAK6/H,uBAAyB,EAC1C7/H,KAAKmhB,EAAE+oC,QAAQlqD,KAAKqR,EAAE8P,IACZnhB,KAAKqR,GAAKrR,KAAK6/H,uBAAyB,GAClD7/H,KAAKmhB,EAAEk3G,SAASr4H,KAAKkgI,GAAG/+G,GAAGi3G,QAAQp4H,KAAKigI,GAAG9+G,GAAGg3G,QAAQn4H,KAAKggI,GAAG7+G,GAAGk3G,SAASr4H,KAAK+2D,GAAG51C,EAAE,IAAIi3G,QAAQp4H,KAAK+2D,GAAG51C,EAAE,IAAIg3G,QAAQn4H,KAAK+2D,GAAG51C,EAAE,IAG9HnhB,KAAKwgI,aAAc,CACrB,IAAI5I,EACA6I,EAGJ,GAFA9hB,EAAY3+G,KAAKi1B,KAAK+qF,WAAWrB,UAE7B3+G,KAAKqe,GAAKre,KAAKqe,EAAE2vG,WAAahuH,KAAKqe,EAAEqiH,eACnC1gI,KAAKqe,EAAE0yG,SAAStC,UAAYzuH,KAAKqe,EAAEmvG,YAAcxtH,KAAKqe,EAAE2vG,UAAU,GAAGvqG,GACvEm0G,EAAK53H,KAAKqe,EAAEqiH,gBAAgB1gI,KAAKqe,EAAE2vG,UAAU,GAAGvqG,EAAI,KAAQk7F,EAAW,GACvE8hB,EAAKzgI,KAAKqe,EAAEqiH,eAAe1gI,KAAKqe,EAAE2vG,UAAU,GAAGvqG,EAAIk7F,EAAW,IACrD3+G,KAAKqe,EAAE0yG,SAAStC,UAAYzuH,KAAKqe,EAAEmvG,YAAcxtH,KAAKqe,EAAE2vG,UAAUhuH,KAAKqe,EAAE2vG,UAAUrtH,OAAS,GAAG8iB,GACxGm0G,EAAK53H,KAAKqe,EAAEqiH,eAAe1gI,KAAKqe,EAAE2vG,UAAUhuH,KAAKqe,EAAE2vG,UAAUrtH,OAAS,GAAG8iB,EAAIk7F,EAAW,GACxF8hB,EAAKzgI,KAAKqe,EAAEqiH,gBAAgB1gI,KAAKqe,EAAE2vG,UAAUhuH,KAAKqe,EAAE2vG,UAAUrtH,OAAS,GAAG8iB,EAAI,KAAQk7F,EAAW,KAEjGiZ,EAAK53H,KAAKqe,EAAEqvG,GACZ+S,EAAKzgI,KAAKqe,EAAEqiH,gBAAgB1gI,KAAKqe,EAAE0yG,SAAStC,UAAYzuH,KAAKqe,EAAEmvG,WAAa,KAAQ7O,EAAW3+G,KAAKqe,EAAEmvG,kBAEnG,GAAIxtH,KAAKk0E,IAAMl0E,KAAKk0E,GAAG85C,WAAahuH,KAAK8/H,GAAG9R,WAAahuH,KAAKk0E,GAAGwsD,gBAAkB1gI,KAAK8/H,GAAGY,eAAgB,CAChH9I,EAAK,GACL6I,EAAK,GACL,IAAIvsD,EAAKl0E,KAAKk0E,GACV4rD,EAAK9/H,KAAK8/H,GAEV5rD,EAAG68C,SAAStC,UAAYv6C,EAAGs5C,YAAct5C,EAAG85C,UAAU,GAAGvqG,GAC3Dm0G,EAAG,GAAK1jD,EAAGwsD,gBAAgBxsD,EAAG85C,UAAU,GAAGvqG,EAAI,KAAQk7F,EAAW,GAClEiZ,EAAG,GAAKkI,EAAGY,gBAAgBZ,EAAG9R,UAAU,GAAGvqG,EAAI,KAAQk7F,EAAW,GAClE8hB,EAAG,GAAKvsD,EAAGwsD,eAAexsD,EAAG85C,UAAU,GAAGvqG,EAAIk7F,EAAW,GACzD8hB,EAAG,GAAKX,EAAGY,eAAeZ,EAAG9R,UAAU,GAAGvqG,EAAIk7F,EAAW,IAChDzqC,EAAG68C,SAAStC,UAAYv6C,EAAGs5C,YAAct5C,EAAG85C,UAAU95C,EAAG85C,UAAUrtH,OAAS,GAAG8iB,GACxFm0G,EAAG,GAAK1jD,EAAGwsD,eAAexsD,EAAG85C,UAAU95C,EAAG85C,UAAUrtH,OAAS,GAAG8iB,EAAIk7F,EAAW,GAC/EiZ,EAAG,GAAKkI,EAAGY,eAAeZ,EAAG9R,UAAU8R,EAAG9R,UAAUrtH,OAAS,GAAG8iB,EAAIk7F,EAAW,GAC/E8hB,EAAG,GAAKvsD,EAAGwsD,gBAAgBxsD,EAAG85C,UAAU95C,EAAG85C,UAAUrtH,OAAS,GAAG8iB,EAAI,KAAQk7F,EAAW,GACxF8hB,EAAG,GAAKX,EAAGY,gBAAgBZ,EAAG9R,UAAU8R,EAAG9R,UAAUrtH,OAAS,GAAG8iB,EAAI,KAAQk7F,EAAW,KAExFiZ,EAAK,CAAC1jD,EAAGw5C,GAAIoS,EAAGpS,IAChB+S,EAAG,GAAKvsD,EAAGwsD,gBAAgBxsD,EAAG68C,SAAStC,UAAYv6C,EAAGs5C,WAAa,KAAQ7O,EAAWzqC,EAAGs5C,YACzFiT,EAAG,GAAKX,EAAGY,gBAAgBZ,EAAG/O,SAAStC,UAAYqR,EAAGtS,WAAa,KAAQ7O,EAAWmhB,EAAGtS,YAE7F,MAEEoK,EADA6I,EAAKd,EAIP3/H,KAAKmhB,EAAE+oC,QAAQ9lD,KAAKolD,MAAMouE,EAAG,GAAK6I,EAAG,GAAI7I,EAAG,GAAK6I,EAAG,IACtD,CAEIzgI,KAAKqF,KAAKgZ,GAAKre,KAAKqF,KAAKgZ,EAAE4C,EACzBjhB,KAAKqF,KAAKgZ,EAAEyzB,EACd9xC,KAAKmhB,EAAE8oC,UAAUjqD,KAAKk0E,GAAG/yD,EAAGnhB,KAAK8/H,GAAG3+G,GAAInhB,KAAK+/H,GAAG5+G,GAEhDnhB,KAAKmhB,EAAE8oC,UAAUjqD,KAAKk0E,GAAG/yD,EAAGnhB,KAAK8/H,GAAG3+G,EAAG,GAGzCnhB,KAAKmhB,EAAE8oC,UAAUjqD,KAAKqe,EAAE8C,EAAE,GAAInhB,KAAKqe,EAAE8C,EAAE,IAAKnhB,KAAKqe,EAAE8C,EAAE,GAEzD,CAEAnhB,KAAKsxH,QAAUtxH,KAAKi1B,KAAK+qF,WAAWsR,OAvFpC,CAwFF,EAkIEiP,mBAhIF,WAIE,GAHAvgI,KAAK6/H,uBAAyB,EAC9B7/H,KAAK4xC,IAAI6jF,SAEJz1H,KAAKujB,EAAEguG,gBAAgB5wH,SAC1BX,KAAK4xC,IAAIqY,WAAWjqD,KAAKujB,EAAEpC,EAAE,IAAKnhB,KAAKujB,EAAEpC,EAAE,GAAInhB,KAAKujB,EAAEpC,EAAE,IACxDnhB,KAAK6/H,uBAAyB,GAK3B7/H,KAAKihB,EAAEswG,gBAAgB5wH,QAA5B,CAOA,GANEX,KAAK4xC,IAAIoS,MAAMhkD,KAAKihB,EAAEE,EAAE,GAAInhB,KAAKihB,EAAEE,EAAE,GAAInhB,KAAKihB,EAAEE,EAAE,IAClDnhB,KAAK6/H,uBAAyB,EAK5B7/H,KAAKwzF,GAAI,CACX,GAAKxzF,KAAKwzF,GAAG+9B,gBAAgB5wH,QAAWX,KAAKwmF,GAAG+qC,gBAAgB5wH,OAI9D,OAHAX,KAAK4xC,IAAI2mF,cAAcv4H,KAAKwzF,GAAGryE,EAAGnhB,KAAKwmF,GAAGrlE,GAC1CnhB,KAAK6/H,uBAAyB,CAIlC,CAEI7/H,KAAKqR,EACFrR,KAAKqR,EAAEkgH,gBAAgB5wH,SAC1BX,KAAK4xC,IAAIsY,QAAQlqD,KAAKqR,EAAE8P,GACxBnhB,KAAK6/H,uBAAyB,GAEtB7/H,KAAKkgI,GAAG3O,gBAAgB5wH,QAAWX,KAAKigI,GAAG1O,gBAAgB5wH,QAAWX,KAAKggI,GAAGzO,gBAAgB5wH,QAAWX,KAAK+2D,GAAGw6D,gBAAgB5wH,SAC3IX,KAAK4xC,IAAIymF,SAASr4H,KAAKkgI,GAAG/+G,GAAGi3G,QAAQp4H,KAAKigI,GAAG9+G,GAAGg3G,QAAQn4H,KAAKggI,GAAG7+G,GAAGk3G,SAASr4H,KAAK+2D,GAAG51C,EAAE,IAAIi3G,QAAQp4H,KAAK+2D,GAAG51C,EAAE,IAAIg3G,QAAQn4H,KAAK+2D,GAAG51C,EAAE,IAClInhB,KAAK6/H,uBAAyB,EAlBhC,CAoBF,EA6FEc,WA3FF,WACE,GA4FFzxB,gBAAgB,CAACwjB,0BAA2BkN,GAC5CA,EAAkB1/H,UAAU4xH,mBA1F5B,SAA4B12F,GAC1Bp7B,KAAK4gI,oBAAoBxlG,GAEzBp7B,KAAKi1B,KAAK68F,mBAAmB12F,GAC7Bp7B,KAAKmgI,UAAW,CAClB,EAsFAP,EAAkB1/H,UAAU0gI,oBAAsBlO,yBAAyBxyH,UAAU4xH,mBAM9E,CACL+O,qBALF,SAA8B5rG,EAAM5vB,EAAMqrE,GACxC,OAAO,IAAIkvD,EAAkB3qG,EAAM5vB,EAAMqrE,EAC3C,EAKF,CAhR+B,GAkR/B,SAASowD,mBAAoB,CAkS7B,SAASC,uBAAwB,CA0HjC,SAASC,WAAWz9G,EAAGC,GACrB,OAAyB,IAAlBpf,KAAK8jC,IAAI3kB,EAAIC,IAAepf,KAAKjB,IAAIiB,KAAK8jC,IAAI3kB,GAAInf,KAAK8jC,IAAI1kB,GACpE,CAEA,SAASy9G,UAAUh2G,GACjB,OAAO7mB,KAAK8jC,IAAIjd,IAAM,IACxB,CAEA,SAASi2G,KAAKnL,EAAIC,EAAIqJ,GACpB,OAAOtJ,GAAM,EAAIsJ,GAAUrJ,EAAKqJ,CAClC,CAEA,SAAS8B,UAAUpL,EAAIC,EAAIqJ,GACzB,MAAO,CAAC6B,KAAKnL,EAAG,GAAIC,EAAG,GAAIqJ,GAAS6B,KAAKnL,EAAG,GAAIC,EAAG,GAAIqJ,GACzD,CAEA,SAAS+B,UAAU79G,EAAGC,EAAGrhB,GAEvB,GAAU,IAANohB,EAAS,MAAO,GACpB,IAAItC,EAAIuC,EAAIA,EAAI,EAAID,EAAIphB,EAExB,GAAI8e,EAAI,EAAG,MAAO,GAClB,IAAIogH,GAAc79G,GAAK,EAAID,GAE3B,GAAU,IAANtC,EAAS,MAAO,CAACogH,GACrB,IAAIC,EAAQl9H,KAAKyB,KAAKob,IAAM,EAAIsC,GAEhC,MAAO,CAAC89G,EAAaC,EAAOD,EAAaC,EAC3C,CAEA,SAASC,uBAAuBxL,EAAIC,EAAIkD,EAAIsI,GAC1C,MAAO,CAAO,EAAIxL,EAATD,EAAc,EAAImD,EAAKsI,EAAI,EAAIzL,EAAK,EAAIC,EAAK,EAAIkD,GAAK,EAAInD,EAAK,EAAIC,EAAID,EAClF,CAEA,SAAS0L,YAAYpjH,GACnB,OAAO,IAAIqjH,iBAAiBrjH,EAAGA,EAAGA,EAAGA,GAAG,EAC1C,CAEA,SAASqjH,iBAAiB3L,EAAIC,EAAIkD,EAAIsI,EAAIG,GACpCA,GAAaC,WAAW7L,EAAIC,KAC9BA,EAAKmL,UAAUpL,EAAIyL,EAAI,EAAI,IAGzBG,GAAaC,WAAW1I,EAAIsI,KAC9BtI,EAAKiI,UAAUpL,EAAIyL,EAAI,EAAI,IAG7B,IAAIK,EAASN,uBAAuBxL,EAAG,GAAIC,EAAG,GAAIkD,EAAG,GAAIsI,EAAG,IACxDM,EAASP,uBAAuBxL,EAAG,GAAIC,EAAG,GAAIkD,EAAG,GAAIsI,EAAG,IAC5DxhI,KAAKujB,EAAI,CAACs+G,EAAO,GAAIC,EAAO,IAC5B9hI,KAAKwjB,EAAI,CAACq+G,EAAO,GAAIC,EAAO,IAC5B9hI,KAAKmC,EAAI,CAAC0/H,EAAO,GAAIC,EAAO,IAC5B9hI,KAAK2jB,EAAI,CAACk+G,EAAO,GAAIC,EAAO,IAC5B9hI,KAAKmmH,OAAS,CAAC4P,EAAIC,EAAIkD,EAAIsI,EAC7B,CAkDA,SAASO,QAAQ9U,EAAK1V,GACpB,IAAIp0G,EAAM8pH,EAAI9G,OAAO,GAAG5O,GACpBn0G,EAAM6pH,EAAI9G,OAAO8G,EAAI9G,OAAOxlH,OAAS,GAAG42G,GAE5C,GAAIp0G,EAAMC,EAAK,CACb,IAAIwnB,EAAIxnB,EACRA,EAAMD,EACNA,EAAMynB,CACR,CAKA,IAFA,IAAIK,EAAIm2G,UAAU,EAAInU,EAAI1pG,EAAEg0F,GAAO,EAAI0V,EAAIzpG,EAAE+zF,GAAO0V,EAAI9qH,EAAEo1G,IAEjD32G,EAAI,EAAGA,EAAIqqB,EAAEtqB,OAAQC,GAAK,EACjC,GAAIqqB,EAAErqB,GAAK,GAAKqqB,EAAErqB,GAAK,EAAG,CACxB,IAAI+G,EAAMslH,EAAIxD,MAAMx+F,EAAErqB,IAAI22G,GACtB5vG,EAAMxE,EAAKA,EAAMwE,EAAaA,EAAMvE,IAAKA,EAAMuE,EACrD,CAGF,MAAO,CACLxE,IAAKA,EACLC,IAAKA,EAET,CAuBA,SAAS4+H,cAAc/U,EAAK7B,EAAI58E,GAC9B,IAAIyzF,EAAMhV,EAAI5tE,cACd,MAAO,CACL6iF,GAAID,EAAIC,GACR/tC,GAAI8tC,EAAI9tC,GACR3rF,MAAOy5H,EAAIz5H,MACX4M,OAAQ6sH,EAAI7sH,OACZ63G,IAAKA,EACLxpG,GAAI2nG,EAAK58E,GAAM,EACf48E,GAAIA,EACJ58E,GAAIA,EAER,CAEA,SAAS2zF,UAAU98H,GACjB,IAAI2I,EAAQ3I,EAAK4nH,IAAIj/G,MAAM,IAC3B,MAAO,CAACg0H,cAAch0H,EAAM,GAAI3I,EAAK+lH,GAAI/lH,EAAKoe,GAAIu+G,cAAch0H,EAAM,GAAI3I,EAAKoe,EAAGpe,EAAKmpC,IACzF,CAEA,SAAS4zF,aAAa7gF,EAAIC,GACxB,OAAiC,EAA1Bp9C,KAAK8jC,IAAIqZ,EAAG2gF,GAAK1gF,EAAG0gF,IAAU3gF,EAAG/4C,MAAQg5C,EAAGh5C,OAAmC,EAA1BpE,KAAK8jC,IAAIqZ,EAAG4yC,GAAK3yC,EAAG2yC,IAAU5yC,EAAGnsC,OAASosC,EAAGpsC,MAC3G,CAEA,SAASitH,eAAe91H,EAAIC,EAAI4J,EAAOksH,EAAWC,EAAeC,GAC/D,GAAKJ,aAAa71H,EAAIC,GAEtB,GAAI4J,GAASosH,GAAgBj2H,EAAG/D,OAAS85H,GAAa/1H,EAAG6I,QAAUktH,GAAa91H,EAAGhE,OAAS85H,GAAa91H,EAAG4I,QAAUktH,EACpHC,EAAc/8H,KAAK,CAAC+G,EAAGkX,EAAGjX,EAAGiX,QAD/B,CAKA,IAAIg/G,EAAMN,UAAU51H,GAChBm2H,EAAMP,UAAU31H,GACpB61H,eAAeI,EAAI,GAAIC,EAAI,GAAItsH,EAAQ,EAAGksH,EAAWC,EAAeC,GACpEH,eAAeI,EAAI,GAAIC,EAAI,GAAItsH,EAAQ,EAAGksH,EAAWC,EAAeC,GACpEH,eAAeI,EAAI,GAAIC,EAAI,GAAItsH,EAAQ,EAAGksH,EAAWC,EAAeC,GACpEH,eAAeI,EAAI,GAAIC,EAAI,GAAItsH,EAAQ,EAAGksH,EAAWC,EAAeC,EAPpE,CAQF,CAoBA,SAASG,aAAap/G,EAAGC,GACvB,MAAO,CAACD,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GAAID,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GAAID,EAAE,GAAKC,EAAE,GAAKD,EAAE,GAAKC,EAAE,GACvF,CAEA,SAASo/G,iBAAiBC,EAAQC,EAAMC,EAAQC,GAC9C,IAAIpL,EAAK,CAACiL,EAAO,GAAIA,EAAO,GAAI,GAC5BpC,EAAK,CAACqC,EAAK,GAAIA,EAAK,GAAI,GACxBG,EAAK,CAACF,EAAO,GAAIA,EAAO,GAAI,GAC5BG,EAAK,CAACF,EAAK,GAAIA,EAAK,GAAI,GACxB3xH,EAAIsxH,aAAaA,aAAa/K,EAAI6I,GAAKkC,aAAaM,EAAIC,IAC5D,OAAIjC,UAAU5vH,EAAE,IAAY,KACrB,CAACA,EAAE,GAAKA,EAAE,GAAIA,EAAE,GAAKA,EAAE,GAChC,CAEA,SAAS8xH,YAAY9kH,EAAG61C,EAAOvzD,GAC7B,MAAO,CAAC0d,EAAE,GAAKja,KAAKwwD,IAAIV,GAASvzD,EAAQ0d,EAAE,GAAKja,KAAKywD,IAAIX,GAASvzD,EACpE,CAEA,SAASyiI,cAAcpN,EAAIkD,GACzB,OAAO90H,KAAKi/H,MAAMrN,EAAG,GAAKkD,EAAG,GAAIlD,EAAG,GAAKkD,EAAG,GAC9C,CAEA,SAAS0I,WAAW5L,EAAIkD,GACtB,OAAO8H,WAAWhL,EAAG,GAAIkD,EAAG,KAAO8H,WAAWhL,EAAG,GAAIkD,EAAG,GAC1D,CAEA,SAASoK,iBAAkB,CAY3B,SAASC,SAASC,EAAc/Z,EAAOv1D,EAAOi2C,EAAWs5B,EAAWC,EAAcC,GAChF,IAAIC,EAAO1vE,EAAQ9vD,KAAKswD,GAAK,EACzBmvE,EAAO3vE,EAAQ9vD,KAAKswD,GAAK,EACzBwf,EAAKu1C,EAAM,GAAKrlH,KAAKwwD,IAAIV,GAASi2C,EAAYs5B,EAC9C3D,EAAKrW,EAAM,GAAKrlH,KAAKywD,IAAIX,GAASi2C,EAAYs5B,EAClDD,EAAanQ,YAAYn/C,EAAI4rD,EAAI5rD,EAAK9vE,KAAKwwD,IAAIgvE,GAAQF,EAAc5D,EAAK17H,KAAKywD,IAAI+uE,GAAQF,EAAcxvD,EAAK9vE,KAAKwwD,IAAIivE,GAAQF,EAAa7D,EAAK17H,KAAKywD,IAAIgvE,GAAQF,EAAaH,EAAa7iI,SAC9L,CAEA,SAASmjI,uBAAuB7a,EAAKC,GACnC,IAAI6a,EAAS,CAAC7a,EAAI,GAAKD,EAAI,GAAIC,EAAI,GAAKD,EAAI,IACxC+a,EAAiB,IAAV5/H,KAAKswD,GAEhB,MADoB,CAACtwD,KAAKwwD,IAAIovE,GAAOD,EAAO,GAAK3/H,KAAKywD,IAAImvE,GAAOD,EAAO,GAAI3/H,KAAKywD,IAAImvE,GAAOD,EAAO,GAAK3/H,KAAKwwD,IAAIovE,GAAOD,EAAO,GAEjI,CAEA,SAASE,mBAAmBrvH,EAAMsvH,GAChC,IAAIC,EAAoB,IAARD,EAAYtvH,EAAKjU,SAAW,EAAIujI,EAAM,EAClDE,GAAaF,EAAM,GAAKtvH,EAAKjU,SAG7B0jI,EAAUP,uBAFElvH,EAAKuM,EAAEgjH,GACPvvH,EAAKuM,EAAEijH,IAEvB,OAAOhgI,KAAKolD,MAAM,EAAG,GAAKplD,KAAKolD,MAAM66E,EAAQ,GAAIA,EAAQ,GAC3D,CAEA,SAASC,aAAad,EAAc5uH,EAAMsvH,EAAKT,EAAWc,EAAWC,EAAWr6B,GAC9E,IAAIj2C,EAAQ+vE,mBAAmBrvH,EAAMsvH,GACjCza,EAAQ70G,EAAKuM,EAAE+iH,EAAMtvH,EAAKszG,SAC1Buc,EAAY7vH,EAAKuM,EAAU,IAAR+iH,EAAYtvH,EAAKszG,QAAU,EAAIgc,EAAM,GACxDQ,EAAY9vH,EAAKuM,GAAG+iH,EAAM,GAAKtvH,EAAKszG,SACpCyc,EAAyB,IAAdH,EAAkBpgI,KAAKyB,KAAKzB,KAAKC,IAAIolH,EAAM,GAAKgb,EAAU,GAAI,GAAKrgI,KAAKC,IAAIolH,EAAM,GAAKgb,EAAU,GAAI,IAAM,EACtHG,EAAyB,IAAdJ,EAAkBpgI,KAAKyB,KAAKzB,KAAKC,IAAIolH,EAAM,GAAKib,EAAU,GAAI,GAAKtgI,KAAKC,IAAIolH,EAAM,GAAKib,EAAU,GAAI,IAAM,EAC1HnB,SAASC,EAAc5uH,EAAKuM,EAAE+iH,EAAMtvH,EAAKszG,SAAUh0D,EAAOi2C,EAAWs5B,EAAWmB,GAA8B,GAAjBL,EAAY,IAASI,GAA8B,GAAjBJ,EAAY,IAASC,EACtJ,CAEA,SAASK,cAAcrB,EAAcriB,EAASsiB,EAAWc,EAAWC,EAAWr6B,GAC7E,IAAK,IAAIvpG,EAAI,EAAGA,EAAI2jI,EAAW3jI,GAAK,EAAG,CACrC,IAAI6iB,GAAK7iB,EAAI,IAAM2jI,EAAY,GAC3BO,EAAqB,IAAdN,EAAkBpgI,KAAKyB,KAAKzB,KAAKC,IAAI88G,EAAQgF,OAAO,GAAG,GAAKhF,EAAQgF,OAAO,GAAG,GAAI,GAAK/hH,KAAKC,IAAI88G,EAAQgF,OAAO,GAAG,GAAKhF,EAAQgF,OAAO,GAAG,GAAI,IAAM,EAC1JjyD,EAAQitD,EAAQ4jB,YAAYthH,GAEhC8/G,SAASC,EADGriB,EAAQsI,MAAMhmG,GACIywC,EAAOi2C,EAAWs5B,EAAWqB,GAA0B,GAAjBP,EAAY,IAASO,GAA0B,GAAjBP,EAAY,IAASC,GACvHr6B,GAAaA,CACf,CAEA,OAAOA,CACT,CAqEA,SAAS66B,aAAahP,EAAIkD,EAAImG,GAC5B,IAAInrE,EAAQ9vD,KAAKolD,MAAM0vE,EAAG,GAAKlD,EAAG,GAAIkD,EAAG,GAAKlD,EAAG,IACjD,MAAO,CAACmN,YAAYnN,EAAI9hE,EAAOmrE,GAAS8D,YAAYjK,EAAIhlE,EAAOmrE,GACjE,CAEA,SAAS4F,cAAc9jB,EAASke,GAC9B,IAAItJ,EACAmP,EACAC,EACAC,EACAC,EACA7D,EACA52G,EAEJmrG,GADAnrG,EAAIo6G,aAAa7jB,EAAQgF,OAAO,GAAIhF,EAAQgF,OAAO,GAAIkZ,IAChD,GACP6F,EAAMt6G,EAAE,GAERu6G,GADAv6G,EAAIo6G,aAAa7jB,EAAQgF,OAAO,GAAIhF,EAAQgF,OAAO,GAAIkZ,IAC/C,GACR+F,EAAMx6G,EAAE,GAERy6G,GADAz6G,EAAIo6G,aAAa7jB,EAAQgF,OAAO,GAAIhF,EAAQgF,OAAO,GAAIkZ,IAC/C,GACRmC,EAAK52G,EAAE,GACP,IAAIorG,EAAK4M,iBAAiB7M,EAAImP,EAAKC,EAAKC,GAC7B,OAAPpP,IAAaA,EAAKkP,GACtB,IAAIhM,EAAK0J,iBAAiByC,EAAK7D,EAAI2D,EAAKC,GAExC,OADW,OAAPlM,IAAaA,EAAKmM,GACf,IAAI3D,iBAAiB3L,EAAIC,EAAIkD,EAAIsI,EAC1C,CAEA,SAAS8D,UAAU9B,EAAc+B,EAAMC,EAAMx5D,EAAUM,GACrD,IAAIypD,EAAKwP,EAAKpf,OAAO,GACjB6P,EAAKwP,EAAKrf,OAAO,GAErB,GAAiB,IAAbn6C,EAAgB,OAAO+pD,EAE3B,GAAI6L,WAAW7L,EAAIC,GAAK,OAAOD,EAE/B,GAAiB,IAAb/pD,EAAgB,CAClB,IAAIy5D,GAAYF,EAAKG,aAAa,GAC9BC,GAAWH,EAAKE,aAAa,GAAKthI,KAAKswD,GACvCkxE,EAAShD,iBAAiB7M,EAAIoN,YAAYpN,EAAI0P,EAAWrhI,KAAKswD,GAAK,EAAG,KAAMshE,EAAImN,YAAYnN,EAAIyP,EAAWrhI,KAAKswD,GAAK,EAAG,MACxHoZ,EAAS83D,EAASxC,cAAcwC,EAAQ7P,GAAMqN,cAAcrN,EAAIC,GAAM,EACtEt5E,EAAMymF,YAAYpN,EAAI0P,EAAU,EAAI33D,EAAS2kC,aAIjD,OAHA+wB,EAAapQ,QAAQ12E,EAAI,GAAIA,EAAI,GAAI,IAAK8mF,EAAa7iI,SAAW,GAClE+7C,EAAMymF,YAAYnN,EAAI2P,EAAS,EAAI73D,EAAS2kC,aAC5C+wB,EAAanQ,YAAY2C,EAAG,GAAIA,EAAG,GAAIA,EAAG,GAAIA,EAAG,GAAIt5E,EAAI,GAAIA,EAAI,GAAI8mF,EAAa7iI,UAC3Eq1H,CACT,CAGA,IAEI6P,EAAejD,iBAFVhB,WAAW7L,EAAIwP,EAAKpf,OAAO,IAAMof,EAAKpf,OAAO,GAAKof,EAAKpf,OAAO,GAE/B4P,EAAIC,EADnC4L,WAAW5L,EAAIwP,EAAKrf,OAAO,IAAMqf,EAAKrf,OAAO,GAAKqf,EAAKrf,OAAO,IAGvE,OAAI0f,GAAgBzC,cAAcyC,EAAc9P,GAAMzpD,GACpDk3D,EAAanQ,YAAYwS,EAAa,GAAIA,EAAa,GAAIA,EAAa,GAAIA,EAAa,GAAIA,EAAa,GAAIA,EAAa,GAAIrC,EAAa7iI,UACrIklI,GAGF9P,CACT,CAEA,SAAS+P,gBAAgBviH,EAAGC,GAC1B,IAAIuiH,EAAYxiH,EAAEg/G,cAAc/+G,GAEhC,OADIuiH,EAAUplI,QAAUqgI,WAAW+E,EAAU,GAAG,GAAI,IAAIA,EAAU53F,QAC9D43F,EAAUplI,OAAeolI,EAAU,GAChC,IACT,CAEA,SAASC,yBAAyBziH,EAAGC,GACnC,IAAIyiH,EAAO1iH,EAAEljB,QACT6lI,EAAO1iH,EAAEnjB,QACT0lI,EAAYD,gBAAgBviH,EAAEA,EAAE5iB,OAAS,GAAI6iB,EAAE,IAOnD,OALIuiH,IACFE,EAAK1iH,EAAE5iB,OAAS,GAAK4iB,EAAEA,EAAE5iB,OAAS,GAAGqN,MAAM+3H,EAAU,IAAI,GACzDG,EAAK,GAAK1iH,EAAE,GAAGxV,MAAM+3H,EAAU,IAAI,IAGjCxiH,EAAE5iB,OAAS,GAAK6iB,EAAE7iB,OAAS,IAC7BolI,EAAYD,gBAAgBviH,EAAE,GAAIC,EAAEA,EAAE7iB,OAAS,KAGtC,CAAC,CAAC4iB,EAAE,GAAGvV,MAAM+3H,EAAU,IAAI,IAAK,CAACviH,EAAEA,EAAE7iB,OAAS,GAAGqN,MAAM+3H,EAAU,IAAI,KAIzE,CAACE,EAAMC,EAChB,CAEA,SAASC,mBAAmB97B,GAG1B,IAFA,IAAIz/E,EAEKhqB,EAAI,EAAGA,EAAIypG,EAAS1pG,OAAQC,GAAK,EACxCgqB,EAAIo7G,yBAAyB37B,EAASzpG,EAAI,GAAIypG,EAASzpG,IACvDypG,EAASzpG,EAAI,GAAKgqB,EAAE,GACpBy/E,EAASzpG,GAAKgqB,EAAE,GASlB,OANIy/E,EAAS1pG,OAAS,IACpBiqB,EAAIo7G,yBAAyB37B,EAASA,EAAS1pG,OAAS,GAAI0pG,EAAS,IACrEA,EAASA,EAAS1pG,OAAS,GAAKiqB,EAAE,GAClCy/E,EAAS,GAAKz/E,EAAE,IAGXy/E,CACT,CAEA,SAAS+7B,mBAAmBjlB,EAASke,GAOnC,IACI/sG,EACAF,EACApkB,EACAq4H,EAJAC,EAAOnlB,EAAQolB,mBAMnB,GAAoB,IAAhBD,EAAK3lI,OACP,MAAO,CAACskI,cAAc9jB,EAASke,IAGjC,GAAoB,IAAhBiH,EAAK3lI,QAAgBqgI,WAAWsF,EAAK,GAAI,GAI3C,OAFAh0G,GADAtkB,EAAQmzG,EAAQnzG,MAAMs4H,EAAK,KACd,GACbl0G,EAAQpkB,EAAM,GACP,CAACi3H,cAAc3yG,EAAM+sG,GAAS4F,cAAc7yG,EAAOitG,IAI5D/sG,GADAtkB,EAAQmzG,EAAQnzG,MAAMs4H,EAAK,KACd,GACb,IAAI7iH,GAAK6iH,EAAK,GAAKA,EAAK,KAAO,EAAIA,EAAK,IAIxC,OAFAD,GADAr4H,EAAQA,EAAM,GAAGA,MAAMyV,IACX,GACZ2O,EAAQpkB,EAAM,GACP,CAACi3H,cAAc3yG,EAAM+sG,GAAS4F,cAAcoB,EAAKhH,GAAS4F,cAAc7yG,EAAOitG,GACxF,CAEA,SAASmH,qBAAsB,CAwG/B,SAASC,kBAAkBC,GAOzB,IANA,IAAIj3G,EAASi3G,EAASC,OAASD,EAASC,OAAO34H,MAAM,KAAO,GACxD44H,EAAU,SACVD,EAAS,SACT3iH,EAAMyL,EAAO9uB,OAGRC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAG5B,OAFY6uB,EAAO7uB,GAAG4C,eAGpB,IAAK,SACHmjI,EAAS,SACT,MAEF,IAAK,OACHC,EAAU,MACV,MAEF,IAAK,QACHA,EAAU,MACV,MAEF,IAAK,SACHA,EAAU,MACV,MAEF,IAAK,UACL,IAAK,SACHA,EAAU,MACV,MAEF,IAAK,QACL,IAAK,OACHA,EAAU,MAQhB,MAAO,CACLvxG,MAAOsxG,EACP77D,OAAQ47D,EAASE,SAAWA,EAEhC,CAriCA13B,gBAAgB,CAACiuB,eAAgB2D,kBAEjCA,iBAAiB5gI,UAAUo9H,uBAAyB,SAAUroG,EAAM5vB,GAClErF,KAAKiyH,SAAWjyH,KAAKy9H,YACrBz9H,KAAKmC,EAAImwH,gBAAgBC,QAAQt9F,EAAM5vB,EAAKlD,EAAG,EAAG,KAAMnC,MACxDA,KAAK2+B,EAAI2zF,gBAAgBC,QAAQt9F,EAAM5vB,EAAKs5B,EAAG,EAAG,KAAM3+B,MACxDA,KAAK8uC,GAAK4wF,yBAAyBmB,qBAAqB5rG,EAAM5vB,EAAKypC,GAAI9uC,MACvEA,KAAKyzF,GAAK6+B,gBAAgBC,QAAQt9F,EAAM5vB,EAAKypC,GAAG2kD,GAAI,EAAG,IAAMzzF,MAC7DA,KAAK0xF,GAAK4gC,gBAAgBC,QAAQt9F,EAAM5vB,EAAKypC,GAAG4iD,GAAI,EAAG,IAAM1xF,MAC7DA,KAAKqF,KAAOA,EAEPrF,KAAK2yH,kBAAkBhyH,QAC1BX,KAAKiyH,UAAS,GAGhBjyH,KAAK4yH,cAAgB5yH,KAAK2yH,kBAAkBhyH,OAC5CX,KAAK6mI,QAAU,IAAIn8E,OACnB1qD,KAAK8mI,QAAU,IAAIp8E,OACnB1qD,KAAK+mI,QAAU,IAAIr8E,OACnB1qD,KAAKgnI,QAAU,IAAIt8E,OACnB1qD,KAAKk/C,OAAS,IAAIwL,MACpB,EAEAo2E,iBAAiB5gI,UAAU+mI,gBAAkB,SAAUJ,EAASC,EAASC,EAASzgH,EAAWgjG,EAAM4d,GACjG,IAAI1c,EAAM0c,GAAO,EAAI,EACjBx4D,EAASpoD,EAAUrF,EAAEE,EAAE,IAAM,EAAImF,EAAUrF,EAAEE,EAAE,KAAO,EAAImoG,GAC1D6d,EAAS7gH,EAAUrF,EAAEE,EAAE,IAAM,EAAImF,EAAUrF,EAAEE,EAAE,KAAO,EAAImoG,GAC9Dud,EAAQ58E,UAAU3jC,EAAUjI,EAAE8C,EAAE,GAAKqpG,EAAMlB,EAAMhjG,EAAUjI,EAAE8C,EAAE,GAAKqpG,EAAMlB,EAAMhjG,EAAUjI,EAAE8C,EAAE,IAC9F2lH,EAAQ78E,WAAW3jC,EAAU/C,EAAEpC,EAAE,IAAKmF,EAAU/C,EAAEpC,EAAE,GAAImF,EAAU/C,EAAEpC,EAAE,IACtE2lH,EAAQ58E,QAAQ5jC,EAAUjV,EAAE8P,EAAIqpG,EAAMlB,GACtCwd,EAAQ78E,UAAU3jC,EAAU/C,EAAEpC,EAAE,GAAImF,EAAU/C,EAAEpC,EAAE,GAAImF,EAAU/C,EAAEpC,EAAE,IACpE4lH,EAAQ98E,WAAW3jC,EAAU/C,EAAEpC,EAAE,IAAKmF,EAAU/C,EAAEpC,EAAE,GAAImF,EAAU/C,EAAEpC,EAAE,IACtE4lH,EAAQ/iF,MAAMkjF,EAAM,EAAIx4D,EAASA,EAAQw4D,EAAM,EAAIC,EAASA,GAC5DJ,EAAQ98E,UAAU3jC,EAAU/C,EAAEpC,EAAE,GAAImF,EAAU/C,EAAEpC,EAAE,GAAImF,EAAU/C,EAAEpC,EAAE,GACtE,EAEA2/G,iBAAiB5gI,UAAUgjH,KAAO,SAAUjuF,EAAMvtB,EAAK0G,EAAKg5H,GAY1D,IAXApnI,KAAKi1B,KAAOA,EACZj1B,KAAK0H,IAAMA,EACX1H,KAAKoO,IAAMA,EACXpO,KAAKonI,UAAYA,EACjBpnI,KAAKqnI,eAAiB,EACtBrnI,KAAKsnI,UAAY,GACjBtnI,KAAKunI,QAAU,GACfvnI,KAAKsxH,SAAW,EAChBtxH,KAAK8yH,6BAA6B79F,GAClCj1B,KAAKs9H,uBAAuBroG,EAAMvtB,EAAI0G,IAE/BA,EAAM,GACXA,GAAO,EAEPpO,KAAKsnI,UAAUv4E,QAAQrnD,EAAI0G,IAGzBpO,KAAK2yH,kBAAkBhyH,OACzBX,KAAKmB,GAAI,EAETnB,KAAKiyH,UAAS,EAElB,EAEA6O,iBAAiB5gI,UAAUsnI,cAAgB,SAAUC,GACnD,IAAI7mI,EACAojB,EAAMyjH,EAAS9mI,OAEnB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB6mI,EAAS7mI,GAAG8mI,YAAa,EAEF,OAAnBD,EAAS7mI,GAAGmpD,IACd/pD,KAAKwnI,cAAcC,EAAS7mI,GAAGgf,GAGrC,EAEAkhH,iBAAiB5gI,UAAUynI,cAAgB,SAAUF,GACnD,IAAIG,EAAc1/H,KAAKC,MAAMD,KAAKE,UAAUq/H,IAE5C,OADAznI,KAAKwnI,cAAcI,GACZA,CACT,EAEA9G,iBAAiB5gI,UAAU2nI,kBAAoB,SAAUJ,EAAUK,GACjE,IAAIlnI,EACAojB,EAAMyjH,EAAS9mI,OAEnB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB6mI,EAAS7mI,GAAGmnI,QAAUD,EAEC,OAAnBL,EAAS7mI,GAAGmpD,IACd/pD,KAAK6nI,kBAAkBJ,EAAS7mI,GAAGgf,GAAIkoH,EAG7C,EAEAhH,iBAAiB5gI,UAAUm+H,cAAgB,SAAU5M,GACnD,IAAIuW,EACAC,EACArnI,EACA4pH,EACA0d,EACAC,GAAc,EAElB,GAAInoI,KAAKoxH,MAAQK,EAAe,CAC9B,IAmEIqW,EAnEAM,EAAShkI,KAAK4gC,KAAKhlC,KAAKmC,EAAEgf,GAE9B,GAAInhB,KAAKunI,QAAQ5mI,OAASynI,EAAQ,CAChC,KAAOpoI,KAAKunI,QAAQ5mI,OAASynI,GAAQ,CACnC,IAAIC,EAAQ,CACVzoH,GAAI5f,KAAK2nI,cAAc3nI,KAAKsnI,WAC5Bv9E,GAAI,MAENs+E,EAAMzoH,GAAGpa,KAAK,CACZ+d,EAAG,CACDA,EAAG,EACH+kH,GAAI,EACJnnI,EAAG,CAAC,EAAG,IAET68G,GAAI,YACJr/E,EAAG,CACDpb,EAAG,EACH+kH,GAAI,EACJnnI,EAAG,KAELkd,EAAG,CACDkF,EAAG,EACH+kH,GAAI,EACJnnI,EAAG,CAAC,EAAG,IAETkQ,EAAG,CACDkS,EAAG,EACH+kH,GAAI,EACJnnI,EAAG,CAAC,CACF8f,EAAG,EACH2J,EAAG,EACHnH,EAAG,GACF,CACDxC,EAAG,EACH2J,EAAG,EACHnH,EAAG,KAGPxC,EAAG,CACDsC,EAAG,EACH+kH,GAAI,EACJnnI,EAAG,CAAC,IAAK,MAEXqlF,GAAI,CACFjjE,EAAG,EACH+kH,GAAI,EACJnnI,EAAG,GAELqyF,GAAI,CACFjwE,EAAG,EACH+kH,GAAI,EACJnnI,EAAG,GAEL4oD,GAAI,OAEN/pD,KAAK0H,IAAIuC,OAAO,EAAG,EAAGo+H,GAEtBroI,KAAKunI,QAAQt9H,OAAO,EAAG,EAAGo+H,GAE1BroI,KAAKqnI,gBAAkB,CACzB,CAEArnI,KAAKi1B,KAAKszG,eACVJ,GAAc,CAChB,CAKA,IAHAD,EAAO,EAGFtnI,EAAI,EAAGA,GAAKZ,KAAKunI,QAAQ5mI,OAAS,EAAGC,GAAK,EAAG,CAKhD,GAJAknI,EAAaI,EAAOE,EACpBpoI,KAAKunI,QAAQ3mI,GAAGmnI,QAAUD,EAC1B9nI,KAAK6nI,kBAAkB7nI,KAAKunI,QAAQ3mI,GAAGgf,GAAIkoH,IAEtCA,EAAY,CACf,IAAIU,EAAQxoI,KAAKonI,UAAUxmI,GAAGgf,GAC1B6oH,EAAgBD,EAAMA,EAAM7nI,OAAS,GAEJ,IAAjC8nI,EAAcniH,UAAUkxC,GAAGr2C,GAC7BsnH,EAAcniH,UAAUkxC,GAAG45D,MAAO,EAClCqX,EAAcniH,UAAUkxC,GAAGr2C,EAAI,GAE/BsnH,EAAcniH,UAAUkxC,GAAG45D,MAAO,CAEtC,CAEA8W,GAAQ,CACV,CAEAloI,KAAKqnI,eAAiBe,EAEtB,IAAIt5E,EAAS9uD,KAAK2+B,EAAExd,EAChBunH,EAAe55E,EAAS,EACxB65E,EAAc75E,EAAS,EAAI1qD,KAAKK,MAAMqqD,GAAU1qD,KAAK4gC,KAAK8pB,GAC1D85E,EAAS5oI,KAAK6mI,QAAQl/B,MACtBkhC,EAAS7oI,KAAK8mI,QAAQn/B,MACtBmhC,EAAS9oI,KAAK+mI,QAAQp/B,MAC1B3nG,KAAK6mI,QAAQpR,QACbz1H,KAAK8mI,QAAQrR,QACbz1H,KAAK+mI,QAAQtR,QACbz1H,KAAKgnI,QAAQvR,QACbz1H,KAAKk/C,OAAOu2E,QACZ,IA2BIx0H,EACA01G,EA5BAoyB,EAAY,EAEhB,GAAIj6E,EAAS,EAAG,CACd,KAAOi6E,EAAYJ,GACjB3oI,KAAKinI,gBAAgBjnI,KAAK6mI,QAAS7mI,KAAK8mI,QAAS9mI,KAAK+mI,QAAS/mI,KAAK8uC,GAAI,GAAG,GAC3Ei6F,GAAa,EAGXL,IACF1oI,KAAKinI,gBAAgBjnI,KAAK6mI,QAAS7mI,KAAK8mI,QAAS9mI,KAAK+mI,QAAS/mI,KAAK8uC,GAAI45F,GAAc,GACtFK,GAAaL,EAEjB,MAAO,GAAI55E,EAAS,EAAG,CACrB,KAAOi6E,EAAYJ,GACjB3oI,KAAKinI,gBAAgBjnI,KAAK6mI,QAAS7mI,KAAK8mI,QAAS9mI,KAAK+mI,QAAS/mI,KAAK8uC,GAAI,GAAG,GAC3Ei6F,GAAa,EAGXL,IACF1oI,KAAKinI,gBAAgBjnI,KAAK6mI,QAAS7mI,KAAK8mI,QAAS9mI,KAAK+mI,QAAS/mI,KAAK8uC,IAAK45F,GAAc,GACvFK,GAAaL,EAEjB,CAQA,IANA9nI,EAAoB,IAAhBZ,KAAKqF,KAAKO,EAAU,EAAI5F,KAAKqnI,eAAiB,EAClD7c,EAAsB,IAAhBxqH,KAAKqF,KAAKO,EAAU,GAAK,EAC/BsiI,EAAOloI,KAAKqnI,eAILa,GAAM,CAQX,GALAvxB,GADAsxB,GADAD,EAAQhoI,KAAKonI,UAAUxmI,GAAGgf,IACHooH,EAAMrnI,OAAS,GAAG2lB,UAAU0iH,OAAO7nH,EAAEwmF,OACtChnG,OACtBqnI,EAAMA,EAAMrnI,OAAS,GAAG2lB,UAAU0iH,OAAO5X,MAAO,EAChD4W,EAAMA,EAAMrnI,OAAS,GAAG2lB,UAAUkxC,GAAG45D,MAAO,EAC5C4W,EAAMA,EAAMrnI,OAAS,GAAG2lB,UAAUkxC,GAAGr2C,EAA4B,IAAxBnhB,KAAKqnI,eAAuBrnI,KAAKyzF,GAAGtyE,EAAInhB,KAAKyzF,GAAGtyE,GAAKnhB,KAAK0xF,GAAGvwE,EAAInhB,KAAKyzF,GAAGtyE,IAAMvgB,GAAKZ,KAAKqnI,eAAiB,IAEjI,IAAd0B,EAAiB,CASnB,KARU,IAANnoI,GAAmB,IAAR4pH,GAAa5pH,IAAMZ,KAAKqnI,eAAiB,IAAc,IAAT7c,IAC3DxqH,KAAKinI,gBAAgBjnI,KAAK6mI,QAAS7mI,KAAK8mI,QAAS9mI,KAAK+mI,QAAS/mI,KAAK8uC,GAAI,GAAG,GAG7E9uC,KAAKk/C,OAAO54B,UAAUuiH,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,KACvM7oI,KAAKk/C,OAAO54B,UAAUwiH,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,KACvM9oI,KAAKk/C,OAAO54B,UAAUsiH,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,IAAKA,EAAO,KAElM3nI,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzBgnI,EAAehnI,GAAKjB,KAAKk/C,OAAOyoD,MAAM1mG,GAGxCjB,KAAKk/C,OAAOu2E,OACd,MAGE,IAFAz1H,KAAKk/C,OAAOu2E,QAEPx0H,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzBgnI,EAAehnI,GAAKjB,KAAKk/C,OAAOyoD,MAAM1mG,GAI1C8nI,GAAa,EACbb,GAAQ,EACRtnI,GAAK4pH,CACP,CACF,MAKE,IAJA0d,EAAOloI,KAAKqnI,eACZzmI,EAAI,EACJ4pH,EAAM,EAEC0d,GAELD,GADAD,EAAQhoI,KAAKonI,UAAUxmI,GAAGgf,IACHooH,EAAMrnI,OAAS,GAAG2lB,UAAU0iH,OAAO7nH,EAAEwmF,MAC5DqgC,EAAMA,EAAMrnI,OAAS,GAAG2lB,UAAU0iH,OAAO5X,MAAO,EAChD4W,EAAMA,EAAMrnI,OAAS,GAAG2lB,UAAUkxC,GAAG45D,MAAO,EAC5C8W,GAAQ,EACRtnI,GAAK4pH,EAIT,OAAO2d,CACT,EAEArH,iBAAiB5gI,UAAUm0H,SAAW,WAAa,EAInDnlB,gBAAgB,CAACiuB,eAAgB4D,sBAEjCA,qBAAqB7gI,UAAUo9H,uBAAyB,SAAUroG,EAAM5vB,GACtErF,KAAKiyH,SAAWjyH,KAAKy9H,YACrBz9H,KAAKqgF,GAAKiyC,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgM,EAAG,EAAG,KAAMrR,MACzDA,KAAK4yH,cAAgB5yH,KAAKqgF,GAAGkxC,gBAAgB5wH,MAC/C,EAEAogI,qBAAqB7gI,UAAUo/H,YAAc,SAAU1qH,EAAM0M,GAC3D,IAEI1gB,EAFA6+H,EAAazL,UAAU5L,aAC3BqX,EAAWt9H,EAAIyS,EAAKzS,EAEpB,IACI8mI,EACAC,EACAC,EACAC,EACAC,EACAC,EAEAhW,EACAC,EACAC,EACAC,EACAC,EACAC,EAbA3vG,EAAMpP,EAAKszG,QAOXp/G,EAAQ,EAQZ,IAAKlI,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBqoI,EAAWr0H,EAAKuM,EAAEvgB,GAClBuoI,EAAWv0H,EAAK+pB,EAAE/9B,GAClBsoI,EAAWt0H,EAAKhU,EAAEA,GAEdqoI,EAAS,KAAOE,EAAS,IAAMF,EAAS,KAAOE,EAAS,IAAMF,EAAS,KAAOC,EAAS,IAAMD,EAAS,KAAOC,EAAS,GAC7G,IAANtoI,GAAWA,IAAMojB,EAAM,GAAOpP,EAAKzS,GASpCinI,EADQ,IAANxoI,EACQgU,EAAKuM,EAAE6C,EAAM,GAEbpP,EAAKuM,EAAEvgB,EAAI,GAIvB0oI,GADAD,EAAWjlI,KAAKyB,KAAKzB,KAAKC,IAAI4kI,EAAS,GAAKG,EAAQ,GAAI,GAAKhlI,KAAKC,IAAI4kI,EAAS,GAAKG,EAAQ,GAAI,KACxEhlI,KAAKjB,IAAIkmI,EAAW,EAAG/nH,GAAS+nH,EAAW,EAEnE/V,EADAI,EAAKuV,EAAS,IAAMG,EAAQ,GAAKH,EAAS,IAAMK,EAGhD/V,EADAI,EAAKsV,EAAS,IAAMA,EAAS,GAAKG,EAAQ,IAAME,EAEhD9V,EAAKF,GAAMA,EAAK2V,EAAS,IAAMx2B,YAC/BghB,EAAKF,GAAMA,EAAK0V,EAAS,IAAMx2B,YAC/BgtB,EAAWpM,YAAYC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI7qH,GAC/CA,GAAS,EAGPsgI,EADExoI,IAAMojB,EAAM,EACJpP,EAAKuM,EAAE,GAEPvM,EAAKuM,EAAEvgB,EAAI,GAIvB0oI,GADAD,EAAWjlI,KAAKyB,KAAKzB,KAAKC,IAAI4kI,EAAS,GAAKG,EAAQ,GAAI,GAAKhlI,KAAKC,IAAI4kI,EAAS,GAAKG,EAAQ,GAAI,KACxEhlI,KAAKjB,IAAIkmI,EAAW,EAAG/nH,GAAS+nH,EAAW,EAEnE/V,EADAE,EAAKyV,EAAS,IAAMG,EAAQ,GAAKH,EAAS,IAAMK,EAGhD/V,EADAE,EAAKwV,EAAS,IAAMG,EAAQ,GAAKH,EAAS,IAAMK,EAEhD5V,EAAKJ,GAAMA,EAAK2V,EAAS,IAAMx2B,YAC/BkhB,EAAKJ,GAAMA,EAAK0V,EAAS,IAAMx2B,YAC/BgtB,EAAWpM,YAAYC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI7qH,GAC/CA,GAAS,IAvCT22H,EAAWpM,YAAY4V,EAAS,GAAIA,EAAS,GAAIE,EAAS,GAAIA,EAAS,GAAID,EAAS,GAAIA,EAAS,GAAIpgI,GAKrGA,GAAS,IAqCX22H,EAAWpM,YAAYz+G,EAAKuM,EAAEvgB,GAAG,GAAIgU,EAAKuM,EAAEvgB,GAAG,GAAIgU,EAAK+pB,EAAE/9B,GAAG,GAAIgU,EAAK+pB,EAAE/9B,GAAG,GAAIgU,EAAKhU,EAAEA,GAAG,GAAIgU,EAAKhU,EAAEA,GAAG,GAAIkI,GAC3GA,GAAS,GAIb,OAAO22H,CACT,EAEAsB,qBAAqB7gI,UAAUm+H,cAAgB,SAAU5M,GACvD,IAAI6M,EACA19H,EAEAK,EACA01G,EAIEgU,EACAyK,EAPFpxG,EAAMhkB,KAAKq3G,OAAO12G,OAGlB0/E,EAAKrgF,KAAKqgF,GAAGl/D,EAEjB,GAAW,IAAPk/D,EAIF,IAAKz/E,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAI3B,GAFAw0H,GADAzK,EAAY3qH,KAAKq3G,OAAOz2G,IACSw0H,qBAE1BzK,EAAUuJ,MAAM9C,MAASpxH,KAAKoxH,MAASK,EAM5C,IALA2D,EAAqBd,gBACrB3J,EAAUuJ,MAAM9C,MAAO,EACvBkN,EAAa3T,EAAUuJ,MAAMiB,MAAM9d,OACnCV,EAAOgU,EAAUuJ,MAAMiB,MAAMjN,QAExBjnH,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzBm0H,EAAqBf,SAASr0H,KAAKs/H,YAAYhB,EAAWr9H,GAAIo/E,IAIlEsqC,EAAUuJ,MAAMiB,MAAQxK,EAAUyK,oBACpC,CAGGp1H,KAAK2yH,kBAAkBhyH,SAC1BX,KAAKoxH,MAAO,EAEhB,EA0DAsQ,iBAAiBxhI,UAAUupH,MAAQ,SAAUhmG,GAC3C,MAAO,GAAGzjB,KAAKujB,EAAE,GAAKE,EAAIzjB,KAAKwjB,EAAE,IAAMC,EAAIzjB,KAAKmC,EAAE,IAAMshB,EAAIzjB,KAAK2jB,EAAE,KAAM3jB,KAAKujB,EAAE,GAAKE,EAAIzjB,KAAKwjB,EAAE,IAAMC,EAAIzjB,KAAKmC,EAAE,IAAMshB,EAAIzjB,KAAK2jB,EAAE,GACpI,EAEA+9G,iBAAiBxhI,UAAUqpI,WAAa,SAAU9lH,GAChD,MAAO,EAAE,EAAIA,EAAIzjB,KAAKujB,EAAE,GAAK,EAAIvjB,KAAKwjB,EAAE,IAAMC,EAAIzjB,KAAKmC,EAAE,IAAK,EAAIshB,EAAIzjB,KAAKujB,EAAE,GAAK,EAAIvjB,KAAKwjB,EAAE,IAAMC,EAAIzjB,KAAKmC,EAAE,GAChH,EAEAu/H,iBAAiBxhI,UAAUwlI,aAAe,SAAUjiH,GAClD,IAAIpF,EAAIre,KAAKupI,WAAW9lH,GACxB,OAAOrf,KAAKolD,MAAMnrC,EAAE,GAAIA,EAAE,GAC5B,EAEAqjH,iBAAiBxhI,UAAU6kI,YAAc,SAAUthH,GACjD,IAAIpF,EAAIre,KAAKupI,WAAW9lH,GACxB,OAAOrf,KAAKolD,MAAMnrC,EAAE,GAAIA,EAAE,GAC5B,EAEAqjH,iBAAiBxhI,UAAUqmI,iBAAmB,WAC5C,IAAIiD,EAAQxpI,KAAKujB,EAAE,GAAKvjB,KAAKwjB,EAAE,GAAKxjB,KAAKujB,EAAE,GAAKvjB,KAAKwjB,EAAE,GACvD,GAAIy9G,UAAUuI,GAAQ,MAAO,GAC7B,IAAIC,GAAS,IAAOzpI,KAAKujB,EAAE,GAAKvjB,KAAKmC,EAAE,GAAKnC,KAAKujB,EAAE,GAAKvjB,KAAKmC,EAAE,IAAMqnI,EACjE9vE,EAAS+vE,EAAQA,EAAQ,EAAI,GAAKzpI,KAAKwjB,EAAE,GAAKxjB,KAAKmC,EAAE,GAAKnC,KAAKwjB,EAAE,GAAKxjB,KAAKmC,EAAE,IAAMqnI,EACvF,GAAI9vE,EAAS,EAAG,MAAO,GACvB,IAAImb,EAAOzwE,KAAKyB,KAAK6zD,GAErB,OAAIunE,UAAUpsD,GACRA,EAAO,GAAKA,EAAO,EAAU,CAAC40D,GAC3B,GAGF,CAACA,EAAQ50D,EAAM40D,EAAQ50D,GAAMnvE,QAAO,SAAU2L,GACnD,OAAOA,EAAI,GAAKA,EAAI,CACtB,GACF,EAEAqwH,iBAAiBxhI,UAAU8N,MAAQ,SAAUyV,GAC3C,GAAIA,GAAK,EAAG,MAAO,CAACg+G,YAAYzhI,KAAKmmH,OAAO,IAAKnmH,MACjD,GAAIyjB,GAAK,EAAG,MAAO,CAACzjB,KAAMyhI,YAAYzhI,KAAKmmH,OAAOnmH,KAAKmmH,OAAOxlH,OAAS,KACvE,IAAI+oI,EAAMvI,UAAUnhI,KAAKmmH,OAAO,GAAInmH,KAAKmmH,OAAO,GAAI1iG,GAChDkmH,EAAMxI,UAAUnhI,KAAKmmH,OAAO,GAAInmH,KAAKmmH,OAAO,GAAI1iG,GAChDu3G,EAAMmG,UAAUnhI,KAAKmmH,OAAO,GAAInmH,KAAKmmH,OAAO,GAAI1iG,GAChDmmH,EAAMzI,UAAUuI,EAAKC,EAAKlmH,GAC1BomH,EAAM1I,UAAUwI,EAAK3O,EAAKv3G,GAC1B+9G,EAAKL,UAAUyI,EAAKC,EAAKpmH,GAC7B,MAAO,CAAC,IAAIi+G,iBAAiB1hI,KAAKmmH,OAAO,GAAIujB,EAAKE,EAAKpI,GAAI,GAAO,IAAIE,iBAAiBF,EAAIqI,EAAK7O,EAAKh7H,KAAKmmH,OAAO,IAAI,GACvH,EA4BAub,iBAAiBxhI,UAAUgnE,OAAS,WAClC,MAAO,CACLx5D,EAAGq0H,QAAQ/hI,KAAM,GACjB2N,EAAGo0H,QAAQ/hI,KAAM,GAErB,EAEA0hI,iBAAiBxhI,UAAUm/C,YAAc,WACvC,IAAI6nB,EAASlnE,KAAKknE,SAClB,MAAO,CACL50C,KAAM40C,EAAOx5D,EAAEvK,IACfivB,MAAO80C,EAAOx5D,EAAEtK,IAChB+uB,IAAK+0C,EAAOv5D,EAAExK,IACdkvB,OAAQ60C,EAAOv5D,EAAEvK,IACjBoF,MAAO0+D,EAAOx5D,EAAEtK,IAAM8jE,EAAOx5D,EAAEvK,IAC/BiS,OAAQ8xD,EAAOv5D,EAAEvK,IAAM8jE,EAAOv5D,EAAExK,IAChC++H,IAAKh7D,EAAOx5D,EAAEtK,IAAM8jE,EAAOx5D,EAAEvK,KAAO,EACpCgxF,IAAKjtB,EAAOv5D,EAAEvK,IAAM8jE,EAAOv5D,EAAExK,KAAO,EAExC,EAyCAu+H,iBAAiBxhI,UAAUqiI,cAAgB,SAAUuH,EAAOxH,EAAWE,QACnDv/H,IAAdq/H,IAAyBA,EAAY,QACpBr/H,IAAjBu/H,IAA4BA,EAAe,GAC/C,IAAID,EAAgB,GAEpB,OADAF,eAAeL,cAAchiI,KAAM,EAAG,GAAIgiI,cAAc8H,EAAO,EAAG,GAAI,EAAGxH,EAAWC,EAAeC,GAC5FD,CACT,EAEAb,iBAAiBxC,aAAe,SAAUjL,EAAWnrH,GACnD,IAAIs7H,GAAat7H,EAAQ,GAAKmrH,EAAUtzH,SACxC,OAAO,IAAI+gI,iBAAiBzN,EAAU9yG,EAAErY,GAAQmrH,EAAUt1F,EAAE71B,GAAQmrH,EAAUrzH,EAAEwjI,GAAYnQ,EAAU9yG,EAAEijH,IAAY,EACtH,EAEA1C,iBAAiBqI,qBAAuB,SAAU9V,EAAWnrH,GAC3D,IAAIs7H,GAAat7H,EAAQ,GAAKmrH,EAAUtzH,SACxC,OAAO,IAAI+gI,iBAAiBzN,EAAU9yG,EAAEijH,GAAYnQ,EAAUrzH,EAAEwjI,GAAYnQ,EAAUt1F,EAAE71B,GAAQmrH,EAAU9yG,EAAErY,IAAQ,EACtH,EA8BAomG,gBAAgB,CAACiuB,eAAgBmG,gBAEjCA,eAAepjI,UAAUo9H,uBAAyB,SAAUroG,EAAM5vB,GAChErF,KAAKiyH,SAAWjyH,KAAKy9H,YACrBz9H,KAAKyjI,UAAYnR,gBAAgBC,QAAQt9F,EAAM5vB,EAAK4b,EAAG,EAAG,KAAMjhB,MAChEA,KAAKukI,UAAYjS,gBAAgBC,QAAQt9F,EAAM5vB,EAAKgM,EAAG,EAAG,KAAMrR,MAChEA,KAAKgqI,WAAa1X,gBAAgBC,QAAQt9F,EAAM5vB,EAAKihD,GAAI,EAAG,KAAMtmD,MAClEA,KAAK4yH,YAAwD,IAA1C5yH,KAAKyjI,UAAUlS,gBAAgB5wH,QAA0D,IAA1CX,KAAKukI,UAAUhT,gBAAgB5wH,QAA2D,IAA3CX,KAAKgqI,WAAWzY,gBAAgB5wH,MACnJ,EAiDA2iI,eAAepjI,UAAUo/H,YAAc,SAAU1qH,EAAM6uH,EAAWc,EAAWC,GAC3E,IAAI18H,EAAQ8M,EAAKszG,QACbuX,EAAazL,UAAU5L,aAO3B,GANAqX,EAAWt9H,EAAIyS,EAAKzS,EAEfyS,EAAKzS,IACR2F,GAAS,GAGG,IAAVA,EAAa,OAAO23H,EACxB,IAAIt1B,GAAa,EACbgX,EAAUugB,iBAAiBxC,aAAatqH,EAAM,GAClD0vH,aAAa7E,EAAY7qH,EAAM,EAAG6uH,EAAWc,EAAWC,EAAWr6B,GAEnE,IAAK,IAAIvpG,EAAI,EAAGA,EAAIkH,EAAOlH,GAAK,EAC9BupG,EAAY06B,cAAcpF,EAAYte,EAASsiB,EAAWc,EAAWC,GAAYr6B,GAK/EgX,EAHEvgH,IAAMkH,EAAQ,GAAM8M,EAAKzS,EAGjBu/H,iBAAiBxC,aAAatqH,GAAOhU,EAAI,GAAKkH,GAF9C,KAKZw8H,aAAa7E,EAAY7qH,EAAMhU,EAAI,EAAG6iI,EAAWc,EAAWC,EAAWr6B,GAGzE,OAAOs1B,CACT,EAEA6D,eAAepjI,UAAUm+H,cAAgB,SAAU5M,GACjD,IAAI6M,EACA19H,EAEAK,EACA01G,EAMEgU,EACAyK,EATFpxG,EAAMhkB,KAAKq3G,OAAO12G,OAGlB8iI,EAAYzjI,KAAKyjI,UAAUtiH,EAC3BojH,EAAYngI,KAAKhB,IAAI,EAAGgB,KAAKkd,MAAMthB,KAAKukI,UAAUpjH,IAClDqjH,EAAYxkI,KAAKgqI,WAAW7oH,EAEhC,GAAkB,IAAdsiH,EAIF,IAAK7iI,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAI3B,GAFAw0H,GADAzK,EAAY3qH,KAAKq3G,OAAOz2G,IACSw0H,qBAE1BzK,EAAUuJ,MAAM9C,MAASpxH,KAAKoxH,MAASK,EAM5C,IALA2D,EAAqBd,gBACrB3J,EAAUuJ,MAAM9C,MAAO,EACvBkN,EAAa3T,EAAUuJ,MAAMiB,MAAM9d,OACnCV,EAAOgU,EAAUuJ,MAAMiB,MAAMjN,QAExBjnH,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzBm0H,EAAqBf,SAASr0H,KAAKs/H,YAAYhB,EAAWr9H,GAAIwiI,EAAWc,EAAWC,IAIxF7Z,EAAUuJ,MAAMiB,MAAQxK,EAAUyK,oBACpC,CAGGp1H,KAAK2yH,kBAAkBhyH,SAC1BX,KAAKoxH,MAAO,EAEhB,EAiJAliB,gBAAgB,CAACiuB,eAAgBqJ,oBAEjCA,mBAAmBtmI,UAAUo9H,uBAAyB,SAAUroG,EAAM5vB,GACpErF,KAAKiyH,SAAWjyH,KAAKy9H,YACrBz9H,KAAKq/H,OAAS/M,gBAAgBC,QAAQt9F,EAAM5vB,EAAKke,EAAG,EAAG,KAAMvjB,MAC7DA,KAAKssE,WAAagmD,gBAAgBC,QAAQt9F,EAAM5vB,EAAK0tC,GAAI,EAAG,KAAM/yC,MAClEA,KAAKgsE,SAAW3mE,EAAK4kI,GACrBjqI,KAAK4yH,YAAqD,IAAvC5yH,KAAKq/H,OAAO9N,gBAAgB5wH,MACjD,EAEA6lI,mBAAmBtmI,UAAUo/H,YAAc,SAAU4K,EAAa7K,EAAQrzD,EAAUM,GAClF,IAAIk3D,EAAexP,UAAU5L,aAC7Bob,EAAarhI,EAAI+nI,EAAY/nI,EAC7B,IAMIvB,EACAK,EACAkgH,EARAr5G,EAAQoiI,EAAYvpI,SAEnBupI,EAAY/nI,IACf2F,GAAS,GAMX,IAAIqiI,EAAgB,GAEpB,IAAKvpI,EAAI,EAAGA,EAAIkH,EAAOlH,GAAK,EAC1BugH,EAAUugB,iBAAiBxC,aAAagL,EAAatpI,GACrDupI,EAAc3kI,KAAK4gI,mBAAmBjlB,EAASke,IAGjD,IAAK6K,EAAY/nI,EACf,IAAKvB,EAAIkH,EAAQ,EAAGlH,GAAK,EAAGA,GAAK,EAC/BugH,EAAUugB,iBAAiBqI,qBAAqBG,EAAatpI,GAC7DupI,EAAc3kI,KAAK4gI,mBAAmBjlB,EAASke,IAInD8K,EAAgBhE,mBAAmBgE,GAEnC,IAAI59D,EAAY,KACZ69D,EAAU,KAEd,IAAKxpI,EAAI,EAAGA,EAAIupI,EAAcxpI,OAAQC,GAAK,EAAG,CAC5C,IAAIypI,EAAeF,EAAcvpI,GAIjC,IAHIwpI,IAAS79D,EAAY+4D,UAAU9B,EAAc4G,EAASC,EAAa,GAAIr+D,EAAUM,IACrF89D,EAAUC,EAAaA,EAAa1pI,OAAS,GAExCM,EAAI,EAAGA,EAAIopI,EAAa1pI,OAAQM,GAAK,EACxCkgH,EAAUkpB,EAAappI,GAEnBsrE,GAAaq1D,WAAWzgB,EAAQgF,OAAO,GAAI55C,GAC7Ci3D,EAAapQ,QAAQjS,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAI,IAAKqd,EAAa7iI,SAAW,GAE9F6iI,EAAanQ,YAAYlS,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAIqd,EAAa7iI,UAG5K6iI,EAAanQ,YAAYlS,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAIhF,EAAQgF,OAAO,GAAG,GAAIqd,EAAa7iI,UAC1K4rE,EAAY40C,EAAQgF,OAAO,EAE/B,CAGA,OADIgkB,EAAcxpI,QAAQ2kI,UAAU9B,EAAc4G,EAASD,EAAc,GAAG,GAAIn+D,EAAUM,GACnFk3D,CACT,EAEAgD,mBAAmBtmI,UAAUm+H,cAAgB,SAAU5M,GACrD,IAAI6M,EACA19H,EAEAK,EACA01G,EAMEgU,EACAyK,EATFpxG,EAAMhkB,KAAKq3G,OAAO12G,OAGlB0+H,EAASr/H,KAAKq/H,OAAOl+G,EACrBmrD,EAAatsE,KAAKssE,WAAWnrD,EAC7B6qD,EAAWhsE,KAAKgsE,SAEpB,GAAe,IAAXqzD,EAIF,IAAKz+H,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAI3B,GAFAw0H,GADAzK,EAAY3qH,KAAKq3G,OAAOz2G,IACSw0H,qBAE1BzK,EAAUuJ,MAAM9C,MAASpxH,KAAKoxH,MAASK,EAM5C,IALA2D,EAAqBd,gBACrB3J,EAAUuJ,MAAM9C,MAAO,EACvBkN,EAAa3T,EAAUuJ,MAAMiB,MAAM9d,OACnCV,EAAOgU,EAAUuJ,MAAMiB,MAAMjN,QAExBjnH,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzBm0H,EAAqBf,SAASr0H,KAAKs/H,YAAYhB,EAAWr9H,GAAIo+H,EAAQrzD,EAAUM,IAIpFq+C,EAAUuJ,MAAMiB,MAAQxK,EAAUyK,oBACpC,CAGGp1H,KAAK2yH,kBAAkBhyH,SAC1BX,KAAKoxH,MAAO,EAEhB,EAkDA,IAAIkZ,YAAc,WAChB,IACIC,EAAY,CACd56F,EAAG,EACH1mC,KAAM,EACNouG,OAAQ,GACRhyG,KAAM,CACJgyG,OAAQ,KAGRmzB,EAAqB,GAEzBA,EAAqBA,EAAmBt9H,OAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAChP,IAAIu9H,EAAwB,OAMxBC,EAAkC,OAClCC,EAAkC,OAClCC,EAAqB,CAAC,WAAY,WAAY,WAAY,WAAY,YAiB1E,SAASC,EAAUh3G,EAAMg3C,GACvB,IAAI+B,EAAaqiC,UAAU,QAE3BriC,EAAWo4C,aAAa,eAAe,GACvCp4C,EAAWv3C,MAAM2B,WAAa6zC,EAC9B,IAAIigE,EAAO77B,UAAU,QAErB67B,EAAKx+G,UAAY,iBAEjBsgD,EAAWv3C,MAAMi8C,SAAW,WAC5B1E,EAAWv3C,MAAM/C,KAAO,WACxBs6C,EAAWv3C,MAAMlD,IAAM,WAEvBy6C,EAAWv3C,MAAMtE,SAAW,QAE5B67C,EAAWv3C,MAAM01G,YAAc,SAC/Bn+D,EAAWv3C,MAAMvB,UAAY,SAC7B84C,EAAWv3C,MAAMyB,WAAa,SAC9B81C,EAAWv3C,MAAM21G,cAAgB,IACjCp+D,EAAWmF,YAAY+4D,GACvBllH,SAASyG,KAAK0lD,YAAYnF,GAE1B,IAAIpkE,EAAQsiI,EAAKp5D,YAEjB,OADAo5D,EAAKz1G,MAAM2B,WAtCb,SAAyBnD,GACvB,IACIjzB,EADAqqI,EAAcp3G,EAAK7lB,MAAM,KAEzBgW,EAAMinH,EAAYtqI,OAClBuqI,EAAkB,GAEtB,IAAKtqI,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACD,eAAnBqqI,EAAYrqI,IAA0C,cAAnBqqI,EAAYrqI,IACjDsqI,EAAgB1lI,KAAKylI,EAAYrqI,IAIrC,OAAOsqI,EAAgBjlI,KAAK,IAC9B,CAyB0BklI,CAAgBt3G,GAAQ,KAAOg3C,EAChD,CACLigE,KAAMA,EACNn7F,EAAGnnC,EACH4iI,OAAQx+D,EAEZ,CA6CA,SAASy+D,EAAa3E,EAAU4E,GAC9B,IACIC,EADAC,EAAS5lH,SAASyG,MAAQi/G,EAAM,MAAQ,SAExCG,EAAYhF,kBAAkBC,GAElC,GAAe,QAAX8E,EAAkB,CACpB,IAAIE,EAAUn2B,SAAS,QACvBm2B,EAAQr2G,MAAMtE,SAAW,QAEzB26G,EAAQ1mB,aAAa,cAAe0hB,EAASiF,SAC7CD,EAAQ1mB,aAAa,aAAcymB,EAAUp2G,OAC7Cq2G,EAAQ1mB,aAAa,cAAeymB,EAAU3gE,QAC9C4gE,EAAQ1xG,YAAc,IAElB0sG,EAASkF,QACXF,EAAQr2G,MAAM2B,WAAa,UAC3B00G,EAAQ1mB,aAAa,QAAS0hB,EAASkF,SAEvCF,EAAQr2G,MAAM2B,WAAa0vG,EAASiF,QAGtCL,EAAIv5D,YAAY25D,GAChBH,EAASG,CACX,KAAO,CACL,IAAIG,EAAgB,IAAIC,gBAAgB,IAAK,KAAKnjE,WAAW,MAC7DkjE,EAAch4G,KAAO43G,EAAUp2G,MAAQ,IAAMo2G,EAAU3gE,OAAS,UAAY47D,EAASiF,QACrFJ,EAASM,CACX,CAWA,MAAO,CACLj9D,YAVF,SAAiBpkE,GACf,MAAe,QAAXghI,GACFD,EAAOvxG,YAAcxvB,EACd+gI,EAAOQ,yBAGTR,EAAO38D,YAAYpkE,GAAMhC,KAClC,EAKF,CAwMA,SAASwjI,EAAahmI,GACpB,IAAIimI,EAAY,EACZt/H,EAAQ3G,EAAO5E,WAAW,GAE9B,GAAIuL,GAAS,OAAUA,GAAS,MAAQ,CACtC,IAAIyM,EAASpT,EAAO5E,WAAW,GAE3BgY,GAAU,OAAUA,GAAU,QAChC6yH,EAA+B,MAAlBt/H,EAAQ,OAAkByM,EAAS,MAAS,MAE7D,CAEA,OAAO6yH,CACT,CAsBA,SAASC,EAAelmI,GACtB,IAAIimI,EAAYD,EAAahmI,GAE7B,OAAIimI,GAAavB,GAAmCuB,GAAatB,CAKnE,CA2CA,IAAIwB,EAAO,WACTnsI,KAAKw0D,MAAQ,GACbx0D,KAAKs4G,MAAQ,KACbt4G,KAAKosI,cAAgB,EACrBpsI,KAAK0+G,UAAW,EAChB1+G,KAAKqsI,SAAU,EACfrsI,KAAK8jH,SAAWx4G,KAAKD,MACrBrL,KAAKssI,kBAAoBtsI,KAAKusI,YAAY3uF,KAAK59C,MAC/CA,KAAKwsI,uBAAyBxsI,KAAKysI,iBAAiB7uF,KAAK59C,KAC3D,EAEAmsI,EAAKO,WAjFL,SAAoBC,EAAeC,GACjC,IAAInjI,EAAMkjI,EAAc5rI,SAAS,IAAM6rI,EAAe7rI,SAAS,IAC/D,OAA4C,IAArC6pI,EAAmBhjI,QAAQ6B,EACpC,EA+EA0iI,EAAKU,kBA7EL,SAA2BC,GACzB,OArWiC,OAqW1BA,CACT,EA4EAX,EAAKY,YApDL,SAAqB/mI,GACnB,OAAOkmI,EAAelmI,EAAOkB,OAAO,EAAG,KAAOglI,EAAelmI,EAAOkB,OAAO,EAAG,GAChF,EAmDAilI,EAAKD,eAAiBA,EACtBC,EAAKa,oBAlDL,SAA6BC,GAC3B,OAA+C,IAAxCzC,EAAmB5iI,QAAQqlI,EACpC,EAiDAd,EAAKe,eA5CL,SAAwB1iI,EAAM1B,GAC5B,IAAImjI,EAAYD,EAAaxhI,EAAKtD,OAAO4B,EAAO,IAEhD,GAAImjI,IAAcxB,EAChB,OAAO,EAGT,IAAI3iI,EAAQ,EAGZ,IAFAgB,GAAS,EAEFhB,EAAQ,GAAG,CAGhB,IAFAmkI,EAAYD,EAAaxhI,EAAKtD,OAAO4B,EAAO,KAvZzB,QAyZiBmjI,EAxZjB,OAyZjB,OAAO,EAGTnkI,GAAS,EACTgB,GAAS,CACX,CAEA,OAla0B,SAkanBkjI,EAAaxhI,EAAKtD,OAAO4B,EAAO,GACzC,EAuBAqjI,EAAKgB,oBA3EL,SAA6BL,GAC3B,OA7WqC,QA6W9BA,CACT,EA0EAX,EAAK1B,sBAAwBA,EAC7B,IAAI2C,EAAgB,CAClBrsB,SArMF,SAAkBzI,GAChB,GAAKA,EAAL,CAQA,IAAI13G,EAJCZ,KAAKs4G,QACRt4G,KAAKs4G,MAAQ,IAIf,IACIr3G,EAEAosI,EAHArpH,EAAMs0F,EAAM33G,OAEZg2G,EAAO32G,KAAKs4G,MAAM33G,OAGtB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAI3B,IAHAK,EAAI,EACJosI,GAAQ,EAEDpsI,EAAI01G,GACL32G,KAAKs4G,MAAMr3G,GAAGo0B,QAAUijF,EAAM13G,GAAGy0B,OAASr1B,KAAKs4G,MAAMr3G,GAAG0qI,UAAYrzB,EAAM13G,GAAG+qI,SAAW3rI,KAAKs4G,MAAMr3G,GAAGqwF,KAAOgnB,EAAM13G,GAAG0wF,KACxH+7C,GAAQ,GAGVpsI,GAAK,EAGFosI,IACHrtI,KAAKs4G,MAAM9yG,KAAK8yG,EAAM13G,IACtB+1G,GAAQ,EAEZ,CA5BA,CA6BF,EAsKEqK,SAjTF,SAAkB0lB,EAAUzmB,GAC1B,GAAKymB,EAAL,CAKA,GAAI1mI,KAAKs4G,MAGP,OAFAt4G,KAAK0+G,UAAW,OAChB1+G,KAAKw0D,MAAQkyE,EAAS4G,MAIxB,IAAK1nH,SAASyG,KAOZ,OANArsB,KAAK0+G,UAAW,EAChBgoB,EAAS4G,KAAK//H,SAAQ,SAAUlI,GAC9BA,EAAKkmI,OAASF,EAAahmI,GAC3BA,EAAKu9F,MAAQ,CAAC,CAChB,SACA5iG,KAAKw0D,MAAQkyE,EAAS4G,MAIxB,IACI1sI,EADA2sI,EAAU7G,EAAS4G,KAEnBtpH,EAAMupH,EAAQ5sI,OACd6sI,EAAgBxpH,EAEpB,IAAKpjB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAC3B,IACI6sI,EACAxsI,EAFAysI,GAAiB,EAOrB,GAJAH,EAAQ3sI,GAAG+sI,QAAS,EACpBJ,EAAQ3sI,GAAGgtI,SAAW/C,EAAU0C,EAAQ3sI,GAAG+qI,QAAS,aACpD4B,EAAQ3sI,GAAGitI,SAAWhD,EAAU0C,EAAQ3sI,GAAG+qI,QAAS,cAE/C4B,EAAQ3sI,GAAGktI,OAGT,GAA2B,MAAvBP,EAAQ3sI,GAAGmtI,SAAyC,IAAtBR,EAAQ3sI,GAAGkrB,QAOlD,IANA2hH,EAAiB7nH,SAASooH,iBAAiB,kCAAoCT,EAAQ3sI,GAAG+qI,QAAU,qCAAuC4B,EAAQ3sI,GAAG+qI,QAAU,OAE7IhrI,OAAS,IAC1B+sI,GAAiB,GAGfA,EAAgB,CAClB,IAAIzsH,EAAIguF,UAAU,SAClBhuF,EAAE+jG,aAAa,YAAauoB,EAAQ3sI,GAAGmtI,SACvC9sH,EAAE+jG,aAAa,WAAYuoB,EAAQ3sI,GAAGkrB,QACtC7K,EAAE+jG,aAAa,WAAYuoB,EAAQ3sI,GAAG+qI,SACtC1qH,EAAE3d,KAAO,WACT2d,EAAEqL,UAAY,4BAA8BihH,EAAQ3sI,GAAG+qI,QAAU,mCAAqC4B,EAAQ3sI,GAAGktI,MAAQ,OACzH7tB,EAAKluC,YAAY9wD,EACnB,OACK,GAA2B,MAAvBssH,EAAQ3sI,GAAGmtI,SAAyC,IAAtBR,EAAQ3sI,GAAGkrB,OAAc,CAGhE,IAFA2hH,EAAiB7nH,SAASooH,iBAAiB,2CAEtC/sI,EAAI,EAAGA,EAAIwsI,EAAe9sI,OAAQM,GAAK,GACgB,IAAtDwsI,EAAexsI,GAAG4qB,KAAKjkB,QAAQ2lI,EAAQ3sI,GAAGktI,SAE5CJ,GAAiB,GAIrB,GAAIA,EAAgB,CAClB,IAAI9uH,EAAIqwF,UAAU,QAClBrwF,EAAEomG,aAAa,YAAauoB,EAAQ3sI,GAAGmtI,SACvCnvH,EAAEomG,aAAa,WAAYuoB,EAAQ3sI,GAAGkrB,QACtClN,EAAEtb,KAAO,WACTsb,EAAEgN,IAAM,aACRhN,EAAEiN,KAAO0hH,EAAQ3sI,GAAGktI,MACpBloH,SAASyG,KAAK0lD,YAAYnzD,EAC5B,CACF,MAAO,GAA2B,MAAvB2uH,EAAQ3sI,GAAGmtI,SAAyC,IAAtBR,EAAQ3sI,GAAGkrB,OAAc,CAGhE,IAFA2hH,EAAiB7nH,SAASooH,iBAAiB,+CAEtC/sI,EAAI,EAAGA,EAAIwsI,EAAe9sI,OAAQM,GAAK,EACtCssI,EAAQ3sI,GAAGktI,QAAUL,EAAexsI,GAAG+pE,MAEzC0iE,GAAiB,GAIrB,GAAIA,EAAgB,CAClB,IAAI/oD,EAAKsqB,UAAU,QACnBtqB,EAAGqgC,aAAa,YAAauoB,EAAQ3sI,GAAGmtI,SACxCppD,EAAGqgC,aAAa,WAAYuoB,EAAQ3sI,GAAGkrB,QACvC64D,EAAGqgC,aAAa,MAAO,cACvBrgC,EAAGqgC,aAAa,OAAQuoB,EAAQ3sI,GAAGktI,OACnC7tB,EAAKluC,YAAY4S,EACnB,CACF,OAvDE4oD,EAAQ3sI,GAAG+sI,QAAS,EACpBH,GAAiB,EAwDnBD,EAAQ3sI,GAAG2qI,OAASF,EAAakC,EAAQ3sI,GAAIq/G,GAC7CstB,EAAQ3sI,GAAGgiG,MAAQ,CAAC,EACpB5iG,KAAKw0D,MAAMhvD,KAAK+nI,EAAQ3sI,GAC1B,CAEsB,IAAlB4sI,EACFxtI,KAAK0+G,UAAW,EAIhBzyF,WAAWjsB,KAAKysI,iBAAiB7uF,KAAK59C,MAAO,IAnG/C,MAFEA,KAAK0+G,UAAW,CAuGpB,EAyMEuvB,YArKF,SAAqBC,EAAO74G,EAAOxB,GAIjC,IAHA,IAAIjzB,EAAI,EACJojB,EAAMhkB,KAAKs4G,MAAM33G,OAEdC,EAAIojB,GAAK,CACd,GAAIhkB,KAAKs4G,MAAM13G,GAAG0wF,KAAO48C,GAASluI,KAAKs4G,MAAM13G,GAAGy0B,QAAUA,GAASr1B,KAAKs4G,MAAM13G,GAAG+qI,UAAY93G,EAC3F,OAAO7zB,KAAKs4G,MAAM13G,GAGpBA,GAAK,CACP,CAQA,OANsB,kBAAVstI,GAA8C,KAAxBA,EAAM9sI,WAAW,KAAc8sI,IAAUlkH,SAAWA,QAAQC,OAC1FjqB,KAAKqsI,UACPrsI,KAAKqsI,SAAU,EACfriH,QAAQC,KAAK,oDAAqDikH,EAAO74G,EAAOxB,IAG3E02G,CACT,EAmJE4D,cA5HF,SAAuBluI,GAIrB,IAHA,IAAIW,EAAI,EACJojB,EAAMhkB,KAAKw0D,MAAM7zD,OAEdC,EAAIojB,GAAK,CACd,GAAIhkB,KAAKw0D,MAAM5zD,GAAGwtI,QAAUnuI,EAC1B,OAAOD,KAAKw0D,MAAM5zD,GAGpBA,GAAK,CACP,CAEA,OAAOZ,KAAKw0D,MAAM,EACpB,EAgHEoa,YAlJF,SAAqBy/D,EAAQh3G,EAAUpuB,GACrC,IAAIy9H,EAAW1mI,KAAKmuI,cAAc92G,GAG9BvuB,EAAQulI,EAEZ,IAAK3H,EAAS9jC,MAAM95F,GAAQ,CAC1B,IAAI4iI,EAAUhF,EAAS6E,OAEvB,GAAe,MAAX8C,EAAgB,CAClB,IAAIC,EAAa5C,EAAQ98D,YAAY,IAAMy/D,EAAS,KAChDE,EAAa7C,EAAQ98D,YAAY,MACrC83D,EAAS9jC,MAAM95F,IAAUwlI,EAAaC,GAAc,GACtD,MACE7H,EAAS9jC,MAAM95F,GAAS4iI,EAAQ98D,YAAYy/D,GAAU,GAE1D,CAEA,OAAO3H,EAAS9jC,MAAM95F,GAASG,CACjC,EAgIEwjI,iBA3YF,WACE,IAAI7rI,EAEAkqI,EACAn7F,EAFA3rB,EAAMhkB,KAAKw0D,MAAM7zD,OAGjB6tI,EAAcxqH,EAElB,IAAKpjB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBZ,KAAKw0D,MAAM5zD,GAAG+sI,OAChBa,GAAe,EACoB,MAA1BxuI,KAAKw0D,MAAM5zD,GAAGmtI,SAA4C,IAAzB/tI,KAAKw0D,MAAM5zD,GAAGkrB,OACxD9rB,KAAKw0D,MAAM5zD,GAAG+sI,QAAS,GAEvB7C,EAAO9qI,KAAKw0D,MAAM5zD,GAAGgtI,SAAS9C,KAC9Bn7F,EAAI3vC,KAAKw0D,MAAM5zD,GAAGgtI,SAASj+F,EAEvBm7F,EAAKp5D,cAAgB/hC,GACvB6+F,GAAe,EACfxuI,KAAKw0D,MAAM5zD,GAAG+sI,QAAS,IAEvB7C,EAAO9qI,KAAKw0D,MAAM5zD,GAAGitI,SAAS/C,KAC9Bn7F,EAAI3vC,KAAKw0D,MAAM5zD,GAAGitI,SAASl+F,EAEvBm7F,EAAKp5D,cAAgB/hC,IACvB6+F,GAAe,EACfxuI,KAAKw0D,MAAM5zD,GAAG+sI,QAAS,IAIvB3tI,KAAKw0D,MAAM5zD,GAAG+sI,SAChB3tI,KAAKw0D,MAAM5zD,GAAGitI,SAASzC,OAAOx+D,WAAWiG,YAAY7yE,KAAKw0D,MAAM5zD,GAAGitI,SAASzC,QAC5EprI,KAAKw0D,MAAM5zD,GAAGgtI,SAASxC,OAAOx+D,WAAWiG,YAAY7yE,KAAKw0D,MAAM5zD,GAAGgtI,SAASxC,UAK9D,IAAhBoD,GAAqBljI,KAAKD,MAAQrL,KAAK8jH,SAxGxB,IAyGjB73F,WAAWjsB,KAAKwsI,uBAAwB,IAExCvgH,WAAWjsB,KAAKssI,kBAAmB,GAEvC,EAmWEC,YA9BF,WACEvsI,KAAK0+G,UAAW,CAClB,GA+BA,OADAytB,EAAKjsI,UAAYktI,EACVjB,CACT,CArdkB,GAudlB,SAASsC,YAAY7mC,GACnB5nG,KAAK4nG,cAAgBA,CACvB,CAUA,SAAS8mC,YAAY9mC,GACnB,OAAO,IAAI6mC,YAAY7mC,EACzB,CAEA,SAAS+mC,oBAAqB,CAZ9BF,YAAYvuI,UAAUqyH,QAAU,SAAUltH,GACxC,OAAIrF,KAAK4nG,cAAcgnC,OAAS5uI,KAAK4nG,cAAcgnC,MAAMvpI,EAAKmtH,KACrD1xH,OAAO25B,OAAOp1B,EAAMrF,KAAK4nG,cAAcgnC,MAAMvpI,EAAKmtH,KAAKn0G,GAGzDhZ,CACT,EAQAspI,kBAAkBzuI,UAAY,CAC5B2uI,eAAgB,WAEd7uI,KAAK8uI,WAAY,EAEjB9uI,KAAK09B,QAAS,EAEd19B,KAAK+uI,eAAgB,EAErB/uI,KAAKgvI,qBAAuB,EAC9B,EACAC,uBAAwB,SAAgCC,IACA,IAAlDlvI,KAAKgvI,qBAAqBpnI,QAAQsnI,IACpClvI,KAAKgvI,qBAAqBxpI,KAAK0pI,EAEnC,EACAC,0BAA2B,SAAmCD,IACN,IAAlDlvI,KAAKgvI,qBAAqBpnI,QAAQsnI,IACpClvI,KAAKgvI,qBAAqB/kI,OAAOjK,KAAKgvI,qBAAqBpnI,QAAQsnI,GAAY,EAEnF,EACAE,uBAAwB,SAAgC5nI,GACtDxH,KAAKqvI,iBAAiB7nI,EACxB,EACA8nI,kBAAmB,WACbtvI,KAAKuvI,eAAeC,MAAM7wG,EAAExd,GAAK,GAC9BnhB,KAAK+uI,eAAiB/uI,KAAKggH,WAAWyvB,aAAaC,oBACtD1vI,KAAK+uI,eAAgB,EACrB/uI,KAAKwjH,QAEExjH,KAAK+uI,gBACd/uI,KAAK+uI,eAAgB,EACrB/uI,KAAKyjH,OAET,EAUA4rB,iBAAkB,SAA0B7nI,GACtCxH,KAAKqF,KAAK0O,GAAK/T,KAAKqF,KAAK6mC,IAAM1kC,GAAOxH,KAAKqF,KAAKmyD,GAAKx3D,KAAKqF,KAAK6mC,GAAK1kC,GAC/C,IAAnBxH,KAAK8uI,YACP9uI,KAAKggH,WAAWoR,MAAO,EACvBpxH,KAAKoxH,MAAO,EACZpxH,KAAK8uI,WAAY,EACjB9uI,KAAKyjH,SAEqB,IAAnBzjH,KAAK8uI,YACd9uI,KAAKggH,WAAWoR,MAAO,EACvBpxH,KAAK8uI,WAAY,EACjB9uI,KAAKwjH,OAET,EACAmsB,iBAAkB,WAChB,IAAI/uI,EACAojB,EAAMhkB,KAAKgvI,qBAAqBruI,OAEpC,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKgvI,qBAAqBpuI,GAAG22E,YAAYv3E,KAAKyxH,cAKlD,EACAme,iBAAkB,WAChB,MAAO,CACLz9G,IAAK,EACLG,KAAM,EACN9pB,MAAO,IACP4M,OAAQ,IAEZ,EACAy6H,aAAc,WACZ,OAAqB,IAAjB7vI,KAAKqF,KAAK0kD,GACL,CACLpa,EAAG3vC,KAAKqF,KAAKyqI,SAAStnI,MACtB+iB,EAAGvrB,KAAKqF,KAAKyqI,SAAS16H,QAInB,CACLu6B,EAAG3vC,KAAKqF,KAAKmD,MACb+iB,EAAGvrB,KAAKqF,KAAK+P,OAEjB,GAGF,IAAI26H,aAAe,WACjB,IAAIC,EAAiB,CACnB,EAAG,cACH,EAAG,WACH,EAAG,SACH,EAAG,UACH,EAAG,SACH,EAAG,UACH,EAAG,cACH,EAAG,aACH,EAAG,aACH,EAAG,aACH,GAAI,aACJ,GAAI,YACJ,GAAI,MACJ,GAAI,aACJ,GAAI,QACJ,GAAI,cAEN,OAAO,SAAUvpI,GACf,OAAOupI,EAAevpI,IAAS,EACjC,CACF,CAtBmB,GAwBnB,SAASwpI,aAAa5qI,EAAM4vB,EAAMy7C,GAChC1wE,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAK8b,EAAG,EAAG,EAAGuvD,EACvD,CAEA,SAASw/D,YAAY7qI,EAAM4vB,EAAMy7C,GAC/B1wE,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAK8b,EAAG,EAAG,EAAGuvD,EACvD,CAEA,SAASy/D,YAAY9qI,EAAM4vB,EAAMy7C,GAC/B1wE,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAK8b,EAAG,EAAG,EAAGuvD,EACvD,CAEA,SAAS0/D,YAAY/qI,EAAM4vB,EAAMy7C,GAC/B1wE,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAK8b,EAAG,EAAG,EAAGuvD,EACvD,CAEA,SAAS2/D,iBAAiBhrI,EAAM4vB,EAAMy7C,GACpC1wE,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAK8b,EAAG,EAAG,EAAGuvD,EACvD,CAEA,SAAS4/D,gBAAgBjrI,EAAM4vB,EAAMy7C,GACnC1wE,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAK8b,EAAG,EAAG,EAAGuvD,EACvD,CAEA,SAAS6/D,eAAelrI,EAAM4vB,EAAMy7C,GAClC1wE,KAAKqe,EAAIi0G,gBAAgBC,QAAQt9F,EAAM5vB,EAAK8b,EAAG,EAAG,EAAGuvD,EACvD,CAEA,SAAS8/D,gBACPxwI,KAAKqe,EAAI,CAAC,CACZ,CAEA,SAASoyH,eAAeprI,EAAMsuB,GAC5B,IAEI/yB,EAFA8vI,EAAUrrI,EAAKsrI,IAAM,GACzB3wI,KAAK4wI,eAAiB,GAEtB,IACIC,EADA7sH,EAAM0sH,EAAQ/vI,OAGlB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBiwI,EAAa,IAAIC,YAAYJ,EAAQ9vI,GAAI+yB,GACzC3zB,KAAK4wI,eAAeprI,KAAKqrI,EAE7B,CAEA,SAASC,YAAYzrI,EAAMsuB,GACzB3zB,KAAKkjH,KAAK79G,EAAMsuB,EAClB,CA+DA,SAASo9G,cAAe,CAkFxB,SAASC,eAAgB,CAiDzB,SAASC,eAAe5rI,EAAM26G,EAAYzI,GACxCv3G,KAAKktH,YACLltH,KAAK6uI,iBACL7uI,KAAKi7G,UAAY+E,EAAWuD,aAAal+G,EAAK8xG,OAC9Cn3G,KAAK27G,YAAcqE,EAAWkxB,YAAY70B,SAASr8G,KAAKi7G,WACxDj7G,KAAKmxI,aAAa9rI,EAAM26G,EAAYzI,EACtC,CA6BA,SAAS65B,aAAa/rI,EAAM26G,EAAYzI,GACtCv3G,KAAKktH,YACLltH,KAAK6uI,iBACL7uI,KAAKi7G,UAAY+E,EAAWuD,aAAal+G,EAAK8xG,OAC9Cn3G,KAAKmxI,aAAa9rI,EAAM26G,EAAYzI,GACpCv3G,KAAKqxI,YAAa,EAClBrxI,KAAKsxI,UAAW,EAChB,IAAIhhC,EAAYtwG,KAAKggH,WAAWhF,cAAch7G,KAAKi7G,WACnDj7G,KAAKiwG,MAAQjwG,KAAKggH,WAAWR,gBAAgBnP,YAAYC,GACzDtwG,KAAKuxI,aAAe,EACpBvxI,KAAKggH,WAAWR,gBAAgBxP,SAAShwG,MACzCA,KAAKwxI,kBAAoB,EACzBxxI,KAAK8vG,QAAU,EACf9vG,KAAKyxI,gBAAkB,KACvBzxI,KAAK09G,GAAKr4G,EAAKq4G,GAAK4U,gBAAgBC,QAAQvyH,KAAMqF,EAAKq4G,GAAI,EAAGsC,EAAWrB,UAAW3+G,MAAQ,CAC1F0xI,cAAc,GAEhB1xI,KAAK8zC,GAAKw+E,gBAAgBC,QAAQvyH,KAAMqF,EAAKssI,IAAMtsI,EAAKssI,GAAG79F,GAAKzuC,EAAKssI,GAAG79F,GAAK,CAC3E3yC,EAAG,CAAC,MACH,EAAG,IAAMnB,KACd,CA0EA,SAAS4xI,eAAgB,CAjUzB1iC,gBAAgB,CAACwjB,0BAA2Boe,aAC5CA,YAAY5wI,UAAU+xH,SAAW6e,YAAY5wI,UAAU2yH,yBAEvDie,YAAY5wI,UAAUgjH,KAAO,SAAU79G,EAAMsuB,GAI3C,IAAI/yB,EAHJZ,KAAKqF,KAAOA,EACZrF,KAAK4wI,eAAiB,GACtB5wI,KAAK8yH,6BAA6Bn/F,GAElC,IACIk+G,EADA7tH,EAAMhkB,KAAKqF,KAAKsrI,GAAGhwI,OAEnB+vI,EAAU1wI,KAAKqF,KAAKsrI,GAExB,IAAK/vI,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAG3B,OAFAixI,EAAM,KAEEnB,EAAQ9vI,GAAGmpD,IACjB,KAAK,EACH8nF,EAAM,IAAI5B,aAAaS,EAAQ9vI,GAAI+yB,EAAS3zB,MAC5C,MAEF,KAAK,EACH6xI,EAAM,IAAI3B,YAAYQ,EAAQ9vI,GAAI+yB,EAAS3zB,MAC3C,MAEF,KAAK,EACH6xI,EAAM,IAAI1B,YAAYO,EAAQ9vI,GAAI+yB,EAAS3zB,MAC3C,MAEF,KAAK,EACH6xI,EAAM,IAAIzB,YAAYM,EAAQ9vI,GAAI+yB,EAAS3zB,MAC3C,MAEF,KAAK,EACL,KAAK,EACH6xI,EAAM,IAAItB,eAAeG,EAAQ9vI,GAAI+yB,EAAS3zB,MAC9C,MAEF,KAAK,GACH6xI,EAAM,IAAIxB,iBAAiBK,EAAQ9vI,GAAI+yB,EAAS3zB,MAChD,MAEF,KAAK,GACH6xI,EAAM,IAAIvB,gBAAgBI,EAAQ9vI,GAAI+yB,EAAS3zB,MAC/C,MAEF,KAAK,EACH6xI,EAAM,IAAIpB,eAAeC,EAAQ9vI,GAAI+yB,EAAS3zB,MAC9C,MAGF,QACE6xI,EAAM,IAAIrB,cAAcE,EAAQ9vI,GAAI+yB,EAAS3zB,MAI7C6xI,GACF7xI,KAAK4wI,eAAeprI,KAAKqsI,EAE7B,CACF,EAIAd,YAAY7wI,UAAY,CACtB4xI,WAAY,WACV,IAAK9xI,KAAKqF,KAAKyxG,QACb,OAAO,EAMT,IAHA,IAAIl2G,EAAI,EACJojB,EAAMhkB,KAAKqF,KAAK2xG,gBAAgBr2G,OAE7BC,EAAIojB,GAAK,CACd,GAA0C,MAAtChkB,KAAKqF,KAAK2xG,gBAAgBp2G,GAAG6F,OAAoD,IAApCzG,KAAKqF,KAAK2xG,gBAAgBp2G,GAAG2uC,GAC5E,OAAO,EAGT3uC,GAAK,CACP,CAEA,OAAO,CACT,EACAqgH,gBAAiB,WACf,IAAIvP,EAAwBwD,0BAE5B,GAAKxD,EAAL,CAIA,IAAIqgC,EAA2BrgC,EAAsB,SACjDsgC,EAA6BtgC,EAAsB,WACnDugC,EAA2BvgC,EAAsB,SACjDwgC,EAA0BxgC,EAAsB,QAChDygC,EAA0BzgC,EAAsB,QACpD1xG,KAAKoyI,eAAiBL,EAAyB/xI,MAE3CA,KAAKqF,KAAKyxG,SAAW92G,KAAKqyI,aAC5BryI,KAAKoyI,eAAeE,sBAAsBtyI,KAAKqyI,aAGjD,IAAIE,EAAmBP,EAA2BQ,uBAAuBxyI,KAAMA,KAAKoyI,gBACpFpyI,KAAKoyI,eAAeK,yBAAyBF,GAExB,IAAjBvyI,KAAKqF,KAAK0kD,IAAY/pD,KAAKqF,KAAKoiD,GAClCznD,KAAKm+G,cAAgBg0B,EAAwBnyI,MACnB,IAAjBA,KAAKqF,KAAK0kD,IACnB/pD,KAAKoyI,eAAeM,eAAiBT,EAAyBjyI,KAAK2yI,WAAY3yI,KAAK4yI,UAAW5yI,KAAKoyI,gBACpGpyI,KAAKoyI,eAAetrI,QAAU9G,KAAKoyI,eAAeM,gBACxB,IAAjB1yI,KAAKqF,KAAK0kD,KACnB/pD,KAAKoyI,eAAeS,cAAgBX,EAAwBlyI,MAC5DA,KAAKoyI,eAAe5nI,KAAOxK,KAAKoyI,eAAeS,cAvBjD,CAyBF,EACAC,aAAc,WACZ,IAAIC,EAAiBhD,aAAa/vI,KAAKqF,KAAK2tI,KACjChzI,KAAKizI,aAAejzI,KAAKkzI,cAC/B79G,MAAM,kBAAoB09G,CACjC,EACA5B,aAAc,SAAsB9rI,EAAM26G,EAAYzI,GACpDv3G,KAAKggH,WAAaA,EAClBhgH,KAAKu3G,KAAOA,EACZv3G,KAAKqF,KAAOA,EACZrF,KAAKmzI,QAAUh/B,kBAEVn0G,KAAKqF,KAAK4xD,KACbj3D,KAAKqF,KAAK4xD,GAAK,GAIjBj3D,KAAKozI,eAAiB,IAAI3C,eAAezwI,KAAKqF,KAAMrF,KAAMA,KAAK2yH,kBACjE,EACA0gB,QAAS,WACP,OAAOrzI,KAAKsD,IACd,EACAssI,iBAAkB,WAA6B,GAWjDoB,aAAa9wI,UAAY,CAMvBgtH,UAAW,WAETltH,KAAKyxH,eAAgB,EAErBzxH,KAAK2yH,kBAAoB,GAEzB3yH,KAAKoxH,MAAO,CACd,EAYAkiB,kBAAmB,SAA2B9rI,EAAK+rI,GACjD,IAAI3yI,EACAojB,EAAMhkB,KAAK2yH,kBAAkBhyH,OAEjC,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,GACpB2yI,GAAavzI,KAAKwzI,WAAoD,cAAvCxzI,KAAK2yH,kBAAkB/xH,GAAG6sH,YAC3DztH,KAAK2yH,kBAAkB/xH,GAAGqxH,WAEtBjyH,KAAK2yH,kBAAkB/xH,GAAGwwH,OAC5BpxH,KAAKggH,WAAWoR,MAAO,EACvBpxH,KAAKoxH,MAAO,GAIpB,EACAU,mBAAoB,SAA4B12F,IACA,IAA1Cp7B,KAAK2yH,kBAAkB/qH,QAAQwzB,IACjCp7B,KAAK2yH,kBAAkBntH,KAAK41B,EAEhC,GAWF61G,eAAe/wI,UAAU+9G,aAAe,WAAa,EAErD/O,gBAAgB,CAACy/B,kBAAmBoC,YAAaC,cAAeC,gBAEhEA,eAAe/wI,UAAUuzI,eAAiB,WACxC,OAAO,IACT,EAEAxC,eAAe/wI,UAAUq3E,YAAc,WAAa,EAEpD05D,eAAe/wI,UAAUyqG,QAAU,WAAa,EAEhDsmC,eAAe/wI,UAAU+gH,gBAAkB,WACzC,IAAIvP,EAAwBwD,0BAE5B,GAAKxD,EAAL,CAIA,IAAIgiC,EAAmBhiC,EAAsB,WAC7C1xG,KAAKoyI,eAAiBsB,EAAiB1zI,KAHvC,CAIF,EAEAixI,eAAe/wI,UAAUyzI,eAAiB,WACxC,OAAO3zI,KAAK27G,WACd,EAwBAy1B,aAAalxI,UAAU+9G,aAAe,SAAUz2G,GAI9C,GAHAxH,KAAKovI,uBAAuB5nI,GAAK,GACjCxH,KAAKszI,kBAAkB9rI,GAAK,GAEvBxH,KAAK09G,GAAGg0B,aAIX1xI,KAAKuxI,aAAe/pI,EAAMxH,KAAKqF,KAAK4xD,OAJX,CACzB,IAAI28E,EAAe5zI,KAAK09G,GAAGv8F,EAC3BnhB,KAAKuxI,aAAeqC,CACtB,CAIA5zI,KAAK8vG,QAAU9vG,KAAK8zC,GAAG3yB,EAAE,GACzB,IAAI0yH,EAAc7zI,KAAK8vG,QAAU9vG,KAAKwxI,kBAElCxxI,KAAKyxI,kBAAoBoC,IAC3B7zI,KAAKyxI,gBAAkBoC,EACvB7zI,KAAKiwG,MAAMiB,OAAO2iC,GAEtB,EAEA3kC,gBAAgB,CAACy/B,kBAAmBoC,YAAaC,cAAeI,cAEhEA,aAAalxI,UAAUq3E,YAAc,WAC/Bv3E,KAAK8uI,WAAa9uI,KAAKsxI,WACpBtxI,KAAKqxI,aAIErxI,KAAKiwG,MAAMS,WAAatsG,KAAK8jC,IAAIloC,KAAKuxI,aAAevxI,KAAKggH,WAAWrB,UAAY3+G,KAAKiwG,MAAMQ,QAAU,KAChHzwG,KAAKiwG,MAAMQ,KAAKzwG,KAAKuxI,aAAevxI,KAAKggH,WAAWrB,YAJpD3+G,KAAKiwG,MAAMvG,OACX1pG,KAAKiwG,MAAMQ,KAAKzwG,KAAKuxI,aAAevxI,KAAKggH,WAAWrB,WACpD3+G,KAAKqxI,YAAa,GAKxB,EAEAD,aAAalxI,UAAUujH,KAAO,WAAa,EAG3C2tB,aAAalxI,UAAUsjH,KAAO,WAC5BxjH,KAAKiwG,MAAMrG,QACX5pG,KAAKqxI,YAAa,CACpB,EAEAD,aAAalxI,UAAU0pG,MAAQ,WAC7B5pG,KAAKiwG,MAAMrG,QACX5pG,KAAKqxI,YAAa,EAClBrxI,KAAKsxI,UAAW,CAClB,EAEAF,aAAalxI,UAAUgwG,OAAS,WAC9BlwG,KAAKsxI,UAAW,CAClB,EAEAF,aAAalxI,UAAUiwG,QAAU,SAAUC,GACzCpwG,KAAKiwG,MAAMU,KAAKP,EAClB,EAEAghC,aAAalxI,UAAUgxG,OAAS,SAAU4iC,GACxC9zI,KAAKwxI,kBAAoBsC,EACzB9zI,KAAKyxI,gBAAkBqC,EAAc9zI,KAAK8vG,QAC1C9vG,KAAKiwG,MAAMiB,OAAOlxG,KAAKyxI,gBACzB,EAEAL,aAAalxI,UAAUuzI,eAAiB,WACtC,OAAO,IACT,EAEArC,aAAalxI,UAAUyqG,QAAU,WAAa,EAE9CymC,aAAalxI,UAAU0vI,iBAAmB,WAAa,EAEvDwB,aAAalxI,UAAU+gH,gBAAkB,WAAa,EAItD2wB,aAAa1xI,UAAU6zI,YAAc,SAAUvsI,GAC7C,IAAI5G,EAEAyE,EADA2e,EAAMhkB,KAAKw2G,OAAO71G,OAItB,IAFAX,KAAKu2G,gBAAiB,EAEjB31G,EAAIojB,EAAM,EAAGpjB,GAAK,EAAGA,GAAK,EACxBZ,KAAKynI,SAAS7mI,KACjByE,EAAOrF,KAAKw2G,OAAO51G,IAEVmT,GAAK1O,EAAK6mC,IAAM1kC,EAAMxH,KAAKw2G,OAAO51G,GAAGsrC,IAAM7mC,EAAKmyD,GAAKnyD,EAAK6mC,GAAK1kC,EAAMxH,KAAKw2G,OAAO51G,GAAGsrC,IAC3FlsC,KAAKg0I,UAAUpzI,GAInBZ,KAAKu2G,iBAAiBv2G,KAAKynI,SAAS7mI,IAAKZ,KAAKu2G,eAGhDv2G,KAAKi0I,sBACP,EAEArC,aAAa1xI,UAAUg0I,WAAa,SAAUC,GAC5C,OAAQA,EAAMpqF,IACZ,KAAK,EACH,OAAO/pD,KAAKo0I,YAAYD,GAE1B,KAAK,EACH,OAAOn0I,KAAKq0I,WAAWF,GAEzB,KAAK,EACH,OAAOn0I,KAAKs0I,YAAYH,GAE1B,KAAK,EAkBL,QACE,OAAOn0I,KAAKu0I,WAAWJ,GAhBzB,KAAK,EACH,OAAOn0I,KAAKw0I,YAAYL,GAE1B,KAAK,EACH,OAAOn0I,KAAKy0I,WAAWN,GAEzB,KAAK,EACH,OAAOn0I,KAAKqwG,YAAY8jC,GAE1B,KAAK,GACH,OAAOn0I,KAAK00I,aAAaP,GAE3B,KAAK,GACH,OAAOn0I,KAAK20I,cAAcR,GAKhC,EAEAvC,aAAa1xI,UAAUw0I,aAAe,WACpC,MAAM,IAAIv0I,MAAM,mDAClB,EAEAyxI,aAAa1xI,UAAUmwG,YAAc,SAAUhrG,GAC7C,OAAO,IAAI+rI,aAAa/rI,EAAMrF,KAAKggH,WAAYhgH,KACjD,EAEA4xI,aAAa1xI,UAAUy0I,cAAgB,SAAUtvI,GAC/C,OAAO,IAAI4rI,eAAe5rI,EAAMrF,KAAKggH,WAAYhgH,KACnD,EAEA4xI,aAAa1xI,UAAU00I,cAAgB,WACrC,IAAIh0I,EACAojB,EAAMhkB,KAAKw2G,OAAO71G,OAEtB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKg0I,UAAUpzI,GAGjBZ,KAAKi0I,sBACP,EAEArC,aAAa1xI,UAAU0gH,cAAgB,SAAUC,GAE/C,IAAIjgH,EADJZ,KAAKu2G,gBAAiB,EAEtB,IACIt1G,EADA+iB,EAAM68F,EAAUlgH,OAEhBg2G,EAAO32G,KAAKw2G,OAAO71G,OAEvB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAGxB,IAFAK,EAAI,EAEGA,EAAI01G,GAAM,CACf,GAAI32G,KAAKw2G,OAAOv1G,GAAGg9B,KAAO4iF,EAAUjgH,GAAGq9B,GAAI,CACzCj+B,KAAKw2G,OAAOv1G,GAAK4/G,EAAUjgH,GAC3B,KACF,CAEAK,GAAK,CACP,CAEJ,EAEA2wI,aAAa1xI,UAAUggH,oBAAsB,SAAU20B,GACrD70I,KAAKggH,WAAWV,iBAAmBu1B,CACrC,EAEAjD,aAAa1xI,UAAU6hH,UAAY,WAC5B/hH,KAAKggH,WAAW80B,iBACnB90I,KAAK40I,eAET,EAEAhD,aAAa1xI,UAAU60I,sBAAwB,SAAUphH,EAASqhH,EAAYC,GAM5E,IALA,IAAIxN,EAAWznI,KAAKynI,SAChBjxB,EAASx2G,KAAKw2G,OACd51G,EAAI,EACJojB,EAAMwyF,EAAO71G,OAEVC,EAAIojB,GACLwyF,EAAO51G,GAAGgrC,KAAOopG,IAEdvN,EAAS7mI,KAAsB,IAAhB6mI,EAAS7mI,IAI3Bq0I,EAAUzvI,KAAKiiI,EAAS7mI,IACxB6mI,EAAS7mI,GAAGs0I,mBAEajyI,IAArBuzG,EAAO51G,GAAGwqI,OACZprI,KAAK+0I,sBAAsBphH,EAAS6iF,EAAO51G,GAAGwqI,OAAQ6J,GAEtDthH,EAAQwhH,aAAaF,KATvBj1I,KAAKg0I,UAAUpzI,GACfZ,KAAKo1I,kBAAkBzhH,KAa3B/yB,GAAK,CAET,EAEAgxI,aAAa1xI,UAAUk1I,kBAAoB,SAAUzhH,GACnD3zB,KAAKq1I,gBAAgB7vI,KAAKmuB,EAC5B,EAEAi+G,aAAa1xI,UAAUwhH,wBAA0B,SAAUtJ,GACzD,IAAIx3G,EACAojB,EAAMo0F,EAAOz3G,OAEjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,GAAIw3G,EAAOx3G,GAAG6mD,GAAI,CAChB,IAAI8vD,EAAOv3G,KAAKq0I,WAAWj8B,EAAOx3G,IAClC22G,EAAK0J,kBACLjhH,KAAKggH,WAAWV,iBAAiBzB,oBAAoBtG,EACvD,CAEJ,EAEAq6B,aAAa1xI,UAAUo1I,eAAiB,SAAU1pG,GAChD,IAAIhrC,EACAojB,EAAMhkB,KAAKynI,SAAS9mI,OAExB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,GAAIZ,KAAKynI,SAAS7mI,GAAGyE,KAAKumC,MAAQA,EAChC,OAAO5rC,KAAKynI,SAAS7mI,GAIzB,OAAO,IACT,EAEAgxI,aAAa1xI,UAAUyjH,iBAAmB,SAAU/uG,GAClD,IACI+e,EADA4hH,EAAY3gI,EAAKu5B,QAGrB,GAAyB,kBAAdonG,EACT5hH,EAAU3zB,KAAKynI,SAAS8N,OACnB,CACL,IAAI30I,EACAojB,EAAMhkB,KAAKynI,SAAS9mI,OAExB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,GAAIZ,KAAKynI,SAAS7mI,GAAGyE,KAAK24G,KAAOu3B,EAAW,CAC1C5hH,EAAU3zB,KAAKynI,SAAS7mI,GACxB,KACF,CAEJ,CAEA,OAAoB,IAAhBgU,EAAKjU,OACAgzB,EAGFA,EAAQgwF,iBAAiB/uG,EAClC,EAEAg9H,aAAa1xI,UAAUs1I,gBAAkB,SAAU/zB,EAAUg0B,GAC3Dz1I,KAAKggH,WAAWc,YAAc,IAAIwpB,YAClCtqI,KAAKggH,WAAWyS,YAAcic,YAAYjtB,GAC1CzhH,KAAKggH,WAAWc,YAAYC,SAASU,EAASnJ,OAC9Ct4G,KAAKggH,WAAWc,YAAYE,SAASS,EAASjtD,MAAOihF,GACrDz1I,KAAKggH,WAAWuD,aAAevjH,KAAK6rG,cAAc0X,aAAa3lE,KAAK59C,KAAK6rG,eACzE7rG,KAAKggH,WAAWhF,cAAgBh7G,KAAK6rG,cAAcmP,cAAcp9D,KAAK59C,KAAK6rG,eAC3E7rG,KAAKggH,WAAWkxB,YAAclxI,KAAK6rG,cAAc0T,eACjDv/G,KAAKggH,WAAWR,gBAAkBx/G,KAAK6rG,cAAc2T,gBACrDx/G,KAAKggH,WAAWsR,QAAU,EAC1BtxH,KAAKggH,WAAWrB,UAAY8C,EAASxwD,GACrCjxD,KAAKggH,WAAWhC,GAAKyD,EAASzD,GAC9Bh+G,KAAKggH,WAAW01B,SAAW,CACzB/lG,EAAG8xE,EAAS9xE,EACZpkB,EAAGk2F,EAASl2F,EAEhB,EAEA,IAAIoqH,YAAc,CAChBC,iBAAkB,mBAGpB,SAASC,mBAAoB,CA6J7B,SAASC,YAAYzwI,EAAMsuB,EAASqsF,GAClChgH,KAAKqF,KAAOA,EACZrF,KAAK2zB,QAAUA,EACf3zB,KAAKggH,WAAaA,EAClBhgH,KAAKiqH,WAAa,GAClBjqH,KAAKg3G,gBAAkBh3G,KAAKqF,KAAK2xG,iBAAmB,GACpDh3G,KAAK+1I,YAAc,KACnB,IACIn1I,EAIAgU,EALAqrG,EAAOjgH,KAAKggH,WAAWC,KAEvBj8F,EAAMhkB,KAAKg3G,gBAAkBh3G,KAAKg3G,gBAAgBr2G,OAAS,EAC/DX,KAAKg2I,SAAW3kC,iBAAiBrtF,GACjChkB,KAAKi2I,UAAY,GAEjB,IAGIh1I,EACA01G,EAEAxjF,EACA+iH,EACAC,EACAzoI,EATA0oI,EAAap2I,KAAKg3G,gBAClBlvG,EAAQ,EACRuuI,EAAe,GAGflD,EAAUh/B,kBAKVmiC,EAAW,WACXC,EAAU,YAEd,IAAK31I,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAkBxB,IAjB2B,MAAvBw1I,EAAWx1I,GAAG6F,MAAuC,MAAvB2vI,EAAWx1I,GAAG6F,MAAgB2vI,EAAWx1I,GAAGsmI,KAA6B,MAAtBkP,EAAWx1I,GAAG+9B,EAAEx9B,GAAai1I,EAAWx1I,GAAG+9B,EAAEjxB,KAChI4oI,EAAW,OACXC,EAAU,QAGgB,MAAvBH,EAAWx1I,GAAG6F,MAAuC,MAAvB2vI,EAAWx1I,GAAG6F,MAA2B,IAAVqB,EAOhEqrB,EAAO,OANPA,EAAOoiF,SAAS,SACXyP,aAAa,OAAQ,WAC1B7xF,EAAK6xF,aAAa,QAAShlH,KAAK2zB,QAAQ4jF,KAAKlyG,KAAKsqC,GAAK,GACvDxc,EAAK6xF,aAAa,SAAUhlH,KAAK2zB,QAAQ4jF,KAAKlyG,KAAKkmB,GAAK,GACxD8qH,EAAa7wI,KAAK2tB,IAKpBve,EAAO2gG,SAAS,QAEW,MAAvB6gC,EAAWx1I,GAAG6F,KAEhBzG,KAAKg2I,SAASp1I,GAAK,CACjB42D,GAAI86D,gBAAgBC,QAAQvyH,KAAK2zB,QAASyiH,EAAWx1I,GAAG+9B,EAAG,EAAG,IAAM3+B,KAAK2zB,SACzEyH,KAAMs5F,qBAAqB8hB,aAAax2I,KAAK2zB,QAASyiH,EAAWx1I,GAAI,GACrEq0B,KAAMrgB,EACN6hI,SAAU,IAEZx2B,EAAKluC,YAAYn9D,OACZ,CAIL,IAAI8hI,EAgCJ,GAnCA5uI,GAAS,EACT8M,EAAKowG,aAAa,OAA+B,MAAvBoxB,EAAWx1I,GAAG6F,KAAe,UAAY,WACnEmO,EAAKowG,aAAa,YAAa,WAGL,IAAtBoxB,EAAWx1I,GAAG8M,EAAEvM,GAClBm1I,EAAW,OACXC,EAAU,OACV7oI,EAAI4kH,gBAAgBC,QAAQvyH,KAAK2zB,QAASyiH,EAAWx1I,GAAG8M,EAAG,EAAG,KAAM1N,KAAK2zB,SACzE+iH,EAAWviC,mBACX+hC,EAAW3gC,SAAS,WACXyP,aAAa,KAAM0xB,IAC5BP,EAAU5gC,SAAS,iBACXyP,aAAa,WAAY,SACjCmxB,EAAQnxB,aAAa,KAAM,iBAC3BmxB,EAAQnxB,aAAa,SAAU,KAC/BkxB,EAASnkE,YAAYokE,GACrBl2B,EAAKluC,YAAYmkE,GACjBthI,EAAKowG,aAAa,SAAiC,MAAvBoxB,EAAWx1I,GAAG6F,KAAe,UAAY,aAErE0vI,EAAU,KACVzoI,EAAI,MAIN1N,KAAKiqH,WAAWrpH,GAAK,CACnBq0B,KAAMrgB,EACNlH,EAAGA,EACHipI,MAAOR,EACPM,SAAU,GACVG,aAAc,GACdC,SAAUH,EACVI,WAAY,GAGa,MAAvBV,EAAWx1I,GAAG6F,KAAc,CAC9BkwG,EAAO0/B,EAAa11I,OACpB,IAAIwQ,EAAIokG,SAAS,KAEjB,IAAKt0G,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzBkQ,EAAE4gE,YAAYskE,EAAap1I,IAG7B,IAAI81I,EAAOxhC,SAAS,QACpBwhC,EAAK/xB,aAAa,YAAa,SAC/B+xB,EAAK/xB,aAAa,KAAMmuB,EAAU,IAAMrrI,GACxCivI,EAAKhlE,YAAYn9D,GACjBqrG,EAAKluC,YAAYglE,GACjB5lI,EAAE6zG,aAAa,OAAQ,OAAShW,kBAAoB,IAAMmkC,EAAU,IAAMrrI,EAAQ,KAClFuuI,EAAa11I,OAAS,EACtB01I,EAAa7wI,KAAK2L,EACpB,MACEklI,EAAa7wI,KAAKoP,GAGhBwhI,EAAWx1I,GAAGsmI,MAAQlnI,KAAKi2I,YAC7Bj2I,KAAKi2I,UAAYj2I,KAAKg3I,wBAIxBh3I,KAAKg2I,SAASp1I,GAAK,CACjBq0B,KAAMrgB,EACN6hI,SAAU,GACVj/E,GAAI86D,gBAAgBC,QAAQvyH,KAAK2zB,QAASyiH,EAAWx1I,GAAG+9B,EAAG,EAAG,IAAM3+B,KAAK2zB,SACzEyH,KAAMs5F,qBAAqB8hB,aAAax2I,KAAK2zB,QAASyiH,EAAWx1I,GAAI,GACrEq2I,QAAS9jH,GAGNnzB,KAAKg2I,SAASp1I,GAAGw6B,KAAKj6B,GACzBnB,KAAKk3I,SAASd,EAAWx1I,GAAIZ,KAAKg2I,SAASp1I,GAAGw6B,KAAKja,EAAGnhB,KAAKg2I,SAASp1I,GAExE,CAMF,IAHAZ,KAAK+1I,YAAcxgC,SAAS+gC,GAC5BtyH,EAAMqyH,EAAa11I,OAEdC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK+1I,YAAYhkE,YAAYskE,EAAaz1I,IAGxCkH,EAAQ,IACV9H,KAAK+1I,YAAY/wB,aAAa,KAAMmuB,GACpCnzI,KAAK2zB,QAAQwjH,cAAcnyB,aAAauxB,EAAS,OAASvnC,kBAAoB,IAAMmkC,EAAU,KAC9FlzB,EAAKluC,YAAY/xE,KAAK+1I,cAGpB/1I,KAAKg2I,SAASr1I,QAChBX,KAAK2zB,QAAQs7G,uBAAuBjvI,KAExC,CA3SA61I,iBAAiB31I,UAAY,CAC3Bk3I,cAAe,WACb,IAAI/W,EAAM,IAAI31E,OACd1qD,KAAKuvI,eAAiB,CACpBC,MAAOxvI,KAAKqF,KAAKgtF,GAAKqtC,yBAAyBmB,qBAAqB7gI,KAAMA,KAAKqF,KAAKgtF,GAAIryF,MAAQ,CAC9F2+B,EAAG,GAEL04G,SAAS,EACTC,cAAc,EACdC,QAAQ,EACRlX,IAAKA,EACLmX,SAAUnX,EACVoX,aAAc,GAGZz3I,KAAKqF,KAAKqyI,KACZ13I,KAAKuvI,eAAeC,MAAMhP,cAAe,GAIvCxgI,KAAKqF,KAAK0kD,EAEhB,EACA4tF,gBAAiB,WAIf,GAHA33I,KAAKuvI,eAAegI,OAASv3I,KAAKuvI,eAAeC,MAAM7wG,EAAEyyF,MAAQpxH,KAAKyxH,cACtEzxH,KAAKuvI,eAAe8H,QAAUr3I,KAAKuvI,eAAeC,MAAMpe,MAAQpxH,KAAKyxH,cAEjEzxH,KAAKi1I,UAAW,CAClB,IAAI5U,EACAuX,EAAW53I,KAAKuvI,eAAelP,IAC/Bz/H,EAAI,EACJojB,EAAMhkB,KAAKi1I,UAAUt0I,OAEzB,IAAKX,KAAKuvI,eAAe8H,QACvB,KAAOz2I,EAAIojB,GAAK,CACd,GAAIhkB,KAAKi1I,UAAUr0I,GAAG2uI,eAAeC,MAAMpe,KAAM,CAC/CpxH,KAAKuvI,eAAe8H,SAAU,EAC9B,KACF,CAEAz2I,GAAK,CACP,CAGF,GAAIZ,KAAKuvI,eAAe8H,QAItB,IAHAhX,EAAMrgI,KAAKuvI,eAAeC,MAAMruH,EAAEwmF,MAClCiwC,EAAS3d,eAAeoG,GAEnBz/H,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBg3I,EAAS5tF,SAAShqD,KAAKi1I,UAAUr0I,GAAG2uI,eAAeC,MAAMruH,EAG/D,CAEInhB,KAAKuvI,eAAe8H,UACtBr3I,KAAKuvI,eAAe+H,aAAet3I,KAAKuvI,eAAe8H,SAGrDr3I,KAAKuvI,eAAegI,SACtBv3I,KAAKuvI,eAAekI,aAAez3I,KAAKuvI,eAAeC,MAAM7wG,EAAExd,EAEnE,EACA02H,qBAAsB,WACpB,GAAI73I,KAAK83I,gBAAiB,CACxB,IAAIl3I,EAAI,EACJojB,EAAMhkB,KAAK83I,gBAAgBn3I,OAG/B,GAFAX,KAAKuvI,eAAe+H,aAAet3I,KAAKuvI,eAAe8H,SAElDr3I,KAAKuvI,eAAe+H,eAAiBt3I,KAAKuvI,eAAegI,OAC5D,KAAO32I,EAAIojB,GACLhkB,KAAK83I,gBAAgBl3I,GAAGwwH,OAC1BpxH,KAAKuvI,eAAe+H,cAAe,GAGjCt3I,KAAK83I,gBAAgBl3I,GAAG22I,SAAWv3I,KAAKuvI,eAAegI,SACzDv3I,KAAKuvI,eAAekI,aAAez3I,KAAKuvI,eAAeC,MAAM7wG,EAAExd,EAC/DnhB,KAAKuvI,eAAegI,QAAS,GAG/B32I,GAAK,EAIT,GAAIZ,KAAKuvI,eAAe+H,aAAc,CACpC,IAAIE,EAAWx3I,KAAKuvI,eAAeiI,SAGnC,IAFAx3I,KAAK83I,gBAAgB,GAAG54F,OAAOuL,MAAM+sF,GAEhC52I,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAC3B,IAAIm3I,EAAO/3I,KAAK83I,gBAAgBl3I,GAAGs+C,OACnCs4F,EAASxtF,SAAS+tF,EACpB,CAEAP,EAASxtF,SAAShqD,KAAKuvI,eAAelP,IACxC,CAEA,GAAIrgI,KAAKuvI,eAAegI,OAAQ,CAC9B,IAAIS,EAAUh4I,KAAKuvI,eAAekI,aAElC,IAAK72I,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBo3I,GAA6C,IAAlCh4I,KAAK83I,gBAAgBl3I,GAAGq3I,QAGrCj4I,KAAKuvI,eAAekI,aAAeO,CACrC,CACF,CACF,EACAE,uBAAwB,WACtB,GAAIl4I,KAAKm4I,yBAA0B,CACjC,IAAIC,EAAmBp4I,KAAKm4I,yBAAyBE,WAAW1C,YAAYC,kBAE5E,GAAIwC,EAAiBz3I,OAAQ,CAC3BX,KAAK83I,gBAAkB,GACvB93I,KAAKuvI,eAAeiI,SAAW,IAAI9sF,OACnC,IAAI9pD,EAAI,EACJojB,EAAMo0H,EAAiBz3I,OAE3B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK83I,gBAAgBtyI,KAAK4yI,EAAiBx3I,GAE/C,CACF,CACF,EACA03I,cAAe,SAAuBhyF,GACpC,IAAIiyF,EAAa,GACjBA,EAAW/yI,KAAKxF,KAAKuvI,gBAIrB,IAHA,IAeI3uI,EAfAm4E,GAAO,EACPw+B,EAAOv3G,KAAKu3G,KAETx+B,GACDw+B,EAAKg4B,gBACHh4B,EAAKlyG,KAAKyxG,SACZyhC,EAAWtuI,OAAO,EAAG,EAAGstG,EAAKg4B,gBAG/Bh4B,EAAOA,EAAKA,MAEZx+B,GAAO,EAKX,IACIy/D,EADAx0H,EAAMu0H,EAAW53I,OAGrB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB43I,EAAQD,EAAW33I,GAAGy/H,IAAI5F,kBAAkB,EAAG,EAAG,GAElDn0E,EAAK,CAACA,EAAG,GAAKkyF,EAAM,GAAIlyF,EAAG,GAAKkyF,EAAM,GAAI,GAG5C,OAAOlyF,CACT,EACAmyF,QAAS,IAAI/tF,QAqJforF,YAAY51I,UAAUw4I,gBAAkB,SAAUtqI,GAChD,OAAOpO,KAAKg2I,SAAS5nI,GAAKgtB,IAC5B,EAEA06G,YAAY51I,UAAUq3E,YAAc,SAAUohE,GAC5C,IACI/3I,EADAg3I,EAAW53I,KAAK2zB,QAAQ47G,eAAelP,IAEvCr8G,EAAMhkB,KAAKg3G,gBAAgBr2G,OAE/B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EASxB,IARIZ,KAAKg2I,SAASp1I,GAAGw6B,KAAKg2F,MAAQunB,IAChC34I,KAAKk3I,SAASl3I,KAAKg3G,gBAAgBp2G,GAAIZ,KAAKg2I,SAASp1I,GAAGw6B,KAAKja,EAAGnhB,KAAKg2I,SAASp1I,KAG5EZ,KAAKg2I,SAASp1I,GAAG42D,GAAG45D,MAAQunB,IAC9B34I,KAAKg2I,SAASp1I,GAAGq0B,KAAK+vF,aAAa,eAAgBhlH,KAAKg2I,SAASp1I,GAAG42D,GAAGr2C,GAGpC,MAAjCnhB,KAAKg3G,gBAAgBp2G,GAAG6F,OACtBzG,KAAKg2I,SAASp1I,GAAGq2I,UAAYj3I,KAAK2zB,QAAQ47G,eAAeC,MAAMpe,MAAQunB,IACzE34I,KAAKg2I,SAASp1I,GAAGq2I,QAAQjyB,aAAa,YAAa4yB,EAASvd,mBAAmBiB,WAG7Et7H,KAAKiqH,WAAWrpH,GAAG8M,IAAM1N,KAAKiqH,WAAWrpH,GAAG8M,EAAE0jH,MAAQunB,IAAe,CACvE,IAAIxC,EAAUn2I,KAAKiqH,WAAWrpH,GAAG+1I,MAE7B32I,KAAKiqH,WAAWrpH,GAAG8M,EAAEyT,EAAI,GACa,UAApCnhB,KAAKiqH,WAAWrpH,GAAGg2I,eACrB52I,KAAKiqH,WAAWrpH,GAAGg2I,aAAe,QAClC52I,KAAKiqH,WAAWrpH,GAAGq0B,KAAK+vF,aAAa,SAAU,OAAShW,kBAAoB,IAAMhvG,KAAKiqH,WAAWrpH,GAAGi2I,SAAW,MAGlHV,EAAQnxB,aAAa,UAAWhlH,KAAKiqH,WAAWrpH,GAAG8M,EAAEyT,KAEb,WAApCnhB,KAAKiqH,WAAWrpH,GAAGg2I,eACrB52I,KAAKiqH,WAAWrpH,GAAGg2I,aAAe,SAClC52I,KAAKiqH,WAAWrpH,GAAGq0B,KAAK+vF,aAAa,SAAU,OAGjDhlH,KAAKiqH,WAAWrpH,GAAGq0B,KAAK+vF,aAAa,eAAyC,EAAzBhlH,KAAKiqH,WAAWrpH,GAAG8M,EAAEyT,GAE9E,CAGN,EAEA20H,YAAY51I,UAAU04I,eAAiB,WACrC,OAAO54I,KAAK+1I,WACd,EAEAD,YAAY51I,UAAU82I,qBAAuB,WAC3C,IAAIpiI,EAAO,QAKX,OAJAA,GAAQ,KAAO5U,KAAKggH,WAAW01B,SAAS/lG,EACxC/6B,GAAQ,KAAO5U,KAAKggH,WAAW01B,SAASnqH,EACxC3W,GAAQ,MAAQ5U,KAAKggH,WAAW01B,SAAS/lG,EACzC/6B,GAAQ,MAAQ5U,KAAKggH,WAAW01B,SAASnqH,EAAI,GAE/C,EAEAuqH,YAAY51I,UAAUg3I,SAAW,SAAUz+B,EAAUogC,EAAW7C,GAC9D,IACIp1I,EACAojB,EAFA80H,EAAa,KAAOD,EAAU13H,EAAE,GAAG,GAAK,IAAM03H,EAAU13H,EAAE,GAAG,GAKjE,IAFA6C,EAAM60H,EAAU3wB,QAEXtnH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAExBk4I,GAAc,KAAOD,EAAUl6G,EAAE/9B,EAAI,GAAG,GAAK,IAAMi4I,EAAUl6G,EAAE/9B,EAAI,GAAG,GAAK,IAAMi4I,EAAUj4I,EAAEA,GAAG,GAAK,IAAMi4I,EAAUj4I,EAAEA,GAAG,GAAK,IAAMi4I,EAAU13H,EAAEvgB,GAAG,GAAK,IAAMi4I,EAAU13H,EAAEvgB,GAAG,GAShL,GALIi4I,EAAU12I,GAAK6hB,EAAM,IACvB80H,GAAc,KAAOD,EAAUl6G,EAAE/9B,EAAI,GAAG,GAAK,IAAMi4I,EAAUl6G,EAAE/9B,EAAI,GAAG,GAAK,IAAMi4I,EAAUj4I,EAAE,GAAG,GAAK,IAAMi4I,EAAUj4I,EAAE,GAAG,GAAK,IAAMi4I,EAAU13H,EAAE,GAAG,GAAK,IAAM03H,EAAU13H,EAAE,GAAG,IAI5K60H,EAASS,WAAaqC,EAAY,CACpC,IAAIC,EAAiB,GAEjB/C,EAAS/gH,OACP4jH,EAAU12I,IACZ42I,EAAiBtgC,EAASyuB,IAAMlnI,KAAKi2I,UAAY6C,EAAaA,GAGhE9C,EAAS/gH,KAAK+vF,aAAa,IAAK+zB,IAGlC/C,EAASS,SAAWqC,CACtB,CACF,EAEAhD,YAAY51I,UAAUyqG,QAAU,WAC9B3qG,KAAK2zB,QAAU,KACf3zB,KAAKggH,WAAa,KAClBhgH,KAAK+1I,YAAc,KACnB/1I,KAAKqF,KAAO,KACZrF,KAAKg3G,gBAAkB,IACzB,EAEA,IAAIgiC,eAAiB,WACnB,IAAI38D,EAAK,CACTA,aAGA,SAAsB48D,EAAOC,GAC3B,IAAIC,EAAM5jC,SAAS,UAWnB,OAVA4jC,EAAIn0B,aAAa,KAAMi0B,IAEC,IAApBC,IACFC,EAAIn0B,aAAa,cAAe,qBAChCm0B,EAAIn0B,aAAa,IAAK,MACtBm0B,EAAIn0B,aAAa,IAAK,MACtBm0B,EAAIn0B,aAAa,QAAS,QAC1Bm0B,EAAIn0B,aAAa,SAAU,SAGtBm0B,CACT,EAfA98D,6BAiBA,WACE,IAAI+8D,EAAgB7jC,SAAS,iBAI7B,OAHA6jC,EAAcp0B,aAAa,OAAQ,UACnCo0B,EAAcp0B,aAAa,8BAA+B,QAC1Do0B,EAAcp0B,aAAa,SAAU,8CAC9Bo0B,CACT,GAEA,OAAO/8D,CACT,CA7BqB,GA+BjBg9D,eAAiB,WACnB,IAAIh9D,EAAK,CACPi6D,UAAU,EACVgD,eAAe,EACfC,gBAA4C,qBAApBzN,iBAW1B,OARI,WAAWjqI,KAAKspB,UAAUC,YAAc,UAAUvpB,KAAKspB,UAAUC,YAAc,WAAWvpB,KAAKspB,UAAUC,YAAc,aAAavpB,KAAKspB,UAAUC,cACrJixD,EAAGi6D,UAAW,GAGZ,WAAWz0I,KAAKspB,UAAUC,aAC5BixD,EAAGi9D,eAAgB,GAGdj9D,CACT,CAhBqB,GAkBjBm9D,oBAAsB,CAAC,EACvBC,SAAW,iBAEf,SAASC,WAAWzkH,GAClB,IAAIr0B,EAOA+4I,EANAt5H,EAAS,gBACT2D,EAAMiR,EAAK5vB,KAAKsrI,GAAK17G,EAAK5vB,KAAKsrI,GAAGhwI,OAAS,EAC3Cs4I,EAAQ9kC,kBACRglC,EAAMH,eAAeY,aAAaX,GAAO,GACzCnxI,EAAQ,EAIZ,IAHA9H,KAAKqgD,QAAU,GAGVz/C,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAC3B+4I,EAAgB,KAChB,IAAIr2I,EAAO2xB,EAAK5vB,KAAKsrI,GAAG/vI,GAAGmpD,GAEvByvF,oBAAoBl2I,KAEtBq2I,EAAgB,IAAIE,EADPL,oBAAoBl2I,GAAMw2I,QACZX,EAAKlkH,EAAKm+G,eAAexC,eAAehwI,GAAIq0B,EAAMwkH,SAAW3xI,EAAOuY,GAC/FA,EAASo5H,SAAW3xI,EAEhB0xI,oBAAoBl2I,GAAMy2I,iBAC5BjyI,GAAS,IAIT6xI,GACF35I,KAAKqgD,QAAQ76C,KAAKm0I,EAEtB,CAEI7xI,IACFmtB,EAAK+qF,WAAWC,KAAKluC,YAAYonE,GACjClkH,EAAKi+G,aAAaluB,aAAa,SAAU,OAAShW,kBAAoB,IAAMiqC,EAAQ,MAGlFj5I,KAAKqgD,QAAQ1/C,QACfs0B,EAAKg6G,uBAAuBjvI,KAEhC,CAyBA,SAASg6I,iBAAiB/7G,EAAI67G,EAAQC,GACpCP,oBAAoBv7G,GAAM,CACxB67G,OAAQA,EACRC,eAAgBA,EAEpB,CAEA,SAASE,iBAAkB,CA6L3B,SAASC,mBAAoB,CAgD7B,SAASC,uBAAwB,CAoEjC,SAASC,cAAc/0I,EAAM26G,EAAYzI,GACvCv3G,KAAKi7G,UAAY+E,EAAWuD,aAAal+G,EAAK8xG,OAE1Cn3G,KAAKi7G,WAAaj7G,KAAKi7G,UAAUuX,MACnCxyH,KAAKi7G,UAAY+E,EAAWyS,YAAYF,QAAQvyH,KAAKi7G,YAGvDj7G,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,GACnCv3G,KAAKs6I,WAAa,CAChBnoH,IAAK,EACLG,KAAM,EACN9pB,MAAOxI,KAAKi7G,UAAUtrE,EACtBv6B,OAAQpV,KAAKi7G,UAAU1vF,EAE3B,CAkBA,SAASgvH,iBAAiB5mH,EAAS29C,GACjCtxE,KAAKi1B,KAAOtB,EACZ3zB,KAAKoO,IAAMkjE,CACb,CAEA,SAASkpE,gBAAiB,CApX1Bd,WAAWx5I,UAAUq3E,YAAc,SAAUk6C,GAC3C,IAAI7wH,EACAojB,EAAMhkB,KAAKqgD,QAAQ1/C,OAEvB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKqgD,QAAQz/C,GAAG22E,YAAYk6C,EAEhC,EAEAioB,WAAWx5I,UAAUm4I,WAAa,SAAU/0I,GAC1C,IAAI1C,EACAojB,EAAMhkB,KAAKqgD,QAAQ1/C,OACnB+vI,EAAU,GAEd,IAAK9vI,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBZ,KAAKqgD,QAAQz/C,GAAG0C,OAASA,GAC3BotI,EAAQlrI,KAAKxF,KAAKqgD,QAAQz/C,IAI9B,OAAO8vI,CACT,EAWAuJ,eAAe/5I,UAAY,CACzBu6I,oBAAqB,WACnBz6I,KAAKkzI,aAAe39B,SAAS,IAC/B,EACAmlC,wBAAyB,WACvB16I,KAAK26I,aAAeplC,SAAS,KAC7Bv1G,KAAK46I,mBAAqB56I,KAAKkzI,aAC/BlzI,KAAKm3I,cAAgBn3I,KAAKkzI,aAC1BlzI,KAAK66I,cAAe,EACpB,IAAIC,EAAqB,KAEzB,GAAI96I,KAAKqF,KAAK6uC,GAAI,CAChBl0C,KAAK+6I,WAAa,CAAC,EACnB,IAAIC,EAAKzlC,SAAS,KAClBylC,EAAGh2B,aAAa,KAAMhlH,KAAKmzI,SAC3B6H,EAAGjpE,YAAY/xE,KAAKkzI,cACpB4H,EAAqBE,EACrBh7I,KAAKggH,WAAWC,KAAKluC,YAAYipE,EACnC,MAAWh7I,KAAKqF,KAAKogD,IACnBzlD,KAAK26I,aAAa5oE,YAAY/xE,KAAKkzI,cACnC4H,EAAqB96I,KAAK26I,aAC1B36I,KAAKizI,YAAcjzI,KAAK26I,cAExB36I,KAAKizI,YAAcjzI,KAAKkzI,aAY1B,GATIlzI,KAAKqF,KAAK2pC,IACZhvC,KAAKkzI,aAAaluB,aAAa,KAAMhlH,KAAKqF,KAAK2pC,IAG7ChvC,KAAKqF,KAAKkqC,IACZvvC,KAAKkzI,aAAaluB,aAAa,QAAShlH,KAAKqF,KAAKkqC,IAI/B,IAAjBvvC,KAAKqF,KAAK0kD,KAAa/pD,KAAKqF,KAAKk1E,GAAI,CACvC,IAAI0gE,EAAK1lC,SAAS,YACdjvD,EAAKivD,SAAS,QAClBjvD,EAAG0+D,aAAa,IAAK,SAAWhlH,KAAKqF,KAAKsqC,EAAI,OAAS3vC,KAAKqF,KAAKsqC,EAAI,IAAM3vC,KAAKqF,KAAKkmB,EAAI,OAASvrB,KAAKqF,KAAKkmB,EAAI,KAChH,IAAI2vH,EAAS/mC,kBAKb,GAJA8mC,EAAGj2B,aAAa,KAAMk2B,GACtBD,EAAGlpE,YAAYzrB,GACftmD,KAAKggH,WAAWC,KAAKluC,YAAYkpE,GAE7Bj7I,KAAK8xI,aAAc,CACrB,IAAIqJ,EAAU5lC,SAAS,KACvB4lC,EAAQn2B,aAAa,YAAa,OAAShW,kBAAoB,IAAMksC,EAAS,KAC9EC,EAAQppE,YAAY/xE,KAAKkzI,cACzBlzI,KAAK46I,mBAAqBO,EAEtBL,EACFA,EAAmB/oE,YAAY/xE,KAAK46I,oBAEpC56I,KAAKizI,YAAcjzI,KAAK46I,kBAE5B,MACE56I,KAAKkzI,aAAaluB,aAAa,YAAa,OAAShW,kBAAoB,IAAMksC,EAAS,IAE5F,CAEqB,IAAjBl7I,KAAKqF,KAAK2tI,IACZhzI,KAAK8yI,cAET,EACAsI,cAAe,WACTp7I,KAAKuvI,eAAe+H,cACtBt3I,KAAK46I,mBAAmB51B,aAAa,YAAahlH,KAAKuvI,eAAeiI,SAASlc,WAG7Et7H,KAAKuvI,eAAegI,QACtBv3I,KAAK46I,mBAAmB51B,aAAa,UAAWhlH,KAAKuvI,eAAekI,aAExE,EACA4D,mBAAoB,WAClBr7I,KAAKkzI,aAAe,KACpBlzI,KAAK26I,aAAe,KACpB36I,KAAKqyI,YAAY1nC,SACnB,EACA8oC,eAAgB,WACd,OAAIzzI,KAAKqF,KAAKk1E,GACL,KAGFv6E,KAAKizI,WACd,EACAqI,2BAA4B,WAC1Bt7I,KAAKqyI,YAAc,IAAIyD,YAAY91I,KAAKqF,KAAMrF,KAAMA,KAAKggH,YACzDhgH,KAAKm4I,yBAA2B,IAAIuB,WAAW15I,MAC/CA,KAAKk4I,wBACP,EACAqD,SAAU,SAAkBC,GAQ1B,GAJKx7I,KAAK+6I,aACR/6I,KAAK+6I,WAAa,CAAC,IAGhB/6I,KAAK+6I,WAAWS,GAAY,CAC/B,IACIvC,EACAE,EACAsC,EACAT,EAJA/8G,EAAKj+B,KAAKmzI,QAAU,IAAMqI,EAM9B,GAAkB,IAAdA,GAAiC,IAAdA,EAAiB,CACtC,IAAIE,EAASnmC,SAAS,QACtBmmC,EAAO12B,aAAa,KAAM/mF,GAC1By9G,EAAO12B,aAAa,YAA2B,IAAdw2B,EAAkB,YAAc,UACjEC,EAAalmC,SAAS,QACXiH,eAAe,+BAAgC,OAAQ,IAAMx8G,KAAKmzI,SAC7EuI,EAAO3pE,YAAY0pE,GACnBz7I,KAAKggH,WAAWC,KAAKluC,YAAY2pE,GAE5BrC,eAAe/C,UAA0B,IAAdkF,IAC9BE,EAAO12B,aAAa,YAAa,aACjCi0B,EAAQ9kC,kBACRglC,EAAMH,eAAeY,aAAaX,GAClCj5I,KAAKggH,WAAWC,KAAKluC,YAAYonE,GACjCA,EAAIpnE,YAAYinE,eAAe2C,iCAC/BX,EAAKzlC,SAAS,MACXxjC,YAAY0pE,GACfC,EAAO3pE,YAAYipE,GACnBA,EAAGh2B,aAAa,SAAU,OAAShW,kBAAoB,IAAMiqC,EAAQ,KAEzE,MAAO,GAAkB,IAAduC,EAAiB,CAC1B,IAAII,EAAYrmC,SAAS,QACzBqmC,EAAU52B,aAAa,KAAM/mF,GAC7B29G,EAAU52B,aAAa,YAAa,SACpC,IAAI62B,EAActmC,SAAS,KAC3BqmC,EAAU7pE,YAAY8pE,GACtB5C,EAAQ9kC,kBACRglC,EAAMH,eAAeY,aAAaX,GAElC,IAAI6C,EAAQvmC,SAAS,uBACrBumC,EAAM92B,aAAa,KAAM,iBACzBm0B,EAAIpnE,YAAY+pE,GAChB,IAAIC,EAASxmC,SAAS,WACtBwmC,EAAO/2B,aAAa,OAAQ,SAC5B+2B,EAAO/2B,aAAa,cAAe,WACnC82B,EAAM/pE,YAAYgqE,GAElB/7I,KAAKggH,WAAWC,KAAKluC,YAAYonE,GACjC,IAAI6C,EAAYzmC,SAAS,QACzBymC,EAAUh3B,aAAa,QAAShlH,KAAKu3G,KAAKlyG,KAAKsqC,GAC/CqsG,EAAUh3B,aAAa,SAAUhlH,KAAKu3G,KAAKlyG,KAAKkmB,GAChDywH,EAAUh3B,aAAa,IAAK,KAC5Bg3B,EAAUh3B,aAAa,IAAK,KAC5Bg3B,EAAUh3B,aAAa,OAAQ,WAC/Bg3B,EAAUh3B,aAAa,UAAW,KAClC62B,EAAY72B,aAAa,SAAU,OAAShW,kBAAoB,IAAMiqC,EAAQ,KAC9E4C,EAAY9pE,YAAYiqE,IACxBP,EAAalmC,SAAS,QACXiH,eAAe,+BAAgC,OAAQ,IAAMx8G,KAAKmzI,SAC7E0I,EAAY9pE,YAAY0pE,GAEnBpC,eAAe/C,WAClBsF,EAAU52B,aAAa,YAAa,aACpCm0B,EAAIpnE,YAAYinE,eAAe2C,gCAC/BX,EAAKzlC,SAAS,KACdsmC,EAAY9pE,YAAYiqE,GACxBhB,EAAGjpE,YAAY/xE,KAAKkzI,cACpB2I,EAAY9pE,YAAYipE,IAG1Bh7I,KAAKggH,WAAWC,KAAKluC,YAAY6pE,EACnC,CAEA57I,KAAK+6I,WAAWS,GAAav9G,CAC/B,CAEA,OAAOj+B,KAAK+6I,WAAWS,EACzB,EACAS,SAAU,SAAkBh+G,GACrBj+B,KAAK26I,cAIV36I,KAAK26I,aAAa31B,aAAa,OAAQ,OAAShW,kBAAoB,IAAM/wE,EAAK,IACjF,GAUFi8G,iBAAiBh6I,UAAY,CAM3Bg8I,cAAe,WAEbl8I,KAAKi1I,UAAY,GAEjBj1I,KAAKwzI,WAAY,EACjBxzI,KAAKm8I,gBACP,EASAhH,aAAc,SAAsBF,GAClCj1I,KAAKi1I,UAAYA,CACnB,EAOAC,YAAa,WACXl1I,KAAKwzI,WAAY,CACnB,EAOA2I,eAAgB,gBACWl5I,IAArBjD,KAAKqF,KAAK+lI,QACZprI,KAAKu3G,KAAKw9B,sBAAsB/0I,KAAMA,KAAKqF,KAAK+lI,OAAQ,GAE5D,GAoEAl8B,gBAAgB,CAACy/B,kBAAmBn/B,oBA9DnB,CACf6qC,YAAa,SAAqBh1I,EAAM26G,EAAYzI,GAClDv3G,KAAKktH,YACLltH,KAAKmxI,aAAa9rI,EAAM26G,EAAYzI,GACpCv3G,KAAKo3I,cAAc/xI,EAAM26G,EAAYzI,GACrCv3G,KAAKk8I,gBACLl8I,KAAK6uI,iBACL7uI,KAAKy6I,sBACLz6I,KAAK06I,0BACL16I,KAAKs7I,6BACLt7I,KAAKo8I,gBACLp8I,KAAKwjH,MACP,EACAA,KAAM,WAECxjH,KAAK09B,QAAY19B,KAAK8uI,YAAa9uI,KAAK+uI,iBAChC/uI,KAAKizI,aAAejzI,KAAKkzI,cAC/B79G,MAAMkE,QAAU,OACrBv5B,KAAK09B,QAAS,EAElB,EACA+lF,KAAM,WAEAzjH,KAAK8uI,YAAc9uI,KAAK+uI,gBACrB/uI,KAAKqF,KAAKk1E,MACFv6E,KAAKizI,aAAejzI,KAAKkzI,cAC/B79G,MAAMkE,QAAU,SAGvBv5B,KAAK09B,QAAS,EACd19B,KAAKyxH,eAAgB,EAEzB,EACAl6C,YAAa,WAGPv3E,KAAKqF,KAAKk1E,IAAMv6E,KAAK09B,SAIzB19B,KAAK23I,kBACL33I,KAAK2vI,mBACL3vI,KAAK63I,uBACL73I,KAAKo7I,gBACLp7I,KAAKq8I,qBAEDr8I,KAAKyxH,gBACPzxH,KAAKyxH,eAAgB,GAEzB,EACA4qB,mBAAoB,WAA+B,EACnDp+B,aAAc,SAAsBz2G,GAClCxH,KAAKoxH,MAAO,EACZpxH,KAAKovI,uBAAuB5nI,GAC5BxH,KAAKszI,kBAAkB9rI,EAAKxH,KAAK8uI,WACjC9uI,KAAKsvI,mBACP,EACA3kC,QAAS,WACP3qG,KAAKs8I,UAAY,KACjBt8I,KAAKq7I,oBACP,KAEoElB,sBAmBxEjrC,gBAAgB,CAAC6hC,YAAa8E,iBAAkBoE,eAAgBC,iBAAkBlJ,aAAcmJ,sBAAuBC,eAEvHA,cAAcl6I,UAAUk8I,cAAgB,WACtC,IAAI9rC,EAAYtwG,KAAKggH,WAAWhF,cAAch7G,KAAKi7G,WACnDj7G,KAAKs8I,UAAY/mC,SAAS,SAC1Bv1G,KAAKs8I,UAAUt3B,aAAa,QAAShlH,KAAKi7G,UAAUtrE,EAAI,MACxD3vC,KAAKs8I,UAAUt3B,aAAa,SAAUhlH,KAAKi7G,UAAU1vF,EAAI,MACzDvrB,KAAKs8I,UAAUt3B,aAAa,sBAAuBhlH,KAAKi7G,UAAUjqD,IAAMhxD,KAAKggH,WAAWyvB,aAAa8M,0BACrGv8I,KAAKs8I,UAAU9/B,eAAe,+BAAgC,OAAQlM,GACtEtwG,KAAKkzI,aAAanhE,YAAY/xE,KAAKs8I,UACrC,EAEAlC,cAAcl6I,UAAU0vI,iBAAmB,WACzC,OAAO5vI,KAAKs6I,UACd,EASAE,cAAct6I,UAAY,CACxBs8I,oBAAqB,SAA6Bn3I,GAChD,IAAIzE,EACAojB,EAAMhkB,KAAKy8I,eAAe97I,OAE9B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKy8I,eAAe77I,GAAGyzH,SAAShvH,EAEpC,EACAq3I,2BAA4B,SAAoCr3I,GAI9D,IAHA,IACI2e,EAAMhkB,KAAKy8I,eAAe97I,OADtB,EAGGqjB,GACT,GAAIhkB,KAAKy8I,eAJH,GAIqBE,oBAAoBt3I,GAC7C,OAAO,EAIX,OAAO,CACT,EACAu3I,gBAAiB,WACf,GAAK58I,KAAKy8I,eAAe97I,OAAzB,CAIA,IAAIC,EACAojB,EAAMhkB,KAAKq3G,OAAO12G,OAEtB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKq3G,OAAOz2G,GAAGsuH,GAAGuG,QAMpB,IAAK70H,GAHLojB,EAAMhkB,KAAKy8I,eAAe97I,QAGX,EAAGC,GAAK,IACAZ,KAAKy8I,eAAe77I,GAAGy9H,cAAcr+H,KAAKyxH,eADvC7wH,GAAK,GAZ/B,CAoBF,EACAi8I,uBAAwB,SAAgC5nH,GAKtD,IAJA,IAAIwyG,EAAWznI,KAAK88I,kBAChBl8I,EAAI,EACJojB,EAAMyjH,EAAS9mI,OAEZC,EAAIojB,GAAK,CACd,GAAIyjH,EAAS7mI,GAAGq0B,OAASA,EACvB,OAAOwyG,EAAS7mI,GAAGwN,IAGrBxN,GAAK,CACP,CAEA,OAAO,CACT,EACAm8I,oBAAqB,SAA6B9nH,EAAM7mB,GAItD,IAHA,IAAIq5H,EAAWznI,KAAK88I,kBAChBl8I,EAAI6mI,EAAS9mI,OAEVC,GAGL,GAAI6mI,EAFJ7mI,GAAK,GAEWq0B,OAASA,EAEvB,YADAwyG,EAAS7mI,GAAGwN,IAAMA,GAKtBq5H,EAASjiI,KAAK,IAAI+0I,iBAAiBtlH,EAAM7mB,GAC3C,EACA6vG,aAAc,SAAsBz2G,GAClCxH,KAAKovI,uBAAuB5nI,GAC5BxH,KAAKszI,kBAAkB9rI,EAAKxH,KAAK8uI,UACnC,GAGF,IAAIkO,YAAc,CAChB,EAAG,OACH,EAAG,QACH,EAAG,UAEDC,aAAe,CACjB,EAAG,QACH,EAAG,QACH,EAAG,SAGL,SAASC,aAAaC,EAAczpG,EAAOwgF,GACzCl0H,KAAKo9I,OAAS,GACdp9I,KAAKyvB,OAAS,GACdzvB,KAAKm9I,aAAeA,EACpBn9I,KAAKq9I,KAAO,GACZr9I,KAAKkvH,GAAKgF,EACVl0H,KAAK0xC,IAAMgC,EAIX1zC,KAAK4yH,cAAgBsB,EAAM/yH,EAK3B,IAHA,IAAIP,EAAI,EACJojB,EAAMm5H,EAAax8I,OAEhBC,EAAIojB,GAAK,CACd,GAAIm5H,EAAav8I,GAAGooI,OAAOrW,kBAAkBhyH,OAAQ,CACnDX,KAAK4yH,aAAc,EACnB,KACF,CAEAhyH,GAAK,CACP,CACF,CAMA,SAAS08I,aAAaj4I,EAAMquC,GAC1B1zC,KAAKqF,KAAOA,EACZrF,KAAKsD,KAAO+B,EAAK0kD,GACjB/pD,KAAK2jB,EAAI,GACT3jB,KAAK0xC,IAAMgC,EACX1zC,KAAKoxH,MAAO,EACZpxH,KAAK84G,QAAqB,IAAZzzG,EAAKk1E,GACnBv6E,KAAKu9I,MAAQhoC,SAAS,QACtBv1G,KAAKw9I,OAAS,IAChB,CAOA,SAASC,aAAaxoH,EAAM5vB,EAAMsjG,EAAUj4B,GAU1C,IAAI9vE,EATJZ,KAAKi1B,KAAOA,EACZj1B,KAAKsxH,SAAW,EAChBtxH,KAAK09I,UAAYrsC,iBAAiBhsG,EAAK1E,QACvCX,KAAK2oG,SAAWA,EAChB3oG,KAAKmB,GAAI,EACTnB,KAAK29I,QAAU,GACf39I,KAAK49I,UAAYzsC,iBAAiB,UAAW9rG,EAAK1E,OAAS0E,EAAK1E,OAAS,EAAI,GAC7EX,KAAK69I,WAAa1sC,iBAAiB,UAAW,GAC9CnxG,KAAK8yH,6BAA6BpiD,GAElC,IACIt1C,EADApX,EAAM3e,EAAK1E,QAAU,EAGzB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBw6B,EAAOk3F,gBAAgBC,QAAQt9F,EAAM5vB,EAAKzE,GAAGugB,EAAG,EAAG,EAAGnhB,MACtDA,KAAKmB,EAAIi6B,EAAKj6B,GAAKnB,KAAKmB,EACxBnB,KAAK09I,UAAU98I,GAAK,CAClB+E,EAAGN,EAAKzE,GAAG+E,EACX0Y,EAAG+c,GAIFp7B,KAAKmB,GACRnB,KAAKiyH,UAAS,GAGhBjyH,KAAK4yH,YAAc5yH,KAAKmB,CAC1B,CAmCA,SAAS28I,mBAAmB7oH,EAAM5vB,EAAM04I,GACtC/9I,KAAK8yH,6BAA6B79F,GAClCj1B,KAAKiyH,SAAWjyH,KAAK6yH,yBACrB7yH,KAAK2+B,EAAI2zF,gBAAgBC,QAAQt9F,EAAM5vB,EAAKs5B,EAAG,EAAG,IAAM3+B,MACxDA,KAAK2vC,EAAI2iF,gBAAgBC,QAAQt9F,EAAM5vB,EAAKsqC,EAAG,EAAG,KAAM3vC,MACxDA,KAAK2jB,EAAI,IAAI85H,aAAaxoH,EAAM5vB,EAAKse,GAAK,CAAC,EAAG,MAAO3jB,MACrDA,KAAKmC,EAAImwH,gBAAgBC,QAAQt9F,EAAM5vB,EAAKlD,EAAG,EAAG,IAAKnC,MACvDA,KAAKq1B,MAAQ0oH,EACb/9I,KAAK4yH,cAAgB5yH,KAAK4yH,WAC5B,CAIA,SAASorB,iBAAiB/oH,EAAM5vB,EAAM04I,GACpC/9I,KAAK8yH,6BAA6B79F,GAClCj1B,KAAKiyH,SAAWjyH,KAAK6yH,yBACrB7yH,KAAK2+B,EAAI2zF,gBAAgBC,QAAQt9F,EAAM5vB,EAAKs5B,EAAG,EAAG,IAAM3+B,MACxDA,KAAKmC,EAAImwH,gBAAgBC,QAAQt9F,EAAM5vB,EAAKlD,EAAG,EAAG,IAAKnC,MACvDA,KAAKq1B,MAAQ0oH,CACf,CAIA,SAASE,eAAehpH,EAAM5vB,EAAM04I,GAClC/9I,KAAK8yH,6BAA6B79F,GAClCj1B,KAAKiyH,SAAWjyH,KAAK6yH,yBACrB7yH,KAAKq1B,MAAQ0oH,CACf,CAIA,SAASG,iBAAiBjpH,EAAM5vB,EAAMqrE,GACpC1wE,KAAKqF,KAAOA,EACZrF,KAAKmC,EAAIgvG,iBAAiB,SAAmB,EAAT9rG,EAAKgZ,GACzC,IAAI8/H,EAAU94I,EAAKlE,EAAEA,EAAE,GAAG8f,EAAI5b,EAAKlE,EAAEA,EAAE,GAAG8f,EAAEtgB,OAAkB,EAAT0E,EAAKgZ,EAAQhZ,EAAKlE,EAAEA,EAAER,OAAkB,EAAT0E,EAAKgZ,EACzFre,KAAK2+B,EAAIwyE,iBAAiB,UAAWgtC,GACrCn+I,KAAKo+I,OAAQ,EACbp+I,KAAKq+I,OAAQ,EACbr+I,KAAKs+I,aAAet+I,KAAKu+I,mBACzBv+I,KAAKw+I,YAAcL,EACnBn+I,KAAK8yH,6BAA6BpiD,GAClC1wE,KAAKo7B,KAAOk3F,gBAAgBC,QAAQt9F,EAAM5vB,EAAKlE,EAAG,EAAG,KAAMnB,MAC3DA,KAAKmB,EAAInB,KAAKo7B,KAAKj6B,EACnBnB,KAAKiyH,UAAS,EAChB,CAqFA,SAASwsB,yBAAyBxpH,EAAM5vB,EAAM04I,GAC5C/9I,KAAK8yH,6BAA6B79F,GAClCj1B,KAAKiyH,SAAWjyH,KAAK6yH,yBACrB7yH,KAAK0+I,iBAAiBzpH,EAAM5vB,EAAM04I,EACpC,CAyFA,SAASY,2BAA2B1pH,EAAM5vB,EAAM04I,GAC9C/9I,KAAK8yH,6BAA6B79F,GAClCj1B,KAAKiyH,SAAWjyH,KAAK6yH,yBACrB7yH,KAAK2vC,EAAI2iF,gBAAgBC,QAAQt9F,EAAM5vB,EAAKsqC,EAAG,EAAG,KAAM3vC,MACxDA,KAAK2jB,EAAI,IAAI85H,aAAaxoH,EAAM5vB,EAAKse,GAAK,CAAC,EAAG,MAAO3jB,MACrDA,KAAK0+I,iBAAiBzpH,EAAM5vB,EAAM04I,GAClC/9I,KAAK4yH,cAAgB5yH,KAAK4yH,WAC5B,CAIA,SAASgsB,iBACP5+I,KAAK4f,GAAK,GACV5f,KAAK6+I,aAAe,GACpB7+I,KAAKm4D,GAAKo9C,SAAS,IACrB,CAEA,SAASupC,iBAAiB9V,EAAQxxE,EAAIkZ,GACpC1wE,KAAKsmB,UAAY,CACf0iH,OAAQA,EACRxxE,GAAIA,EACJkZ,UAAWA,GAEb1wE,KAAKynI,SAAW,GAChBznI,KAAK4yH,YAAc5yH,KAAKsmB,UAAU0iH,OAAOrW,kBAAkBhyH,QAAUX,KAAKsmB,UAAUkxC,GAAG+5D,gBAAgB5wH,MACzG,CA1UAu8I,aAAah9I,UAAUs9H,cAAgB,WACrCx9H,KAAK4yH,aAAc,CACrB,EAaA0qB,aAAap9I,UAAUu1H,MAAQ,WAC7Bz1H,KAAK2jB,EAAI,GACT3jB,KAAKoxH,MAAO,CACd,EAgCAqsB,aAAav9I,UAAU+xH,SAAW,SAAUqO,GAC1C,IAAItgI,KAAKi1B,KAAK+qF,WAAWsR,UAAYtxH,KAAKsxH,SAAYgP,KAItDtgI,KAAKsxH,QAAUtxH,KAAKi1B,KAAK+qF,WAAWsR,QACpCtxH,KAAK6yH,2BACL7yH,KAAKoxH,KAAOpxH,KAAKoxH,MAAQkP,EAErBtgI,KAAKoxH,MAAM,CACb,IAAIxwH,EAAI,EACJojB,EAAMhkB,KAAK09I,UAAU/8I,OAMzB,IAJsB,QAAlBX,KAAK2oG,WACP3oG,KAAK29I,QAAU,IAGZ/8I,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACI,MAAxBZ,KAAK09I,UAAU98I,GAAG+E,EACE,QAAlB3F,KAAK2oG,SACP3oG,KAAK29I,SAAW,IAAM39I,KAAK09I,UAAU98I,GAAGyd,EAAE8C,EAE1CnhB,KAAK49I,UAAUh9I,GAAKZ,KAAK09I,UAAU98I,GAAGyd,EAAE8C,EAG1CnhB,KAAK69I,WAAW,GAAK79I,KAAK09I,UAAU98I,GAAGyd,EAAE8C,CAG/C,CACF,EAEA+tF,gBAAgB,CAACwjB,0BAA2B+qB,cAa5CvuC,gBAAgB,CAACwjB,0BAA2BorB,oBAU5C5uC,gBAAgB,CAACwjB,0BAA2BsrB,kBAQ5C9uC,gBAAgB,CAACwjB,0BAA2BurB,gBAiB5CC,iBAAiBh+I,UAAU6+I,cAAgB,SAAUp9H,EAAQwkG,GAK3D,IAJA,IAAIvlH,EAAI,EACJojB,EAAMhkB,KAAK2+B,EAAEh+B,OAAS,EAGnBC,EAAIojB,GAAK,CAGd,GAFO5f,KAAK8jC,IAAIvmB,EAAW,EAAJ/gB,GAAS+gB,EAAgB,EAATwkG,EAAiB,EAAJvlH,IAEzC,IACT,OAAO,EAGTA,GAAK,CACP,CAEA,OAAO,CACT,EAEAs9I,iBAAiBh+I,UAAUq+I,iBAAmB,WAC5C,GAAIv+I,KAAK2+B,EAAEh+B,OAAS,IAAMX,KAAKmC,EAAExB,OAAS,EACxC,OAAO,EAGT,GAAIX,KAAKqF,KAAKlE,EAAEA,EAAE,GAAG8f,EAInB,IAHA,IAAIrgB,EAAI,EACJojB,EAAMhkB,KAAKqF,KAAKlE,EAAEA,EAAER,OAEjBC,EAAIojB,GAAK,CACd,IAAKhkB,KAAK++I,cAAc/+I,KAAKqF,KAAKlE,EAAEA,EAAEP,GAAGqgB,EAAGjhB,KAAKqF,KAAKgZ,GACpD,OAAO,EAGTzd,GAAK,CACP,MACK,IAAKZ,KAAK++I,cAAc/+I,KAAKqF,KAAKlE,EAAEA,EAAGnB,KAAKqF,KAAKgZ,GACtD,OAAO,EAGT,OAAO,CACT,EAEA6/H,iBAAiBh+I,UAAU+xH,SAAW,SAAUqO,GAM9C,GALAtgI,KAAKo7B,KAAK62F,WACVjyH,KAAKoxH,MAAO,EACZpxH,KAAKo+I,OAAQ,EACbp+I,KAAKq+I,OAAQ,EAETr+I,KAAKo7B,KAAKg2F,MAAQkP,EAAa,CACjC,IAAI1/H,EAEAuwH,EACAxpH,EAFAqc,EAAoB,EAAdhkB,KAAKqF,KAAKgZ,EAIpB,IAAKzd,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBuwH,EAAOvwH,EAAI,IAAM,EAAI,IAAM,IAC3B+G,EAAMvD,KAAKkd,MAAMthB,KAAKo7B,KAAKja,EAAEvgB,GAAKuwH,GAE9BnxH,KAAKmC,EAAEvB,KAAO+G,IAChB3H,KAAKmC,EAAEvB,GAAK+G,EACZ3H,KAAKo+I,OAAS9d,GAIlB,GAAItgI,KAAK2+B,EAAEh+B,OAGT,IAFAqjB,EAAMhkB,KAAKo7B,KAAKja,EAAExgB,OAEbC,EAAkB,EAAdZ,KAAKqF,KAAKgZ,EAAOzd,EAAIojB,EAAKpjB,GAAK,EACtCuwH,EAAOvwH,EAAI,IAAM,EAAI,IAAM,EAC3B+G,EAAM/G,EAAI,IAAM,EAAIwD,KAAKkd,MAAuB,IAAjBthB,KAAKo7B,KAAKja,EAAEvgB,IAAYZ,KAAKo7B,KAAKja,EAAEvgB,GAE/DZ,KAAK2+B,EAAE/9B,EAAkB,EAAdZ,KAAKqF,KAAKgZ,KAAW1W,IAClC3H,KAAK2+B,EAAE/9B,EAAkB,EAAdZ,KAAKqF,KAAKgZ,GAAS1W,EAC9B3H,KAAKq+I,OAAS/d,GAKpBtgI,KAAKoxH,MAAQkP,CACf,CACF,EAEApxB,gBAAgB,CAACwjB,0BAA2BwrB,kBAQ5CO,yBAAyBv+I,UAAUw+I,iBAAmB,SAAUzpH,EAAM5vB,EAAM04I,GAC1E/9I,KAAK2+B,EAAI2zF,gBAAgBC,QAAQt9F,EAAM5vB,EAAKs5B,EAAG,EAAG,IAAM3+B,MACxDA,KAAKihB,EAAIqxG,gBAAgBC,QAAQt9F,EAAM5vB,EAAK4b,EAAG,EAAG,KAAMjhB,MACxDA,KAAK4qB,EAAI0nG,gBAAgBC,QAAQt9F,EAAM5vB,EAAKulB,EAAG,EAAG,KAAM5qB,MACxDA,KAAKurB,EAAI+mG,gBAAgBC,QAAQt9F,EAAM5vB,EAAKkmB,GAAK,CAC/CpqB,EAAG,GACF,EAAG,IAAMnB,MACZA,KAAKujB,EAAI+uG,gBAAgBC,QAAQt9F,EAAM5vB,EAAKke,GAAK,CAC/CpiB,EAAG,GACF,EAAGqxG,UAAWxyG,MACjBA,KAAKmR,EAAI,IAAI+sI,iBAAiBjpH,EAAM5vB,EAAK8L,EAAGnR,MAC5CA,KAAKq1B,MAAQ0oH,EACb/9I,KAAKg/I,MAAQ,GACbh/I,KAAKi/I,gBAAgBlB,EAAQR,MAAOl4I,GACpCrF,KAAKk/I,mBAAmB75I,EAAM04I,GAC9B/9I,KAAK4yH,cAAgB5yH,KAAK4yH,WAC5B,EAEA6rB,yBAAyBv+I,UAAU++I,gBAAkB,SAAUE,EAAa95I,GAC1E,IAAI+5I,EAAajrC,kBACbkrC,EAAQ9pC,SAAoB,IAAXlwG,EAAKoe,EAAU,iBAAmB,kBACvD47H,EAAMr6B,aAAa,KAAMo6B,GACzBC,EAAMr6B,aAAa,eAAgB,OACnCq6B,EAAMr6B,aAAa,gBAAiB,kBACpC,IACIrb,EACA1oG,EACA01G,EAHAqoC,EAAQ,GAMZ,IAFAroC,EAAkB,EAAXtxG,EAAK8L,EAAEkN,EAETpd,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzB0oG,EAAO4L,SAAS,QAChB8pC,EAAMttE,YAAY43B,GAClBq1C,EAAMx5I,KAAKmkG,GAGbw1C,EAAYn6B,aAAyB,OAAZ3/G,EAAK0kD,GAAc,OAAS,SAAU,OAASilD,kBAAoB,IAAMowC,EAAa,KAC/Gp/I,KAAKs/I,GAAKD,EACVr/I,KAAKkvC,IAAM8vG,CACb,EAEAP,yBAAyBv+I,UAAUg/I,mBAAqB,SAAU75I,EAAM04I,GACtE,GAAI/9I,KAAKmR,EAAEqtI,cAAgBx+I,KAAKmR,EAAEmtI,aAAc,CAC9C,IAAI30C,EACA1oG,EACA01G,EACAogC,EAAOxhC,SAAS,QAChBwgC,EAAcxgC,SAAS,QAC3BwhC,EAAKhlE,YAAYgkE,GACjB,IAAIwJ,EAAYprC,kBACZqrC,EAASrrC,kBACb4iC,EAAK/xB,aAAa,KAAMw6B,GACxB,IAAIC,EAASlqC,SAAoB,IAAXlwG,EAAKoe,EAAU,iBAAmB,kBACxDg8H,EAAOz6B,aAAa,KAAMu6B,GAC1BE,EAAOz6B,aAAa,eAAgB,OACpCy6B,EAAOz6B,aAAa,gBAAiB,kBACrCrO,EAAOtxG,EAAK8L,EAAEhQ,EAAEA,EAAE,GAAG8f,EAAI5b,EAAK8L,EAAEhQ,EAAEA,EAAE,GAAG8f,EAAEtgB,OAAS0E,EAAK8L,EAAEhQ,EAAEA,EAAER,OAC7D,IAAIq+I,EAAQh/I,KAAKg/I,MAEjB,IAAK/9I,EAAe,EAAXoE,EAAK8L,EAAEkN,EAAOpd,EAAI01G,EAAM11G,GAAK,GACpC0oG,EAAO4L,SAAS,SACXyP,aAAa,aAAc,oBAChCy6B,EAAO1tE,YAAY43B,GACnBq1C,EAAMx5I,KAAKmkG,GAGbosC,EAAY/wB,aAAyB,OAAZ3/G,EAAK0kD,GAAc,OAAS,SAAU,OAASilD,kBAAoB,IAAMuwC,EAAY,KAE9F,OAAZl6I,EAAK0kD,KACPgsF,EAAY/wB,aAAa,iBAAkBg4B,YAAY33I,EAAKiqC,IAAM,IAClEymG,EAAY/wB,aAAa,kBAAmBi4B,aAAa53I,EAAK4kI,IAAM,IAEpD,IAAZ5kI,EAAK4kI,IACP8L,EAAY/wB,aAAa,oBAAqB3/G,EAAK0tC,KAIvD/yC,KAAK0/I,GAAKD,EACVz/I,KAAK2yF,GAAKokD,EACV/2I,KAAK2/I,IAAMX,EACXh/I,KAAKw/I,OAASA,EACdzB,EAAQP,OAASzH,CACnB,CACF,EAEA7mC,gBAAgB,CAACwjB,0BAA2B+rB,0BAW5CvvC,gBAAgB,CAACuvC,yBAA0B/rB,0BAA2BisB,4BAkBtE,IAAIiB,iBAAmB,SAA0B/G,EAAWl4I,EAAQm4G,EAAQunB,GAC1E,GAAe,IAAX1/H,EACF,MAAO,GAGT,IAGIC,EAHAi/I,EAAKhH,EAAUl6G,EACf3P,EAAK6pH,EAAUj4I,EACfu1H,EAAK0iB,EAAU13H,EAEf2+H,EAAc,KAAOzf,EAAInF,wBAAwB/E,EAAG,GAAG,GAAIA,EAAG,GAAG,IAErE,IAAKv1H,EAAI,EAAGA,EAAID,EAAQC,GAAK,EAC3Bk/I,GAAe,KAAOzf,EAAInF,wBAAwB2kB,EAAGj/I,EAAI,GAAG,GAAIi/I,EAAGj/I,EAAI,GAAG,IAAM,IAAMy/H,EAAInF,wBAAwBlsG,EAAGpuB,GAAG,GAAIouB,EAAGpuB,GAAG,IAAM,IAAMy/H,EAAInF,wBAAwB/E,EAAGv1H,GAAG,GAAIu1H,EAAGv1H,GAAG,IAQ5L,OALIk4G,GAAUn4G,IACZm/I,GAAe,KAAOzf,EAAInF,wBAAwB2kB,EAAGj/I,EAAI,GAAG,GAAIi/I,EAAGj/I,EAAI,GAAG,IAAM,IAAMy/H,EAAInF,wBAAwBlsG,EAAG,GAAG,GAAIA,EAAG,GAAG,IAAM,IAAMqxG,EAAInF,wBAAwB/E,EAAG,GAAG,GAAIA,EAAG,GAAG,IAC1L2pB,GAAe,KAGVA,CACT,EAEIC,oBAAsB,WACxB,IAAIC,EAAkB,IAAIt1F,OAEtBu1F,EAAgB,IAAIv1F,OAqCxB,SAASw1F,EAAuBC,EAAWC,EAAUzH,IAC/CA,GAAgByH,EAAS95H,UAAUkxC,GAAG45D,OACxCgvB,EAAS95H,UAAUoqD,UAAUs0C,aAAa,UAAWo7B,EAAS95H,UAAUkxC,GAAGr2C,IAGzEw3H,GAAgByH,EAAS95H,UAAU0iH,OAAO5X,OAC5CgvB,EAAS95H,UAAUoqD,UAAUs0C,aAAa,YAAao7B,EAAS95H,UAAU0iH,OAAO7nH,EAAEm6G,UAEvF,CAEA,SAAS+kB,IAAc,CAEvB,SAASC,EAAWH,EAAWC,EAAUzH,GACvC,IAAI13I,EACA01G,EACA4pC,EACAC,EACA3H,EACAj6H,EAGAu2G,EACAkL,EACAogB,EACAt/I,EALAu/I,EAAON,EAAS3wH,OAAO9uB,OACvB+wC,EAAM0uG,EAAS1uG,IAMnB,IAAK9yB,EAAI,EAAGA,EAAI8hI,EAAM9hI,GAAK,EAAG,CAG5B,GAFA4hI,EAASJ,EAASlxB,GAAGkC,MAAQunB,EAEzByH,EAAS3wH,OAAO7Q,GAAG8yB,IAAMA,EAAK,CAKhC,IAJA2uF,EAAM4f,EAAcxqB,QACpBgrB,EAAa/uG,EAAM0uG,EAAS3wH,OAAO7Q,GAAG8yB,IACtCvwC,EAAIi/I,EAASjD,aAAax8I,OAAS,GAE3B6/I,GAAUC,EAAa,GAC7BD,EAASJ,EAASjD,aAAah8I,GAAG6nI,OAAO5X,MAAQovB,EACjDC,GAAc,EACdt/I,GAAK,EAGP,GAAIq/I,EAIF,IAHAC,EAAa/uG,EAAM0uG,EAAS3wH,OAAO7Q,GAAG8yB,IACtCvwC,EAAIi/I,EAASjD,aAAax8I,OAAS,EAE5B8/I,EAAa,GAClBpgB,EAAIr2E,SAASo2F,EAASjD,aAAah8I,GAAG6nI,OAAO7nH,GAC7Cs/H,GAAc,EACdt/I,GAAK,CAGX,MACEk/H,EAAM2f,EAMR,GAFArpC,GADAwe,EAAQirB,EAASlxB,GAAGiG,OACPjN,QAETs4B,EAAQ,CAGV,IAFAD,EAAwB,GAEnBt/I,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,GACzB43I,EAAY1jB,EAAM9d,OAAOp2G,KAER43I,EAAU3wB,UACzBq4B,GAAyBX,iBAAiB/G,EAAWA,EAAU3wB,QAAS2wB,EAAU12I,EAAGk+H,IAIzF+f,EAAShD,OAAOx+H,GAAK2hI,CACvB,MACEA,EAAwBH,EAAShD,OAAOx+H,GAG1CwhI,EAAS3wH,OAAO7Q,GAAG+E,IAAsB,IAAjBw8H,EAAU5lE,GAAc,GAAKgmE,EACrDH,EAAS3wH,OAAO7Q,GAAGwyG,KAAOovB,GAAUJ,EAAS3wH,OAAO7Q,GAAGwyG,IACzD,CACF,CAEA,SAASuvB,EAAWR,EAAWC,EAAUzH,GACvC,IAAIiI,EAAYR,EAAS/qH,OAErB+qH,EAASj+I,EAAEivH,MAAQunB,IACrBiI,EAAUrD,MAAMv4B,aAAa,OAAQ,OAAShT,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,IAAM6wF,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,IAAM6wF,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,MAGzIi/H,EAASzhH,EAAEyyF,MAAQunB,IACrBiI,EAAUrD,MAAMv4B,aAAa,eAAgBo7B,EAASzhH,EAAExd,EAE5D,CAEA,SAAS0/H,EAAqBV,EAAWC,EAAUzH,GACjDmI,EAAeX,EAAWC,EAAUzH,GACpCoI,EAAaZ,EAAWC,EAAUzH,EACpC,CAEA,SAASmI,EAAeX,EAAWC,EAAUzH,GAC3C,IAsBIqG,EACAp+I,EACAojB,EACA2lF,EA+CE+sB,EAxEF2oB,EAAQe,EAASd,GACjB0B,EAAaZ,EAASjvI,EAAEqtI,YACxBv1B,EAAMm3B,EAASn/H,EAAEE,EACjB+nG,EAAMk3B,EAASx1H,EAAEzJ,EAErB,GAAIi/H,EAASzhH,EAAEyyF,MAAQunB,EAAc,CACnC,IAAIrpC,EAAwB,OAAjB6wC,EAAUp2F,GAAc,eAAiB,iBACpDq2F,EAAS/qH,MAAMkoH,MAAMv4B,aAAa1V,EAAM8wC,EAASzhH,EAAExd,EACrD,CAEA,GAAIi/H,EAASn/H,EAAEmwG,MAAQunB,EAAc,CACnC,IAAIsI,EAAwB,IAAhBd,EAAU18H,EAAU,KAAO,KACnCy9H,EAAkB,OAAVD,EAAiB,KAAO,KACpC5B,EAAMr6B,aAAai8B,EAAOh4B,EAAI,IAC9Bo2B,EAAMr6B,aAAak8B,EAAOj4B,EAAI,IAE1B+3B,IAAeZ,EAASjvI,EAAEmtI,eAC5B8B,EAASV,GAAG16B,aAAai8B,EAAOh4B,EAAI,IACpCm3B,EAASV,GAAG16B,aAAak8B,EAAOj4B,EAAI,IAExC,CAOA,GAAIm3B,EAASjvI,EAAEitI,OAASzF,EAAc,CACpCqG,EAAQoB,EAASlxG,IACjB,IAAIiyG,EAAUf,EAASjvI,EAAEhP,EAGzB,IAFA6hB,EAAMg7H,EAAMr+I,OAEPC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,GACxB+oG,EAAOq1C,EAAMp+I,IACRokH,aAAa,SAAUm8B,EAAY,EAAJvgJ,GAAS,KAC7C+oG,EAAKqb,aAAa,aAAc,OAASm8B,EAAY,EAAJvgJ,EAAQ,GAAK,IAAMugJ,EAAY,EAAJvgJ,EAAQ,GAAK,IAAMugJ,EAAY,EAAJvgJ,EAAQ,GAAK,IAExH,CAEA,GAAIogJ,IAAeZ,EAASjvI,EAAEktI,OAAS1F,GAAe,CACpD,IAAIyI,EAAUhB,EAASjvI,EAAEwtB,EAUzB,IAFA3a,GALEg7H,EADEoB,EAASjvI,EAAEmtI,aACL8B,EAASlxG,IAETkxG,EAAST,KAGPh/I,OAEPC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB+oG,EAAOq1C,EAAMp+I,GAERw/I,EAASjvI,EAAEmtI,cACd30C,EAAKqb,aAAa,SAAUo8B,EAAY,EAAJxgJ,GAAS,KAG/C+oG,EAAKqb,aAAa,eAAgBo8B,EAAY,EAAJxgJ,EAAQ,GAEtD,CAEA,GAAoB,IAAhBu/I,EAAU18H,GACR28H,EAASx1H,EAAEwmG,MAAQunB,KACrB0G,EAAMr6B,aAAa,KAAMkE,EAAI,IAC7Bm2B,EAAMr6B,aAAa,KAAMkE,EAAI,IAEzB83B,IAAeZ,EAASjvI,EAAEmtI,eAC5B8B,EAASV,GAAG16B,aAAa,KAAMkE,EAAI,IACnCk3B,EAASV,GAAG16B,aAAa,KAAMkE,EAAI,WAevC,IATIk3B,EAASn/H,EAAEmwG,MAAQgvB,EAASx1H,EAAEwmG,MAAQunB,KACxCjiB,EAAMtyH,KAAKyB,KAAKzB,KAAKC,IAAI4kH,EAAI,GAAKC,EAAI,GAAI,GAAK9kH,KAAKC,IAAI4kH,EAAI,GAAKC,EAAI,GAAI,IACzEm2B,EAAMr6B,aAAa,IAAK0R,GAEpBsqB,IAAeZ,EAASjvI,EAAEmtI,cAC5B8B,EAASV,GAAG16B,aAAa,IAAK0R,IAI9B0pB,EAASx1H,EAAEwmG,MAAQgvB,EAAS70H,EAAE6lG,MAAQgvB,EAAS78H,EAAE6tG,MAAQunB,EAAc,CACpEjiB,IACHA,EAAMtyH,KAAKyB,KAAKzB,KAAKC,IAAI4kH,EAAI,GAAKC,EAAI,GAAI,GAAK9kH,KAAKC,IAAI4kH,EAAI,GAAKC,EAAI,GAAI,KAG3E,IAAIm4B,EAAMj9I,KAAKolD,MAAM0/D,EAAI,GAAKD,EAAI,GAAIC,EAAI,GAAKD,EAAI,IAC/CuD,EAAU4zB,EAAS70H,EAAEpK,EAErBqrG,GAAW,EACbA,EAAU,IACDA,IAAY,IACrBA,GAAW,KAGb,IAAIsY,EAAOpO,EAAMlK,EACb9+G,EAAItJ,KAAKwwD,IAAIysF,EAAMjB,EAAS78H,EAAEpC,GAAK2jH,EAAO7b,EAAI,GAC9Ct7G,EAAIvJ,KAAKywD,IAAIwsF,EAAMjB,EAAS78H,EAAEpC,GAAK2jH,EAAO7b,EAAI,GAClDo2B,EAAMr6B,aAAa,KAAMt3G,GACzB2xI,EAAMr6B,aAAa,KAAMr3G,GAErBqzI,IAAeZ,EAASjvI,EAAEmtI,eAC5B8B,EAASV,GAAG16B,aAAa,KAAMt3G,GAC/B0yI,EAASV,GAAG16B,aAAa,KAAMr3G,GAEnC,CAGJ,CAEA,SAASozI,EAAaZ,EAAWC,EAAUzH,GACzC,IAAIiI,EAAYR,EAAS/qH,MACrB1R,EAAIy8H,EAASz8H,EAEbA,IAAMA,EAAEytG,MAAQunB,IAAiBh1H,EAAEg6H,UACrCiD,EAAUrD,MAAMv4B,aAAa,mBAAoBrhG,EAAEg6H,SACnDiD,EAAUrD,MAAMv4B,aAAa,oBAAqBrhG,EAAEk6H,WAAW,KAG7DuC,EAASj+I,IAAMi+I,EAASj+I,EAAEivH,MAAQunB,IACpCiI,EAAUrD,MAAMv4B,aAAa,SAAU,OAAShT,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,IAAM6wF,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,IAAM6wF,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,MAG3Ii/H,EAASzhH,EAAEyyF,MAAQunB,IACrBiI,EAAUrD,MAAMv4B,aAAa,iBAAkBo7B,EAASzhH,EAAExd,IAGxDi/H,EAASzwG,EAAEyhF,MAAQunB,KACrBiI,EAAUrD,MAAMv4B,aAAa,eAAgBo7B,EAASzwG,EAAExuB,GAEpDy/H,EAAUpD,QACZoD,EAAUpD,OAAOx4B,aAAa,eAAgBo7B,EAASzwG,EAAExuB,GAG/D,CAEA,MA7QS,CACPmgI,qBAGF,SAA8Bj8I,GAC5B,OAAQA,EAAK0kD,IACX,IAAK,KACH,OAAO42F,EAET,IAAK,KACH,OAAOG,EAET,IAAK,KACH,OAAOD,EAET,IAAK,KACH,OAAOE,EAET,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,OAAOT,EAET,IAAK,KACH,OAAOJ,EAET,IAAK,KACH,OAAOG,EAET,QACE,OAAO,KAEb,EA6OF,CAnR0B,GAqR1B,SAASkB,gBAAgBl8I,EAAM26G,EAAYzI,GAEzCv3G,KAAKq3G,OAAS,GAEdr3G,KAAK2yI,WAAattI,EAAKgyG,OAEvBr3G,KAAKwhJ,WAAa,GAElBxhJ,KAAKy8I,eAAiB,GAEtBz8I,KAAK4yI,UAAY,GAEjB5yI,KAAK88I,kBAAoB,GAEzB98I,KAAKyhJ,iBAAmB,GACxBzhJ,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,GAGnCv3G,KAAK6+I,aAAe,EACtB,CAyWA,SAAS6C,YAAY/iH,EAAGg1D,EAAIhP,EAAI/H,EAAIh3E,EAAGyY,GACrCre,KAAK2+B,EAAIA,EACT3+B,KAAK2zF,GAAKA,EACV3zF,KAAK2kF,GAAKA,EACV3kF,KAAK48E,GAAKA,EACV58E,KAAK4F,EAAIA,EACT5F,KAAKqe,EAAIA,EACTre,KAAKoxH,KAAO,CACVzyF,GAAG,EACHg1D,KAAMA,EACNhP,KAAMA,EACN/H,KAAMA,EACNh3E,GAAG,EACHyY,GAAG,EAEP,CAkDA,SAASsjI,aAAa1sH,EAAM5vB,GAC1BrF,KAAK4hJ,SAAWhzC,oBAChB5uG,KAAK0tH,GAAK,GACV1tH,KAAKmhB,EAAI,GACTnhB,KAAK2xH,IAAK,EACV3xH,KAAKyxH,eAAgB,EACrBzxH,KAAKoxH,MAAO,EAER/rH,EAAKse,GAAKte,EAAKse,EAAE6uG,MACnBntH,EAAKse,EAAIsR,EAAK+qF,WAAWyS,YAAYF,QAAQltH,EAAKse,IAGpD3jB,KAAKqF,KAAOA,EACZrF,KAAKi1B,KAAOA,EACZj1B,KAAKu3G,KAAOv3G,KAAKi1B,KAAKsiF,KACtBv3G,KAAK6hJ,UAAY,EACjB7hJ,KAAK8hJ,WAAY,EACjB9hJ,KAAK+hJ,gBAAkB,EACvB/hJ,KAAKuxH,gBAAkB,GACvBvxH,KAAKgiJ,YAAc,CACjBziD,OAAQ,EACR0iD,SAAUjiJ,KAAKkiJ,gBACfj3H,EAAG,GACH07G,OAAQ,GACRC,QAAS,GACThqD,GAAI,GACJ37E,EAAG,GACHkhJ,cAAe,GACfvjI,EAAG,GACHwjI,GAAI,EACJC,WAAY,GACZC,GAAI,GACJ5C,GAAI,GACJz+H,EAAG,GACH0jE,GAAI,GACJgP,GAAI,EACJlwE,EAAG,EACHqrB,GAAI,EACJwkD,GAAI,EACJivD,GAAI,KACJC,eAAe,EACfC,iBAAiB,EACjBC,iBAAiB,EACjBnsE,QAAS,EACTosE,UAAW,EACXC,UAAW,GACXC,gBAAiB,EACjB7pC,YAAY,GAEdh5G,KAAK8iJ,SAAS9iJ,KAAKgiJ,YAAahiJ,KAAKqF,KAAKse,EAAExiB,EAAE,GAAG8f,GAE5CjhB,KAAK+iJ,kBACR/iJ,KAAKgjJ,iBAAiBhjJ,KAAKgiJ,YAE/B,CA9dA9yC,gBAAgB,CAAC6hC,YAAa8E,iBAAkBoE,eAAgBO,cAAeN,iBAAkBlJ,aAAcmJ,sBAAuBoH,iBAEtIA,gBAAgBrhJ,UAAU+iJ,qBAAuB,WAAa,EAE9D1B,gBAAgBrhJ,UAAU6qD,eAAiB,IAAIL,OAE/C62F,gBAAgBrhJ,UAAUgjJ,yBAA2B,WAAa,EAElE3B,gBAAgBrhJ,UAAUk8I,cAAgB,WACxCp8I,KAAKmjJ,aAAanjJ,KAAK2yI,WAAY3yI,KAAK4yI,UAAW5yI,KAAK6+I,aAAc7+I,KAAKkzI,aAAc,EAAG,IAAI,GAChGlzI,KAAKojJ,oBACP,EAMA7B,gBAAgBrhJ,UAAUkjJ,mBAAqB,WAC7C,IAAIxiJ,EAEAszH,EACAjzH,EAEAo0B,EAJArR,EAAMhkB,KAAKq3G,OAAO12G,OAGlBg2G,EAAO32G,KAAKwhJ,WAAW7gJ,OAEvB0iJ,EAAa,GACbC,GAAc,EAElB,IAAKriJ,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EAAG,CAK5B,IAJAo0B,EAAQr1B,KAAKwhJ,WAAWvgJ,GACxBqiJ,GAAc,EACdD,EAAW1iJ,OAAS,EAEfC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,GAGa,KAFrCszH,EAAQl0H,KAAKq3G,OAAOz2G,IAEV6uB,OAAO7nB,QAAQytB,KACvBguH,EAAW79I,KAAK0uH,GAChBovB,EAAcpvB,EAAMtB,aAAe0wB,GAInCD,EAAW1iJ,OAAS,GAAK2iJ,GAC3BtjJ,KAAKujJ,oBAAoBF,EAE7B,CACF,EAEA9B,gBAAgBrhJ,UAAUqjJ,oBAAsB,SAAUlsC,GACxD,IAAIz2G,EACAojB,EAAMqzF,EAAO12G,OAEjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBy2G,EAAOz2G,GAAG48H,eAEd,EAEA+jB,gBAAgBrhJ,UAAUsjJ,mBAAqB,SAAUn+I,EAAMquC,GAE7D,IAAI+vG,EACA1F,EAAU,IAAIT,aAAaj4I,EAAMquC,GACjCyrG,EAAcpB,EAAQR,MAgD1B,MA9CgB,OAAZl4I,EAAK0kD,GACP05F,EAAc,IAAI3F,mBAAmB99I,KAAMqF,EAAM04I,GAC5B,OAAZ14I,EAAK0kD,GACd05F,EAAc,IAAIzF,iBAAiBh+I,KAAMqF,EAAM04I,GAC1B,OAAZ14I,EAAK0kD,IAA2B,OAAZ1kD,EAAK0kD,IAElC05F,EAAc,IADwB,OAAZp+I,EAAK0kD,GAAc00F,yBAA2BE,4BAClC3+I,KAAMqF,EAAM04I,GAClD/9I,KAAKggH,WAAWC,KAAKluC,YAAY0xE,EAAYnE,IAEzCmE,EAAYjE,SACdx/I,KAAKggH,WAAWC,KAAKluC,YAAY0xE,EAAY9wD,IAC7C3yF,KAAKggH,WAAWC,KAAKluC,YAAY0xE,EAAY/D,IAC7CP,EAAYn6B,aAAa,OAAQ,OAAShW,kBAAoB,IAAMy0C,EAAYjE,OAAS,OAEtE,OAAZn6I,EAAK0kD,KACd05F,EAAc,IAAIxF,eAAej+I,KAAMqF,EAAM04I,IAG/B,OAAZ14I,EAAK0kD,IAA2B,OAAZ1kD,EAAK0kD,KAC3Bo1F,EAAYn6B,aAAa,iBAAkBg4B,YAAY33I,EAAKiqC,IAAM,IAClE6vG,EAAYn6B,aAAa,kBAAmBi4B,aAAa53I,EAAK4kI,IAAM,IACpEkV,EAAYn6B,aAAa,eAAgB,KAEzB,IAAZ3/G,EAAK4kI,IACPkV,EAAYn6B,aAAa,oBAAqB3/G,EAAK0tC,KAIxC,IAAX1tC,EAAKgM,GACP8tI,EAAYn6B,aAAa,YAAa,WAGpC3/G,EAAK2pC,IACPmwG,EAAYn6B,aAAa,KAAM3/G,EAAK2pC,IAGlC3pC,EAAKkqC,IACP4vG,EAAYn6B,aAAa,QAAS3/G,EAAKkqC,IAGrClqC,EAAK2tI,KACPmM,EAAY9pH,MAAM,kBAAoB06G,aAAa1qI,EAAK2tI,KAG1DhzI,KAAKwhJ,WAAWh8I,KAAKu4I,GACrB/9I,KAAK0jJ,sBAAsBr+I,EAAMo+I,GAC1BA,CACT,EAEAlC,gBAAgBrhJ,UAAUyjJ,mBAAqB,SAAUt+I,GACvD,IAAIo+I,EAAc,IAAI7E,eActB,OAZIv5I,EAAK2pC,IACPy0G,EAAYtrF,GAAG6sD,aAAa,KAAM3/G,EAAK2pC,IAGrC3pC,EAAKkqC,IACPk0G,EAAYtrF,GAAG6sD,aAAa,QAAS3/G,EAAKkqC,IAGxClqC,EAAK2tI,KACPyQ,EAAYtrF,GAAG9iC,MAAM,kBAAoB06G,aAAa1qI,EAAK2tI,KAGtDyQ,CACT,EAEAlC,gBAAgBrhJ,UAAU0jJ,uBAAyB,SAAUv+I,EAAMqrE,GACjE,IAAImzE,EAAoBnkB,yBAAyBmB,qBAAqB7gI,KAAMqF,EAAMrF,MAC9EyjJ,EAAc,IAAI3E,iBAAiB+E,EAAmBA,EAAkBllH,EAAG+xC,GAE/E,OADA1wE,KAAK0jJ,sBAAsBr+I,EAAMo+I,GAC1BA,CACT,EAEAlC,gBAAgBrhJ,UAAU4jJ,mBAAqB,SAAUz+I,EAAM0+I,EAAiBrwG,GAC9E,IAAIqW,EAAK,EAEO,OAAZ1kD,EAAK0kD,GACPA,EAAK,EACgB,OAAZ1kD,EAAK0kD,GACdA,EAAK,EACgB,OAAZ1kD,EAAK0kD,KACdA,EAAK,GAGP,IACI05F,EAAc,IAAIvG,aAAa6G,EAAiBrwG,EADhCghF,qBAAqB8hB,aAAax2I,KAAMqF,EAAM0kD,EAAI/pD,OAKtE,OAHAA,KAAKq3G,OAAO7xG,KAAKi+I,GACjBzjJ,KAAKw8I,oBAAoBiH,GACzBzjJ,KAAK0jJ,sBAAsBr+I,EAAMo+I,GAC1BA,CACT,EAEAlC,gBAAgBrhJ,UAAUwjJ,sBAAwB,SAAUr+I,EAAMsuB,GAIhE,IAHA,IAAI/yB,EAAI,EACJojB,EAAMhkB,KAAKyhJ,iBAAiB9gJ,OAEzBC,EAAIojB,GAAK,CACd,GAAIhkB,KAAKyhJ,iBAAiB7gJ,GAAG+yB,UAAYA,EACvC,OAGF/yB,GAAK,CACP,CAEAZ,KAAKyhJ,iBAAiBj8I,KAAK,CACzB+B,GAAIw4I,oBAAoBuB,qBAAqBj8I,GAC7CsuB,QAASA,EACTtuB,KAAMA,GAEV,EAEAk8I,gBAAgBrhJ,UAAU8jJ,iBAAmB,SAAUP,GACrD,IACIxiJ,EADAyG,EAAM+7I,EAAYh0H,OAElBknF,EAAO32G,KAAKwhJ,WAAW7gJ,OAE3B,IAAKM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACpBjB,KAAKwhJ,WAAWvgJ,GAAG63G,QACtBpxG,EAAIlC,KAAKxF,KAAKwhJ,WAAWvgJ,GAG/B,EAEAsgJ,gBAAgBrhJ,UAAUqoI,aAAe,WAEvC,IAAI3nI,EADJZ,KAAKyxH,eAAgB,EAErB,IAAIztG,EAAMhkB,KAAK4yI,UAAUjyI,OAEzB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK6+I,aAAaj+I,GAAKZ,KAAK4yI,UAAUhyI,GAOxC,IAJAZ,KAAKmjJ,aAAanjJ,KAAK2yI,WAAY3yI,KAAK4yI,UAAW5yI,KAAK6+I,aAAc7+I,KAAKkzI,aAAc,EAAG,IAAI,GAChGlzI,KAAKojJ,qBACLp/H,EAAMhkB,KAAK2yH,kBAAkBhyH,OAExBC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK2yH,kBAAkB/xH,GAAGqxH,WAG5BjyH,KAAK48I,iBACP,EAEA2E,gBAAgBrhJ,UAAUijJ,aAAe,SAAUz7I,EAAKkrI,EAAWiM,EAAcnuE,EAAWh9B,EAAOypG,EAAcpoE,GAC/G,IACIn0E,EAEAK,EACA01G,EAGAstC,EACAC,EACAC,EATAJ,EAAkB,GAAG72I,OAAOiwI,GAE5Bn5H,EAAMtc,EAAI/G,OAAS,EAGnByjJ,EAAY,GACZC,EAAe,GAKnB,IAAKzjJ,EAAIojB,EAAKpjB,GAAK,EAAGA,GAAK,EAAG,CAS5B,IARAujJ,EAAenkJ,KAAK68I,uBAAuBn1I,EAAI9G,KAK7CgyI,EAAUhyI,GAAKi+I,EAAasF,EAAe,GAF3Cz8I,EAAI9G,GAAGmnI,QAAUhzD,EAKD,OAAdrtE,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,GAC5Fo6F,EAGHvR,EAAUhyI,GAAGy0B,MAAMyjF,QAAS,EAF5B85B,EAAUhyI,GAAKZ,KAAKwjJ,mBAAmB97I,EAAI9G,GAAI8yC,GAK7ChsC,EAAI9G,GAAGmnI,SACL6K,EAAUhyI,GAAGy0B,MAAMkoH,MAAM3wE,aAAe8D,GAC1CA,EAAUqB,YAAY6gE,EAAUhyI,GAAGy0B,MAAMkoH,OAI7C6G,EAAU5+I,KAAKotI,EAAUhyI,GAAGy0B,YACvB,GAAkB,OAAd3tB,EAAI9G,GAAGmpD,GAAa,CAC7B,GAAKo6F,EAKH,IAFAxtC,EAAOi8B,EAAUhyI,GAAGgf,GAAGjf,OAElBM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzB2xI,EAAUhyI,GAAGi+I,aAAa59I,GAAK2xI,EAAUhyI,GAAGgf,GAAG3e,QALjD2xI,EAAUhyI,GAAKZ,KAAK2jJ,mBAAmBj8I,EAAI9G,IAS7CZ,KAAKmjJ,aAAaz7I,EAAI9G,GAAGgf,GAAIgzH,EAAUhyI,GAAGgf,GAAIgzH,EAAUhyI,GAAGi+I,aAAcjM,EAAUhyI,GAAGu3D,GAAIzkB,EAAQ,EAAGqwG,EAAiBhvE,GAElHrtE,EAAI9G,GAAGmnI,SACL6K,EAAUhyI,GAAGu3D,GAAGyU,aAAe8D,GACjCA,EAAUqB,YAAY6gE,EAAUhyI,GAAGu3D,GAGzC,KAAyB,OAAdzwD,EAAI9G,GAAGmpD,IACXo6F,IACHvR,EAAUhyI,GAAKZ,KAAK4jJ,uBAAuBl8I,EAAI9G,GAAI8vE,IAGrDuzE,EAAmBrR,EAAUhyI,GAAG0lB,UAChCy9H,EAAgBv+I,KAAKy+I,IACE,OAAdv8I,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAC7Eo6F,IACHvR,EAAUhyI,GAAKZ,KAAK8jJ,mBAAmBp8I,EAAI9G,GAAImjJ,EAAiBrwG,IAGlE1zC,KAAKgkJ,iBAAiBpR,EAAUhyI,KACT,OAAd8G,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IACzHo6F,GAMHD,EAAWtR,EAAUhyI,IACZk4G,QAAS,IANlBorC,EAAWnnB,eAAeG,YAAYx1H,EAAI9G,GAAGmpD,KACpCm5D,KAAKljH,KAAM0H,EAAI9G,IACxBgyI,EAAUhyI,GAAKsjJ,EACflkJ,KAAKy8I,eAAej3I,KAAK0+I,IAM3BG,EAAa7+I,KAAK0+I,IACK,OAAdx8I,EAAI9G,GAAGmpD,KACXo6F,GAOHD,EAAWtR,EAAUhyI,IACZk4G,QAAS,GAPlBorC,EAAWnnB,eAAeG,YAAYx1H,EAAI9G,GAAGmpD,IAC7C6oF,EAAUhyI,GAAKsjJ,EACfA,EAAShhC,KAAKljH,KAAM0H,EAAK9G,EAAGgyI,GAC5B5yI,KAAKy8I,eAAej3I,KAAK0+I,GACzBnvE,GAAS,GAMXsvE,EAAa7+I,KAAK0+I,IAGpBlkJ,KAAK+8I,oBAAoBr1I,EAAI9G,GAAIA,EAAI,EACvC,CAIA,IAFAojB,EAAMogI,EAAUzjJ,OAEXC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBwjJ,EAAUxjJ,GAAGk4G,QAAS,EAKxB,IAFA90F,EAAMqgI,EAAa1jJ,OAEdC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxByjJ,EAAazjJ,GAAGk4G,QAAS,CAE7B,EAEAyoC,gBAAgBrhJ,UAAUm8I,mBAAqB,WAE7C,IAAIz7I,EADJZ,KAAK48I,kBAEL,IAAI54H,EAAMhkB,KAAKwhJ,WAAW7gJ,OAE1B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKwhJ,WAAW5gJ,GAAG60H,QAKrB,IAFAz1H,KAAKskJ,cAEA1jJ,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,GACpBZ,KAAKwhJ,WAAW5gJ,GAAGwwH,MAAQpxH,KAAKyxH,iBAC9BzxH,KAAKwhJ,WAAW5gJ,GAAG48I,SACrBx9I,KAAKwhJ,WAAW5gJ,GAAG48I,OAAOx4B,aAAa,IAAKhlH,KAAKwhJ,WAAW5gJ,GAAG+iB,GAE/D3jB,KAAKwhJ,WAAW5gJ,GAAG+iB,EAAI,OAAS3jB,KAAKwhJ,WAAW5gJ,GAAG+iB,GAGrD3jB,KAAKwhJ,WAAW5gJ,GAAG28I,MAAMv4B,aAAa,IAAKhlH,KAAKwhJ,WAAW5gJ,GAAG+iB,GAAK,QAGzE,EAEA49H,gBAAgBrhJ,UAAUokJ,YAAc,WACtC,IAAI1jJ,EAEA2jJ,EADAvgI,EAAMhkB,KAAKyhJ,iBAAiB9gJ,OAGhC,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB2jJ,EAAkBvkJ,KAAKyhJ,iBAAiB7gJ,IAEnCZ,KAAKyxH,eAAiB8yB,EAAgB5wH,QAAQi/F,eAAyC,IAAzB2xB,EAAgBl/I,MACjFk/I,EAAgBh9I,GAAGg9I,EAAgBl/I,KAAMk/I,EAAgB5wH,QAAS3zB,KAAKyxH,cAG7E,EAEA8vB,gBAAgBrhJ,UAAUyqG,QAAU,WAClC3qG,KAAKq7I,qBACLr7I,KAAK2yI,WAAa,KAClB3yI,KAAK4yI,UAAY,IACnB,EAmBA8O,YAAYxhJ,UAAUskJ,OAAS,SAAU7lH,EAAGg1D,EAAIhP,EAAI/H,EAAIh3E,EAAGyY,GACzDre,KAAKoxH,KAAKzyF,GAAI,EACd3+B,KAAKoxH,KAAKz9B,IAAK,EACf3zF,KAAKoxH,KAAKzsC,IAAK,EACf3kF,KAAKoxH,KAAKx0C,IAAK,EACf58E,KAAKoxH,KAAKxrH,GAAI,EACd5F,KAAKoxH,KAAK/yG,GAAI,EACd,IAAIomI,GAAU,EAsCd,OApCIzkJ,KAAK2+B,IAAMA,IACb3+B,KAAK2+B,EAAIA,EACT3+B,KAAKoxH,KAAKzyF,GAAI,EACd8lH,GAAU,GAGRzkJ,KAAK2zF,KAAOA,IACd3zF,KAAK2zF,GAAKA,EACV3zF,KAAKoxH,KAAKz9B,IAAK,EACf8wD,GAAU,GAGRzkJ,KAAK2kF,KAAOA,IACd3kF,KAAK2kF,GAAKA,EACV3kF,KAAKoxH,KAAKzsC,IAAK,EACf8/D,GAAU,GAGRzkJ,KAAK48E,KAAOA,IACd58E,KAAK48E,GAAKA,EACV58E,KAAKoxH,KAAKx0C,IAAK,EACf6nE,GAAU,GAGRzkJ,KAAK4F,IAAMA,IACb5F,KAAK4F,EAAIA,EACT5F,KAAKoxH,KAAKxrH,GAAI,EACd6+I,GAAU,IAGRpmI,EAAE1d,QAAWX,KAAKqe,EAAE,KAAOA,EAAE,IAAMre,KAAKqe,EAAE,KAAOA,EAAE,IAAMre,KAAKqe,EAAE,KAAOA,EAAE,IAAMre,KAAKqe,EAAE,KAAOA,EAAE,IAAMre,KAAKqe,EAAE,MAAQA,EAAE,KAAOre,KAAKqe,EAAE,MAAQA,EAAE,MAChJre,KAAKqe,EAAIA,EACTre,KAAKoxH,KAAK/yG,GAAI,EACdomI,GAAU,GAGLA,CACT,EA0DA9C,aAAazhJ,UAAUgiJ,gBAAkB,CAAC,EAAG,GAE7CP,aAAazhJ,UAAU4iJ,SAAW,SAAU17I,EAAK/B,GAC/C,IAAK,IAAI4b,KAAK5b,EACRvE,OAAOZ,UAAUggB,eAAelf,KAAKqE,EAAM4b,KAC7C7Z,EAAI6Z,GAAK5b,EAAK4b,IAIlB,OAAO7Z,CACT,EAEAu6I,aAAazhJ,UAAUwkJ,eAAiB,SAAUr/I,GAC3CA,EAAK2zG,YACRh5G,KAAKgjJ,iBAAiB39I,GAGxBrF,KAAKgiJ,YAAc38I,EACnBrF,KAAKgiJ,YAAYC,SAAWjiJ,KAAKgiJ,YAAYC,UAAYjiJ,KAAKkiJ,gBAC9DliJ,KAAKoxH,MAAO,CACd,EAEAuwB,aAAazhJ,UAAU6iJ,eAAiB,WACtC,OAAO/iJ,KAAK2kJ,iBACd,EAEAhD,aAAazhJ,UAAUykJ,gBAAkB,WAOvC,OANA3kJ,KAAK2xH,GAAK3xH,KAAKqF,KAAKse,EAAExiB,EAAER,OAAS,EAE7BX,KAAK2xH,IACP3xH,KAAK4xH,UAAU5xH,KAAK4kJ,iBAAiBhnG,KAAK59C,OAGrCA,KAAK2xH,EACd,EAEAgwB,aAAazhJ,UAAU0xH,UAAY,SAAUC,GAC3C7xH,KAAKuxH,gBAAgB/rH,KAAKqsH,GAC1B7xH,KAAKi1B,KAAK68F,mBAAmB9xH,KAC/B,EAEA2hJ,aAAazhJ,UAAU+xH,SAAW,SAAU4yB,GAC1C,GAAK7kJ,KAAKi1B,KAAK+qF,WAAWsR,UAAYtxH,KAAKsxH,SAAYtxH,KAAKuxH,gBAAgB5wH,QAAYkkJ,EAAxF,CAIA7kJ,KAAKgiJ,YAAYv+H,EAAIzjB,KAAKqF,KAAKse,EAAExiB,EAAEnB,KAAK6hJ,WAAW5gI,EAAEwC,EACrD,IAAIqhI,EAAe9kJ,KAAKgiJ,YACpB+C,EAAe/kJ,KAAK6hJ,UAExB,GAAI7hJ,KAAKwxH,KACPxxH,KAAK0kJ,eAAe1kJ,KAAKgiJ,iBAD3B,CAOA,IAAIphJ,EAFJZ,KAAKwxH,MAAO,EACZxxH,KAAKoxH,MAAO,EAEZ,IAAIptG,EAAMhkB,KAAKuxH,gBAAgB5wH,OAC3B+wH,EAAamzB,GAAe7kJ,KAAKqF,KAAKse,EAAExiB,EAAEnB,KAAK6hJ,WAAW5gI,EAE9D,IAAKrgB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAGtB8wH,EADEqzB,IAAiB/kJ,KAAK6hJ,UACX7hJ,KAAKuxH,gBAAgB3wH,GAAG8wH,EAAYA,EAAWjuG,GAE/CzjB,KAAKuxH,gBAAgB3wH,GAAGZ,KAAKgiJ,YAAatwB,EAAWjuG,GAIlEqhI,IAAiBpzB,GACnB1xH,KAAK0kJ,eAAehzB,GAGtB1xH,KAAKmhB,EAAInhB,KAAKgiJ,YACdhiJ,KAAK0tH,GAAK1tH,KAAKmhB,EACfnhB,KAAKwxH,MAAO,EACZxxH,KAAKsxH,QAAUtxH,KAAKi1B,KAAK+qF,WAAWsR,OAxBpC,CATA,CAkCF,EAEAqwB,aAAazhJ,UAAU0kJ,iBAAmB,WAMxC,IALA,IAAII,EAAWhlJ,KAAKqF,KAAKse,EAAExiB,EACvBksH,EAAWrtH,KAAKi1B,KAAKsiF,KAAKsZ,cAC1BjwH,EAAI,EACJojB,EAAMghI,EAASrkJ,OAEZC,GAAKojB,EAAM,KACZpjB,IAAMojB,EAAM,GAAKghI,EAASpkJ,EAAI,GAAG6iB,EAAI4pG,IAIzCzsH,GAAK,EAOP,OAJIZ,KAAK6hJ,YAAcjhJ,IACrBZ,KAAK6hJ,UAAYjhJ,GAGZZ,KAAKqF,KAAKse,EAAExiB,EAAEnB,KAAK6hJ,WAAW5gI,CACvC,EAEA0gI,aAAazhJ,UAAU+kJ,eAAiB,SAAUz6I,GAUhD,IATA,IAGIsiI,EACAF,EAJAsY,EAAkB,GAClBtkJ,EAAI,EACJojB,EAAMxZ,EAAK7J,OAGXwkJ,GAAgB,EAChBC,GAAoB,EACpBC,EAAe,GAEZzkJ,EAAIojB,GACTmhI,EAAgBC,EAChBA,GAAoB,EACpBtY,EAAWtiI,EAAKpJ,WAAWR,GAC3BykJ,EAAe76I,EAAKxG,OAAOpD,GAEvB0pI,YAAY0C,oBAAoBF,GAClCqY,GAAgB,EACPrY,GAAY,OAAUA,GAAY,MACvCxC,YAAY4C,eAAe1iI,EAAM5J,GACnCykJ,EAAe76I,EAAKtD,OAAOtG,EAAG,KAE9BgsI,EAAiBpiI,EAAKpJ,WAAWR,EAAI,KAEf,OAAUgsI,GAAkB,QAC5CtC,YAAYoC,WAAWI,EAAUF,IACnCyY,EAAe76I,EAAKtD,OAAOtG,EAAG,GAC9BukJ,GAAgB,GAEhBE,EADS/a,YAAYyC,YAAYviI,EAAKtD,OAAOtG,EAAG,IACjC4J,EAAKtD,OAAOtG,EAAG,GAEf4J,EAAKtD,OAAOtG,EAAG,IAI3BksI,EAAW,OACpBF,EAAiBpiI,EAAKpJ,WAAWR,EAAI,GAEjC0pI,YAAY6C,oBAAoBL,KAClCqY,GAAgB,IAET7a,YAAYuC,kBAAkBC,KACvCqY,GAAgB,EAChBC,GAAoB,GAGlBD,GACFD,EAAgBA,EAAgBvkJ,OAAS,IAAM0kJ,EAC/CF,GAAgB,GAEhBD,EAAgB1/I,KAAK6/I,GAGvBzkJ,GAAKykJ,EAAa1kJ,OAGpB,OAAOukJ,CACT,EAEAvD,aAAazhJ,UAAU8iJ,iBAAmB,SAAU9qC,GAClDA,EAAac,YAAa,EAC1B,IAGIp4G,EACAojB,EACAshI,EAEA39I,EAQA1G,EACA01G,EAEA4B,EAlBAuI,EAAc9gH,KAAKi1B,KAAK+qF,WAAWc,YACnCz7G,EAAOrF,KAAKqF,KACZ1B,EAAU,GAIVmF,EAAQ,EAERy8I,EAAiBlgJ,EAAKO,EAAEuL,EACxBq0I,EAAc,EACdC,EAAa,EACbC,EAAc,EACdrD,EAAa,GACbxwH,EAAY,EACZ8zH,EAAe,EAGfjf,EAAW5lB,EAAYqtB,cAAcj2B,EAAajtF,GAElDkzH,EAAU,EACV1S,EAAYhF,kBAAkBC,GAClCxuB,EAAa0uB,QAAU6E,EAAU3gE,OACjCotC,EAAayuB,OAAS8E,EAAUp2G,MAChC6iF,EAAayqC,UAAYzqC,EAAaj3F,EACtCi3F,EAAa0qC,UAAY5iJ,KAAKilJ,eAAe/sC,EAAaz0F,GAC1DO,EAAMk0F,EAAa0qC,UAAUjiJ,OAC7Bu3G,EAAa2qC,gBAAkB3qC,EAAakqC,GAC5C,IACItV,EADA8Y,EAAiB1tC,EAAappE,GAAK,IAAOopE,EAAayqC,UAG3D,GAAIzqC,EAAa5kB,GAOf,IANA,IAGIuyD,EACAjD,EAJA7pE,GAAO,EACPkpE,EAAW/pC,EAAa5kB,GAAG,GAC3BwyD,EAAY5tC,EAAa5kB,GAAG,GAIzBva,GAAM,CAEX8sE,EAAgB,EAChBh0H,EAAY,EACZ7N,GAHA4+H,EAAY5iJ,KAAKilJ,eAAe/sC,EAAaz0F,IAG7B9iB,OAChBilJ,EAAiB1tC,EAAappE,GAAK,IAAOopE,EAAayqC,UACvD,IAAIoD,GAAkB,EAEtB,IAAKnlJ,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBksI,EAAW8V,EAAUhiJ,GAAGQ,WAAW,GACnCkkJ,GAAc,EAEO,MAAjB1C,EAAUhiJ,GACZmlJ,EAAiBnlJ,EACK,KAAbksI,GAAgC,IAAbA,IAC5Bj7G,EAAY,EACZyzH,GAAc,EACdO,GAAiB3tC,EAAa2qC,iBAA4C,IAAzB3qC,EAAayqC,WAG5D7hC,EAAYxI,OACdC,EAAWuI,EAAYmtB,YAAY2U,EAAUhiJ,GAAI8lI,EAASC,OAAQD,EAASiF,SAC3EwS,EAAUmH,EAAc,EAAI/sC,EAAS5oE,EAAIuoE,EAAayqC,UAAY,KAGlExE,EAAUr9B,EAAYlyC,YAAYg0E,EAAUhiJ,GAAIs3G,EAAajtF,EAAGitF,EAAayqC,WAG3E9wH,EAAYssH,EAAU8D,GAA6B,MAAjBW,EAAUhiJ,KACtB,IAApBmlJ,EACF/hI,GAAO,EAEPpjB,EAAImlJ,EAGNF,GAAiB3tC,EAAa2qC,iBAA4C,IAAzB3qC,EAAayqC,UAC9DC,EAAU34I,OAAOrJ,EAAGmlJ,IAAmBnlJ,EAAI,EAAI,EAAG,MAElDmlJ,GAAkB,EAClBl0H,EAAY,IAEZA,GAAassH,EACbtsH,GAAa+zH,GAIjBC,GAAiBnf,EAASnnC,OAAS2Y,EAAayqC,UAAY,IAExD3iJ,KAAK8hJ,WAAa5pC,EAAayqC,UAAY3iJ,KAAK+hJ,iBAAmB+D,EAAYD,GACjF3tC,EAAayqC,WAAa,EAC1BzqC,EAAa2qC,gBAAkB3qC,EAAayqC,UAAYzqC,EAAakqC,GAAKlqC,EAAaj3F,IAEvFi3F,EAAa0qC,UAAYA,EACzB5+H,EAAMk0F,EAAa0qC,UAAUjiJ,OAC7Bo4E,GAAO,EAEX,CAGFlnD,GAAa+zH,EACbzH,EAAU,EACV,IACI6H,EADAC,EAAoB,EAGxB,IAAKrlJ,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EA6CxB,GA5CA0kJ,GAAc,EAIG,MAFjBxY,GADAkZ,EAAc9tC,EAAa0qC,UAAUhiJ,IACdQ,WAAW,KAEE,IAAb0rI,GACrBmZ,EAAoB,EACpB5D,EAAW78I,KAAKqsB,GAChB8zH,EAAe9zH,EAAY8zH,EAAe9zH,EAAY8zH,EACtD9zH,GAAa,EAAI+zH,EACjBj+I,EAAM,GACN29I,GAAc,EACdI,GAAe,GAEf/9I,EAAMq+I,EAGJllC,EAAYxI,OACdC,EAAWuI,EAAYmtB,YAAY+X,EAAatf,EAASC,OAAQ7lB,EAAYqtB,cAAcj2B,EAAajtF,GAAG0gH,SAC3GwS,EAAUmH,EAAc,EAAI/sC,EAAS5oE,EAAIuoE,EAAayqC,UAAY,KAIlExE,EAAUr9B,EAAYlyC,YAAYjnE,EAAKuwG,EAAajtF,EAAGitF,EAAayqC,WAIlD,MAAhBqD,EACFC,GAAqB9H,EAAUyH,GAE/B/zH,GAAassH,EAAUyH,EAAiBK,EACxCA,EAAoB,GAGtBtiJ,EAAQ6B,KAAK,CACXoZ,EAAGu/H,EACHl1D,GAAIk1D,EACJlwG,IAAKu3G,EACL7/I,EAAG2/I,EACHY,UAAW,GACXv+I,IAAKA,EACL29B,KAAMogH,EACNS,sBAAuB,IAGH,GAAlBZ,GAIF,GAFAC,GAAerH,EAEH,KAARx2I,GAAsB,MAARA,GAAe/G,IAAMojB,EAAM,EAAG,CAK9C,IAJY,KAARrc,GAAsB,MAARA,IAChB69I,GAAerH,GAGVsH,GAAc7kJ,GACnB+C,EAAQ8hJ,GAAYx8D,GAAKu8D,EACzB7hJ,EAAQ8hJ,GAAY75G,IAAM9iC,EAC1BnF,EAAQ8hJ,GAAYW,MAAQjI,EAC5BsH,GAAc,EAGhB38I,GAAS,EACT08I,EAAc,CAChB,OACK,GAAsB,GAAlBD,GAIT,GAFAC,GAAerH,EAEH,KAARx2I,GAAc/G,IAAMojB,EAAM,EAAG,CAK/B,IAJY,KAARrc,IACF69I,GAAerH,GAGVsH,GAAc7kJ,GACnB+C,EAAQ8hJ,GAAYx8D,GAAKu8D,EACzB7hJ,EAAQ8hJ,GAAY75G,IAAM9iC,EAC1BnF,EAAQ8hJ,GAAYW,MAAQjI,EAC5BsH,GAAc,EAGhBD,EAAc,EACd18I,GAAS,CACX,OAEAnF,EAAQmF,GAAO8iC,IAAM9iC,EACrBnF,EAAQmF,GAAOs9I,MAAQ,EACvBt9I,GAAS,EAQb,GAJAovG,EAAat5F,EAAIjb,EACjBgiJ,EAAe9zH,EAAY8zH,EAAe9zH,EAAY8zH,EACtDtD,EAAW78I,KAAKqsB,GAEZqmF,EAAa5kB,GACf4kB,EAAa+pC,SAAW/pC,EAAa5kB,GAAG,GACxC4kB,EAAaiqC,cAAgB,OAI7B,OAFAjqC,EAAa+pC,SAAW0D,EAEhBztC,EAAaj3G,GACnB,KAAK,EACHi3G,EAAaiqC,eAAiBjqC,EAAa+pC,SAC3C,MAEF,KAAK,EACH/pC,EAAaiqC,eAAiBjqC,EAAa+pC,SAAW,EACtD,MAEF,QACE/pC,EAAaiqC,cAAgB,EAInCjqC,EAAamqC,WAAaA,EAC1B,IACIgE,EACAC,EAEAC,EACA36G,EALA46G,EAAYnhJ,EAAKke,EAGrBozF,EAAO6vC,EAAU7lJ,OAGjB,IAAI8lJ,EAAU,GAEd,IAAKxlJ,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EAAG,CAkB5B,KAjBAolJ,EAAeG,EAAUvlJ,IAERsiB,EAAEohE,KACjBuzB,EAAauqC,iBAAkB,GAG7B4D,EAAa9iI,EAAEowE,KACjBukB,EAAawqC,iBAAkB,IAG7B2D,EAAa9iI,EAAEq5D,IAAMypE,EAAa9iI,EAAEmjI,IAAML,EAAa9iI,EAAEojI,IAAMN,EAAa9iI,EAAEu3D,MAChFo9B,EAAasqC,eAAgB,GAG/B52G,EAAM,EACN26G,EAAQF,EAAaplI,EAAEuC,EAElB5iB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,GACxB0lJ,EAAa3iJ,EAAQ/C,IACVslJ,UAAUjlJ,GAAK2qC,GAEb,GAAT26G,GAAiC,KAAnBD,EAAW3+I,KAAuB,GAAT4+I,GAAiC,KAAnBD,EAAW3+I,KAAiC,MAAnB2+I,EAAW3+I,KAAwB,GAAT4+I,IAAeD,EAAW3gJ,GAAuB,KAAlB2gJ,EAAW3+I,KAAc/G,GAAKojB,EAAM,IAAe,GAATuiI,IAAeD,EAAW3gJ,GAAK/E,GAAKojB,EAAM,MAEnM,IAAtBqiI,EAAaplI,EAAEi/D,IACjBumE,EAAQjhJ,KAAKomC,GAGfA,GAAO,GAIXvmC,EAAKke,EAAEtiB,GAAGggB,EAAE2lI,WAAah7G,EACzB,IACIi7G,EADAC,GAAc,EAGlB,GAA0B,IAAtBT,EAAaplI,EAAEi/D,GACjB,IAAKt/E,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAGpBkmJ,IAFJR,EAAa3iJ,EAAQ/C,IAEQslJ,UAAUjlJ,KAErC6lJ,EAAaR,EAAWJ,UAAUjlJ,GAClC4lJ,EAASJ,EAAQx8I,OAAO7F,KAAKK,MAAML,KAAK3D,SAAWgmJ,EAAQ9lJ,QAAS,GAAG,IAGzE2lJ,EAAWJ,UAAUjlJ,GAAK4lJ,CAGhC,CAEA3uC,EAAa3hC,QAAU2hC,EAAa2qC,iBAA4C,IAAzB3qC,EAAayqC,UACpEzqC,EAAaoqC,GAAKpqC,EAAaoqC,IAAM,EACrCpqC,EAAa3Y,OAASmnC,EAASnnC,OAAS2Y,EAAayqC,UAAY,GACnE,EAEAhB,aAAazhJ,UAAUwjH,mBAAqB,SAAUqjC,EAASj+I,GAC7DA,OAAkB7F,IAAV6F,EAAsB9I,KAAK6hJ,UAAY/4I,EAC/C,IAAIk+I,EAAQhnJ,KAAK8iJ,SAAS,CAAC,EAAG9iJ,KAAKqF,KAAKse,EAAExiB,EAAE2H,GAAOmY,GACnD+lI,EAAQhnJ,KAAK8iJ,SAASkE,EAAOD,GAC7B/mJ,KAAKqF,KAAKse,EAAExiB,EAAE2H,GAAOmY,EAAI+lI,EACzBhnJ,KAAKinJ,YAAYn+I,GACjB9I,KAAK0kJ,eAAesC,GACpBhnJ,KAAKi1B,KAAK68F,mBAAmB9xH,KAC/B,EAEA2hJ,aAAazhJ,UAAU+mJ,YAAc,SAAUn+I,GAC7C,IAAIk+I,EAAQhnJ,KAAKqF,KAAKse,EAAExiB,EAAE2H,GAAOmY,EACjC+lI,EAAMhuC,YAAa,EACnBh5G,KAAK6hJ,UAAY,EACjB7hJ,KAAKyxH,eAAgB,EACrBzxH,KAAKiyH,SAAS+0B,EAChB,EAEArF,aAAazhJ,UAAUgnJ,cAAgB,SAAUC,GAC/CnnJ,KAAK8hJ,UAAYqF,EACjBnnJ,KAAKinJ,YAAYjnJ,KAAK6hJ,WACtB7hJ,KAAKi1B,KAAK68F,mBAAmB9xH,KAC/B,EAEA2hJ,aAAazhJ,UAAUknJ,mBAAqB,SAAUC,GACpDrnJ,KAAK+hJ,gBAAkB39I,KAAKK,MAAM4iJ,IAAe,EACjDrnJ,KAAKinJ,YAAYjnJ,KAAK6hJ,WACtB7hJ,KAAKi1B,KAAK68F,mBAAmB9xH,KAC/B,EAEA,IAAIsnJ,iBAAmB,WACrB,IAAIlkJ,EAAMgB,KAAKhB,IACXD,EAAMiB,KAAKjB,IACXsB,EAAQL,KAAKK,MAEjB,SAAS8iJ,EAAwBtyH,EAAM5vB,GACrCrF,KAAKwnJ,oBAAsB,EAC3BxnJ,KAAKmB,GAAI,EACTnB,KAAKqF,KAAOA,EACZrF,KAAKi1B,KAAOA,EACZj1B,KAAKu3G,KAAOtiF,EAAKsiF,KACjBv3G,KAAKynJ,OAAS,EACdznJ,KAAK0nJ,OAAS,EACd1nJ,KAAK8yH,6BAA6B79F,GAClCj1B,KAAKihB,EAAIqxG,gBAAgBC,QAAQt9F,EAAM5vB,EAAK4b,GAAK,CAC/C9f,EAAG,GACF,EAAG,EAAGnB,MAGPA,KAAK4qB,EADH,MAAOvlB,EACAitH,gBAAgBC,QAAQt9F,EAAM5vB,EAAKulB,EAAG,EAAG,EAAG5qB,MAE5C,CACPmhB,EAAG,KAIPnhB,KAAK2+B,EAAI2zF,gBAAgBC,QAAQt9F,EAAM5vB,EAAKs5B,GAAK,CAC/Cx9B,EAAG,GACF,EAAG,EAAGnB,MACTA,KAAK0vD,GAAK4iE,gBAAgBC,QAAQt9F,EAAM5vB,EAAKqqD,IAAM,CACjDvuD,EAAG,GACF,EAAG,EAAGnB,MACTA,KAAK2sD,GAAK2lE,gBAAgBC,QAAQt9F,EAAM5vB,EAAKsnD,IAAM,CACjDxrD,EAAG,GACF,EAAG,EAAGnB,MACTA,KAAK2nJ,GAAKr1B,gBAAgBC,QAAQt9F,EAAM5vB,EAAKsiJ,IAAM,CACjDxmJ,EAAG,KACF,EAAG,EAAGnB,MACTA,KAAKujB,EAAI+uG,gBAAgBC,QAAQt9F,EAAM5vB,EAAKke,EAAG,EAAG,IAAMvjB,MAEnDA,KAAK2yH,kBAAkBhyH,QAC1BX,KAAKiyH,UAET,CA+JA,OA7JAs1B,EAAwBrnJ,UAAY,CAClC0nJ,QAAS,SAAiBh8G,GACpB5rC,KAAKwnJ,qBAAuBxnJ,KAAKi1B,KAAK4yH,aAAa7F,YAAYpjI,EAAEje,QACnEX,KAAKiyH,WAGP,IAAI/sF,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EAELrlC,KAAK2sD,GAAGxrC,EAAI,EACd+jB,EAAKllC,KAAK2sD,GAAGxrC,EAAI,IAEjBgkB,GAAMnlC,KAAK2sD,GAAGxrC,EAAI,IAGhBnhB,KAAK0vD,GAAGvuC,EAAI,EACdikB,EAAK,EAAMplC,KAAK0vD,GAAGvuC,EAAI,IAEvBkkB,EAAK,EAAMrlC,KAAK0vD,GAAGvuC,EAAI,IAGzB,IAAI2mI,EAAQviC,cAAc+I,gBAAgBppF,EAAIC,EAAIC,EAAIC,GAAI9hC,IACtD4tH,EAAO,EACPlwG,EAAIjhB,KAAKynJ,OACT78H,EAAI5qB,KAAK0nJ,OACTpkJ,EAAOtD,KAAKqF,KAAK6pH,GAErB,GAAa,IAAT5rH,EAOF6tH,EAAO22B,EALL32B,EADEvmG,IAAM3J,EACD2qB,GAAOhhB,EAAI,EAAI,EAEfxnB,EAAI,EAAGD,EAAI,IAAOynB,EAAI3J,IAAM2qB,EAAM3qB,IAAM2J,EAAI3J,GAAI,UAIpD,GAAa,IAAT3d,EAOT6tH,EAAO22B,EALL32B,EADEvmG,IAAM3J,EACD2qB,GAAOhhB,EAAI,EAAI,EAEf,EAAIxnB,EAAI,EAAGD,EAAI,IAAOynB,EAAI3J,IAAM2qB,EAAM3qB,IAAM2J,EAAI3J,GAAI,UAIxD,GAAa,IAAT3d,EACLsnB,IAAM3J,EACRkwG,EAAO,GAEPA,EAAO/tH,EAAI,EAAGD,EAAI,IAAOynB,EAAI3J,IAAM2qB,EAAM3qB,IAAM2J,EAAI3J,GAAI,KAE5C,GACTkwG,GAAQ,EAERA,EAAO,EAAI,GAAKA,EAAO,IAI3BA,EAAO22B,EAAM32B,QACR,GAAa,IAAT7tH,EAAY,CACrB,GAAIsnB,IAAM3J,EACRkwG,EAAO,MACF,CACL,IAAI42B,EAAMn9H,EAAI3J,EAKVvT,GAAKq6I,EAAM,GADfn8G,EAAMzoC,EAAIC,EAAI,EAAGwoC,EAAM,GAAM3qB,GAAI2J,EAAI3J,IAEjCsC,EAAIwkI,EAAM,EACd52B,EAAO/sH,KAAKyB,KAAK,EAAI6H,EAAIA,GAAK6V,EAAIA,GACpC,CAEA4tG,EAAO22B,EAAM32B,EACf,MAAoB,IAAT7tH,GACLsnB,IAAM3J,EACRkwG,EAAO,GAEPvlF,EAAMzoC,EAAIC,EAAI,EAAGwoC,EAAM,GAAM3qB,GAAI2J,EAAI3J,GACrCkwG,GAAQ,EAAI/sH,KAAKwwD,IAAIxwD,KAAKswD,GAAe,EAAVtwD,KAAKswD,GAAS9oB,GAAOhhB,EAAI3J,KAAO,GAGjEkwG,EAAO22B,EAAM32B,KAETvlF,GAAOnnC,EAAMwc,KAEbkwG,EAAO/tH,EAAI,EAAGD,EADZyoC,EAAM3qB,EAAI,EACM9d,EAAIynB,EAAG,IAAM3J,EAAI2qB,GAEjBhhB,EAAIghB,EAFmB,KAM7CulF,EAAO22B,EAAM32B,IAaf,GAAkB,MAAdnxH,KAAK2nJ,GAAGxmI,EAAW,CACrB,IAAI6mI,EAAyB,IAAZhoJ,KAAK2nJ,GAAGxmI,EAEN,IAAf6mI,IACFA,EAAa,MAGf,IAAIC,EAAY,GAAmB,GAAbD,EAElB72B,EAAO82B,EACT92B,EAAO,GAEPA,GAAQA,EAAO82B,GAAaD,GAEjB,IACT72B,EAAO,EAGb,CAEA,OAAOA,EAAOnxH,KAAKujB,EAAEpC,CACvB,EACA8wG,SAAU,SAAkBi2B,GAC1BloJ,KAAK6yH,2BACL7yH,KAAKoxH,KAAO82B,GAAgBloJ,KAAKoxH,KACjCpxH,KAAKwnJ,mBAAqBxnJ,KAAKi1B,KAAK4yH,aAAa7F,YAAYpjI,EAAEje,QAAU,EAErEunJ,GAAgC,IAAhBloJ,KAAKqF,KAAKgM,IAC5BrR,KAAK4qB,EAAEzJ,EAAInhB,KAAKwnJ,oBAGlB,IAAIW,EAA0B,IAAhBnoJ,KAAKqF,KAAKgM,EAAU,EAAI,IAAMrR,KAAKqF,KAAKuhJ,WAClDjoH,EAAI3+B,KAAK2+B,EAAExd,EAAIgnI,EACflnI,EAAIjhB,KAAKihB,EAAEE,EAAIgnI,EAAUxpH,EACzB/T,EAAI5qB,KAAK4qB,EAAEzJ,EAAIgnI,EAAUxpH,EAE7B,GAAI1d,EAAI2J,EAAG,CACT,IAAI2zG,EAAKt9G,EACTA,EAAI2J,EACJA,EAAI2zG,CACN,CAEAv+H,KAAKynJ,OAASxmI,EACdjhB,KAAK0nJ,OAAS98H,CAChB,GAEFskF,gBAAgB,CAACwjB,0BAA2B60B,GAMrC,CACLa,oBALF,SAA6BnzH,EAAM5vB,EAAMqC,GACvC,OAAO,IAAI6/I,EAAwBtyH,EAAM5vB,EAAMqC,EACjD,EAKF,CA7MuB,GA+MvB,SAAS2gJ,yBAAyBpzH,EAAMqzH,EAAe53E,GACrD,IAAI63E,EAAc,CAChB96B,UAAU,GAER8E,EAAUD,gBAAgBC,QAC1Bi2B,EAA0BF,EAAc/kI,EAC5CvjB,KAAKujB,EAAI,CACPlS,EAAGm3I,EAAwBn3I,EAAIkhH,EAAQt9F,EAAMuzH,EAAwBn3I,EAAG,EAAGmhG,UAAW9hC,GAAa63E,EACnGvoB,GAAIwoB,EAAwBxoB,GAAKzN,EAAQt9F,EAAMuzH,EAAwBxoB,GAAI,EAAGxtB,UAAW9hC,GAAa63E,EACtGtoB,GAAIuoB,EAAwBvoB,GAAK1N,EAAQt9F,EAAMuzH,EAAwBvoB,GAAI,EAAGztB,UAAW9hC,GAAa63E,EACtG/0D,GAAIg1D,EAAwBh1D,GAAK++B,EAAQt9F,EAAMuzH,EAAwBh1D,GAAI,EAAGgf,UAAW9hC,GAAa63E,EACtG/hE,GAAIgiE,EAAwBhiE,GAAK+rC,EAAQt9F,EAAMuzH,EAAwBhiE,GAAI,EAAGgsB,UAAW9hC,GAAa63E,EACtGtnI,EAAGunI,EAAwBvnI,EAAIsxG,EAAQt9F,EAAMuzH,EAAwBvnI,EAAG,EAAG,IAAMyvD,GAAa63E,EAC9FhlI,EAAGilI,EAAwBjlI,EAAIgvG,EAAQt9F,EAAMuzH,EAAwBjlI,EAAG,EAAG,EAAGmtD,GAAa63E,EAC3F5pH,EAAG6pH,EAAwB7pH,EAAI4zF,EAAQt9F,EAAMuzH,EAAwB7pH,EAAG,EAAG,IAAM+xC,GAAa63E,EAC9FlqI,EAAGmqI,EAAwBnqI,EAAIk0G,EAAQt9F,EAAMuzH,EAAwBnqI,EAAG,EAAG,EAAGqyD,GAAa63E,EAC3F50D,GAAI60D,EAAwB70D,GAAK4+B,EAAQt9F,EAAMuzH,EAAwB70D,GAAI,EAAG,EAAGjjB,GAAa63E,EAC9F5jE,GAAI6jE,EAAwB7jE,GAAK4tC,EAAQt9F,EAAMuzH,EAAwB7jE,GAAI,EAAG,EAAGjU,GAAa63E,EAC9F3rE,GAAI4rE,EAAwB5rE,GAAK21C,EAAQt9F,EAAMuzH,EAAwB5rE,GAAI,EAAG,EAAGlM,GAAa63E,EAC9F7B,GAAI8B,EAAwB9B,GAAKn0B,EAAQt9F,EAAMuzH,EAAwB9B,GAAI,EAAG,EAAGh2E,GAAa63E,EAC9F5B,GAAI6B,EAAwB7B,GAAKp0B,EAAQt9F,EAAMuzH,EAAwB7B,GAAI,EAAG,IAAMj2E,GAAa63E,EACjGztE,GAAI0tE,EAAwB1tE,GAAKy3C,EAAQt9F,EAAMuzH,EAAwB1tE,GAAI,EAAG,IAAMpK,GAAa63E,EACjG9kI,EAAG+kI,EAAwB/kI,EAAI8uG,EAAQt9F,EAAMuzH,EAAwB/kI,EAAG,EAAG,EAAGitD,GAAa63E,GAE7FvoJ,KAAKihB,EAAIqmI,iBAAiBc,oBAAoBnzH,EAAMqzH,EAAcrnI,EAAGyvD,GACrE1wE,KAAKihB,EAAEwC,EAAI6kI,EAAcrnI,EAAEwC,CAC7B,CAEA,SAASglI,qBAAqB3Y,EAAU4Y,EAAYzzH,GAClDj1B,KAAKyxH,eAAgB,EACrBzxH,KAAK2oJ,gBAAiB,EACtB3oJ,KAAK4hJ,UAAY,EACjB5hJ,KAAK4oJ,UAAY9Y,EACjB9vI,KAAK6oJ,YAAcH,EACnB1oJ,KAAK8oJ,MAAQ7zH,EACbj1B,KAAK+oJ,eAAiB13C,iBAAiBrxG,KAAK4oJ,UAAUrlI,EAAE5iB,QACxDX,KAAKgpJ,UAAY,CAAC,EAClBhpJ,KAAKipJ,aAAe,CAClBC,UAAW,CAAC,GAEdlpJ,KAAKmpJ,gBAAkB,GACvBnpJ,KAAKopJ,oBAAqB,EAC1BppJ,KAAK8yH,6BAA6B79F,EACpC,CAwoBA,SAASo0H,eAAgB,CAtoBzBZ,qBAAqBvoJ,UAAUopJ,iBAAmB,WAChD,IAAI1oJ,EAEA0nJ,EADAtkI,EAAMhkB,KAAK4oJ,UAAUrlI,EAAE5iB,OAEvB4xH,EAAUD,gBAAgBC,QAE9B,IAAK3xH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB0nJ,EAAgBtoJ,KAAK4oJ,UAAUrlI,EAAE3iB,GACjCZ,KAAK+oJ,eAAenoJ,GAAK,IAAIynJ,yBAAyBroJ,KAAK8oJ,MAAOR,EAAetoJ,MAG/EA,KAAK4oJ,UAAUvqI,GAAK,MAAOre,KAAK4oJ,UAAUvqI,GAC5Cre,KAAKgpJ,UAAY,CACfzlI,EAAGgvG,EAAQvyH,KAAK8oJ,MAAO9oJ,KAAK4oJ,UAAUvqI,EAAEkF,EAAG,EAAG,EAAGvjB,MACjDirB,EAAGsnG,EAAQvyH,KAAK8oJ,MAAO9oJ,KAAK4oJ,UAAUvqI,EAAE4M,EAAG,EAAG,EAAGjrB,MACjD4e,EAAG2zG,EAAQvyH,KAAK8oJ,MAAO9oJ,KAAK4oJ,UAAUvqI,EAAEO,EAAG,EAAG,EAAG5e,MACjDqR,EAAGkhH,EAAQvyH,KAAK8oJ,MAAO9oJ,KAAK4oJ,UAAUvqI,EAAEhN,EAAG,EAAG,EAAGrR,MACjDqe,EAAGk0G,EAAQvyH,KAAK8oJ,MAAO9oJ,KAAK4oJ,UAAUvqI,EAAEA,EAAG,EAAG,EAAGre,MACjD4F,EAAG5F,KAAK8oJ,MAAMzW,YAAYqG,gBAAgB14I,KAAK4oJ,UAAUvqI,EAAEzY,IAE7D5F,KAAK2oJ,gBAAiB,GAEtB3oJ,KAAK2oJ,gBAAiB,EAGxB3oJ,KAAKipJ,aAAaC,UAAY32B,EAAQvyH,KAAK8oJ,MAAO9oJ,KAAK4oJ,UAAUhjJ,EAAE2d,EAAG,EAAG,EAAGvjB,KAC9E,EAEAyoJ,qBAAqBvoJ,UAAUqpJ,YAAc,SAAUrxC,EAAckxC,GAGnE,GAFAppJ,KAAKopJ,mBAAqBA,EAErBppJ,KAAKoxH,MAASpxH,KAAKyxH,eAAkB23B,GAAwBppJ,KAAK2oJ,gBAAmB3oJ,KAAKgpJ,UAAUpjJ,EAAEwrH,KAA3G,CAIApxH,KAAKyxH,eAAgB,EACrB,IAMI+3B,EACAC,EACA7oJ,EACAojB,EAEA0lI,EACAC,EACAt9E,EACAu9C,EACA7wC,EACA6wE,EACAC,EACAplB,EACAte,EACA9b,EACA0f,EACApB,EACAW,EACAwgC,EACA/S,EAzBAmS,EAAYlpJ,KAAKipJ,aAAaC,UAAU/nI,EACxCqlI,EAAYxmJ,KAAK+oJ,eACjBjZ,EAAW9vI,KAAK4oJ,UAChBmB,EAAe/pJ,KAAKy4I,QACpBiQ,EAAa1oJ,KAAK6oJ,YAClBmB,EAAuBhqJ,KAAKmpJ,gBAAgBxoJ,OAK5CgD,EAAUu0G,EAAat5F,EAiB3B,GAAI5e,KAAK2oJ,eAAgB,CAGvB,GAFA5R,EAAO/2I,KAAKgpJ,UAAUpjJ,GAEjB5F,KAAKgpJ,UAAUrjJ,GAAK3F,KAAKgpJ,UAAU53B,KAAM,CAC5C,IAYIjH,EAZAgL,EAAQ4hB,EAAK51H,EAejB,IAbInhB,KAAKgpJ,UAAU33I,EAAE8P,IACnBg0G,EAAQA,EAAMx2G,WAIhB+qI,EAAW,CACTO,QAAS,EACT5/C,SAAU,IAEZrmF,EAAMmxG,EAAMjN,QAAU,EAEtBS,EAAc,EAET/nH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBupH,EAAa8C,IAAIjD,gBAAgBmL,EAAMh0G,EAAEvgB,GAAIu0H,EAAMh0G,EAAEvgB,EAAI,GAAI,CAACu0H,EAAMx2F,EAAE/9B,GAAG,GAAKu0H,EAAMh0G,EAAEvgB,GAAG,GAAIu0H,EAAMx2F,EAAE/9B,GAAG,GAAKu0H,EAAMh0G,EAAEvgB,GAAG,IAAK,CAACu0H,EAAMv0H,EAAEA,EAAI,GAAG,GAAKu0H,EAAMh0G,EAAEvgB,EAAI,GAAG,GAAIu0H,EAAMv0H,EAAEA,EAAI,GAAG,GAAKu0H,EAAMh0G,EAAEvgB,EAAI,GAAG,KACxM8oJ,EAASO,SAAW9/B,EAAWP,cAC/B8/B,EAASr/C,SAAS7kG,KAAK2kH,GACvBxB,GAAewB,EAAWP,cAG5BhpH,EAAIojB,EAEA+yH,EAAK51H,EAAEhf,IACTgoH,EAAa8C,IAAIjD,gBAAgBmL,EAAMh0G,EAAEvgB,GAAIu0H,EAAMh0G,EAAE,GAAI,CAACg0G,EAAMx2F,EAAE/9B,GAAG,GAAKu0H,EAAMh0G,EAAEvgB,GAAG,GAAIu0H,EAAMx2F,EAAE/9B,GAAG,GAAKu0H,EAAMh0G,EAAEvgB,GAAG,IAAK,CAACu0H,EAAMv0H,EAAE,GAAG,GAAKu0H,EAAMh0G,EAAE,GAAG,GAAIg0G,EAAMv0H,EAAE,GAAG,GAAKu0H,EAAMh0G,EAAE,GAAG,KACpLuoI,EAASO,SAAW9/B,EAAWP,cAC/B8/B,EAASr/C,SAAS7kG,KAAK2kH,GACvBxB,GAAewB,EAAWP,eAG5B5pH,KAAKgpJ,UAAUnnE,GAAK6nE,CACtB,CAUA,GARAA,EAAW1pJ,KAAKgpJ,UAAUnnE,GAC1B8nE,EAAgB3pJ,KAAKgpJ,UAAU/9H,EAAE9J,EACjC0oI,EAAa,EACbD,EAAW,EACXhgC,EAAgB,EAChB7wC,GAAO,EACPsxB,EAAWq/C,EAASr/C,SAEhBs/C,EAAgB,GAAK5S,EAAK51H,EAAEhf,EAS9B,IARIunJ,EAASO,QAAU7lJ,KAAK8jC,IAAIyhH,KAC9BA,GAAiBvlJ,KAAK8jC,IAAIyhH,GAAiBD,EAASO,SAKtDL,GADAzjC,EAAS9b,EADTw/C,EAAax/C,EAAS1pG,OAAS,GACDwlH,QACZxlH,OAAS,EAEpBgpJ,EAAgB,GACrBA,GAAiBxjC,EAAOyjC,GAAU7/B,eAClC6/B,GAAY,GAEG,IAGbA,GADAzjC,EAAS9b,EADTw/C,GAAc,GACgB1jC,QACZxlH,OAAS,GAMjC8jI,GADAte,EAAS9b,EAASw/C,GAAY1jC,QACXyjC,EAAW,GAE9B7/B,GADA19C,EAAe85C,EAAOyjC,IACO7/B,aAC/B,CAEA/lG,EAAMrgB,EAAQhD,OACd6oJ,EAAO,EACPC,EAAO,EACP,IAEInB,EAEArnJ,EACA01G,EACAuzC,EAEA/4B,EARAg5B,EAAgC,IAAzBjyC,EAAayqC,UAAkB,KACtCyH,GAAY,EAMhBzzC,EAAO6vC,EAAU7lJ,OAEjB,IACI0pJ,EACAC,EACAC,EAKAC,EACA7lE,EACAgP,EACA/W,EACAz7E,EACAspJ,EACAC,EACAC,EAGAC,EAlBAh/G,GAAO,EAIPi/G,EAAclB,EACdmB,EAAiBjB,EACjBkB,EAAenB,EACflE,GAAe,EASfsF,GAAU,GACVC,GAAUjrJ,KAAKkrJ,kBAGnB,GAAuB,IAAnBhzC,EAAaj3G,GAA8B,IAAnBi3G,EAAaj3G,EAAS,CAChD,IAAIklJ,GAAwB,EACxBgF,GAA0B,EAC1BC,GAAuC,IAAnBlzC,EAAaj3G,GAAW,IAAO,EACnD8lC,GAAY,EACZskH,IAAY,EAEhB,IAAKzqJ,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,GAAI+C,EAAQ/C,GAAG+E,EAAG,CAKhB,IAJIwgJ,KACFA,IAAyBgF,IAGpBpkH,GAAYnmC,GACjB+C,EAAQojC,IAAWo/G,sBAAwBA,GAC3Cp/G,IAAa,EAGfo/G,GAAwB,EACxBkF,IAAY,CACd,KAAO,CACL,IAAKpqJ,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,GACzBqnJ,EAAgB9B,EAAUvlJ,GAAGsiB,GAEXE,EAAEgqG,WACd49B,IAAgC,IAAnBnzC,EAAaj3G,IAC5BkqJ,IAA2B7C,EAAc7kI,EAAEtC,EAAIiqI,KAIjDj6B,EADmBq1B,EAAUvlJ,GAAGggB,EACR2mI,QAAQjkJ,EAAQ/C,GAAGslJ,UAAUjlJ,GAAI6uI,EAASvsH,EAAEtiB,GAAGggB,EAAE2lI,aAEhEjmJ,OACPwlJ,IAAyBmC,EAAc7kI,EAAEtC,EAAIgwG,EAAK,GAAKi6B,GAEvDjF,IAAyBmC,EAAc7kI,EAAEtC,EAAIgwG,EAAOi6B,IAK1DC,IAAY,CACd,CAOF,IAJIlF,KACFA,IAAyBgF,IAGpBpkH,GAAYnmC,GACjB+C,EAAQojC,IAAWo/G,sBAAwBA,GAC3Cp/G,IAAa,CAEjB,CAGA,IAAKnmC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAI3B,GAHAmpJ,EAAat0B,QACb+0B,EAAc,EAEV7mJ,EAAQ/C,GAAG+E,EACb6jJ,EAAO,EACPC,GAAQvxC,EAAa3hC,QACrBkzE,GAAQW,EAAY,EAAI,EACxBT,EAAgBkB,EAChBT,GAAY,EAERpqJ,KAAK2oJ,iBAEPiB,EAAWmB,EAEXtmB,GADAte,EAAS9b,EAFTw/C,EAAaiB,GAEiB3kC,QACXyjC,EAAW,GAE9B7/B,GADA19C,EAAe85C,EAAOyjC,IACO7/B,cAC7BH,EAAgB,GAGlBohC,GAAU,GACVL,EAAW,GACXF,EAAW,GACXG,EAAU,GACVK,GAAUjrJ,KAAKkrJ,sBACV,CACL,GAAIlrJ,KAAK2oJ,eAAgB,CACvB,GAAIjD,IAAgB/hJ,EAAQ/C,GAAG0kC,KAAM,CACnC,OAAQ4yE,EAAaj3G,GACnB,KAAK,EACH0oJ,GAAiBhhC,EAAczQ,EAAamqC,WAAW1+I,EAAQ/C,GAAG0kC,MAClE,MAEF,KAAK,EACHqkH,IAAkBhhC,EAAczQ,EAAamqC,WAAW1+I,EAAQ/C,GAAG0kC,OAAS,EAOhFogH,EAAc/hJ,EAAQ/C,GAAG0kC,IAC3B,CAEIsG,IAAQjoC,EAAQ/C,GAAGgrC,MACjBjoC,EAAQioC,KACV+9G,GAAiBhmJ,EAAQioC,GAAKw6G,OAGhCuD,GAAiBhmJ,EAAQ/C,GAAGqoF,GAAK,EACjCr9C,EAAMjoC,EAAQ/C,GAAGgrC,KAGnB+9G,GAAiBT,EAAU,GAAKvlJ,EAAQ/C,GAAGqoF,GAAK,KAChD,IAAIqiE,GAAiB,EAErB,IAAKrqJ,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,GACzBqnJ,EAAgB9B,EAAUvlJ,GAAGsiB,GAEXlF,EAAEovG,YAElB0D,EADmBq1B,EAAUvlJ,GAAGggB,EACR2mI,QAAQjkJ,EAAQ/C,GAAGslJ,UAAUjlJ,GAAI6uI,EAASvsH,EAAEtiB,GAAGggB,EAAE2lI,aAEhEjmJ,OACP2qJ,IAAkBhD,EAAcjqI,EAAE8C,EAAE,GAAKgwG,EAAK,GAE9Cm6B,IAAkBhD,EAAcjqI,EAAE8C,EAAE,GAAKgwG,GAIzCm3B,EAAc/kI,EAAEkqG,YAElB0D,EADmBq1B,EAAUvlJ,GAAGggB,EACR2mI,QAAQjkJ,EAAQ/C,GAAGslJ,UAAUjlJ,GAAI6uI,EAASvsH,EAAEtiB,GAAGggB,EAAE2lI,aAEhEjmJ,OACP2qJ,IAAkBhD,EAAc/kI,EAAEpC,EAAE,GAAKgwG,EAAK,GAE9Cm6B,IAAkBhD,EAAc/kI,EAAEpC,EAAE,GAAKgwG,GAY/C,IAPAp4C,GAAO,EAEH/4E,KAAKgpJ,UAAUzlI,EAAEpC,IACnBwoI,EAAgC,GAAhBhmJ,EAAQ,GAAGslF,IAAY0/B,EAAc3oH,KAAKgpJ,UAAU/9H,EAAE9J,EAAoB,GAAhBxd,EAAQ,GAAGslF,GAA4C,GAAjCtlF,EAAQA,EAAQhD,OAAS,GAAGsoF,IAAYr9C,GAAO5nB,EAAM,GACrJ2lI,GAAiB3pJ,KAAKgpJ,UAAU/9H,EAAE9J,GAG7B43D,GACD6wC,EAAgBG,GAAiB4/B,EAAgB2B,KAAmBnlC,GACtEmD,GAAQqgC,EAAgB2B,GAAiB1hC,GAAiBv9C,EAAa09C,cACvEugC,EAAW7lB,EAAUhb,MAAM,IAAMp9C,EAAao9C,MAAM,GAAKgb,EAAUhb,MAAM,IAAMH,EAC/EihC,EAAW9lB,EAAUhb,MAAM,IAAMp9C,EAAao9C,MAAM,GAAKgb,EAAUhb,MAAM,IAAMH,EAC/EygC,EAAa9/F,WAAWi/F,EAAU,GAAKvlJ,EAAQ/C,GAAGqoF,GAAK,MAASigE,EAAU,GAAKiB,EAAQ,KACvFpxE,GAAO,GACEotC,IACTyD,GAAiBv9C,EAAa09C,eAC9B6/B,GAAY,IAEIzjC,EAAOxlH,SACrBipJ,EAAW,EAGNv/C,EAFLw/C,GAAc,GAYZ1jC,EAAS9b,EAASw/C,GAAY1jC,OAT1B4wB,EAAK51H,EAAEhf,GACTynJ,EAAW,EAEXzjC,EAAS9b,EADTw/C,EAAa,GACiB1jC,SAE9ByD,GAAiBv9C,EAAa09C,cAC9B5D,EAAS,OAOXA,IACFse,EAAYp4D,EAEZ09C,GADA19C,EAAe85C,EAAOyjC,IACO7/B,gBAKnCsgC,EAAO1mJ,EAAQ/C,GAAGqoF,GAAK,EAAItlF,EAAQ/C,GAAGqtC,IACtC87G,EAAa9/F,WAAWogG,EAAM,EAAG,EACnC,MACEA,EAAO1mJ,EAAQ/C,GAAGqoF,GAAK,EAAItlF,EAAQ/C,GAAGqtC,IACtC87G,EAAa9/F,WAAWogG,EAAM,EAAG,GAEjCN,EAAa9/F,WAAWi/F,EAAU,GAAKvlJ,EAAQ/C,GAAGqoF,GAAK,MAAQigE,EAAU,GAAKiB,EAAO,IAAM,GAG7F,IAAKlpJ,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,GACzBqnJ,EAAgB9B,EAAUvlJ,GAAGsiB,GAEXE,EAAEgqG,WAElB0D,EADmBq1B,EAAUvlJ,GAAGggB,EACR2mI,QAAQjkJ,EAAQ/C,GAAGslJ,UAAUjlJ,GAAI6uI,EAASvsH,EAAEtiB,GAAGggB,EAAE2lI,YAE5D,IAAT4C,GAAiC,IAAnBtxC,EAAaj3G,IACzBjB,KAAK2oJ,eACHx3B,EAAKxwH,OACPgpJ,GAAiBrB,EAAc7kI,EAAEtC,EAAIgwG,EAAK,GAE1Cw4B,GAAiBrB,EAAc7kI,EAAEtC,EAAIgwG,EAE9BA,EAAKxwH,OACd6oJ,GAAQlB,EAAc7kI,EAAEtC,EAAIgwG,EAAK,GAEjCq4B,GAAQlB,EAAc7kI,EAAEtC,EAAIgwG,IAsBpC,IAhBIjZ,EAAawqC,kBACf/uD,EAAKukB,EAAavkB,IAAM,GAGtBukB,EAAauqC,kBAEb99D,EADEuzB,EAAavzB,GACV,CAACuzB,EAAavzB,GAAG,GAAIuzB,EAAavzB,GAAG,GAAIuzB,EAAavzB,GAAG,IAEzD,CAAC,EAAG,EAAG,IAIZuzB,EAAasqC,eAAiBtqC,EAAat7B,KAC7CA,EAAK,CAACs7B,EAAat7B,GAAG,GAAIs7B,EAAat7B,GAAG,GAAIs7B,EAAat7B,GAAG,KAG3D37E,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,GACzBqnJ,EAAgB9B,EAAUvlJ,GAAGsiB,GAEXA,EAAEkqG,YAElB0D,EADmBq1B,EAAUvlJ,GAAGggB,EACR2mI,QAAQjkJ,EAAQ/C,GAAGslJ,UAAUjlJ,GAAI6uI,EAASvsH,EAAEtiB,GAAGggB,EAAE2lI,aAEhEjmJ,OACPopJ,EAAa9/F,WAAWq+F,EAAc/kI,EAAEpC,EAAE,GAAKgwG,EAAK,IAAKm3B,EAAc/kI,EAAEpC,EAAE,GAAKgwG,EAAK,GAAIm3B,EAAc/kI,EAAEpC,EAAE,GAAKgwG,EAAK,IAErH44B,EAAa9/F,WAAWq+F,EAAc/kI,EAAEpC,EAAE,GAAKgwG,GAAOm3B,EAAc/kI,EAAEpC,EAAE,GAAKgwG,EAAMm3B,EAAc/kI,EAAEpC,EAAE,GAAKgwG,IAKhH,IAAKlwH,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,GACzBqnJ,EAAgB9B,EAAUvlJ,GAAGsiB,GAEXtC,EAAEwsG,YAElB0D,EADmBq1B,EAAUvlJ,GAAGggB,EACR2mI,QAAQjkJ,EAAQ/C,GAAGslJ,UAAUjlJ,GAAI6uI,EAASvsH,EAAEtiB,GAAGggB,EAAE2lI,aAEhEjmJ,OACPopJ,EAAa/lG,MAAM,GAAKskG,EAAcrnI,EAAEE,EAAE,GAAK,GAAKgwG,EAAK,GAAI,GAAKm3B,EAAcrnI,EAAEE,EAAE,GAAK,GAAKgwG,EAAK,GAAI,GAEvG44B,EAAa/lG,MAAM,GAAKskG,EAAcrnI,EAAEE,EAAE,GAAK,GAAKgwG,EAAM,GAAKm3B,EAAcrnI,EAAEE,EAAE,GAAK,GAAKgwG,EAAM,IAKvG,IAAKlwH,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EAAG,CAqD5B,GApDAqnJ,EAAgB9B,EAAUvlJ,GAAGsiB,EAE7B4tG,EADmBq1B,EAAUvlJ,GAAGggB,EACR2mI,QAAQjkJ,EAAQ/C,GAAGslJ,UAAUjlJ,GAAI6uI,EAASvsH,EAAEtiB,GAAGggB,EAAE2lI,YAErE0B,EAAc90D,GAAGi6B,WACf0D,EAAKxwH,OACPopJ,EAAaxxB,cAAc+vB,EAAc90D,GAAGryE,EAAIgwG,EAAK,GAAIm3B,EAAc9hE,GAAGrlE,EAAIgwG,EAAK,IAEnF44B,EAAaxxB,cAAc+vB,EAAc90D,GAAGryE,EAAIgwG,EAAMm3B,EAAc9hE,GAAGrlE,EAAIgwG,IAI3Em3B,EAAcj3I,EAAEo8G,WACd0D,EAAKxwH,OACPopJ,EAAa1xB,SAASiwB,EAAcj3I,EAAE8P,EAAIgwG,EAAK,IAE/C44B,EAAa1xB,SAASiwB,EAAcj3I,EAAE8P,EAAIgwG,IAI1Cm3B,EAAcroB,GAAGxS,WACf0D,EAAKxwH,OACPopJ,EAAa3xB,QAAQkwB,EAAcroB,GAAG9+G,EAAIgwG,EAAK,IAE/C44B,EAAa3xB,QAAQkwB,EAAcroB,GAAG9+G,EAAIgwG,IAI1Cm3B,EAActoB,GAAGvS,WACf0D,EAAKxwH,OACPopJ,EAAa5xB,QAAQmwB,EAActoB,GAAG7+G,EAAIgwG,EAAK,IAE/C44B,EAAa5xB,QAAQmwB,EAActoB,GAAG7+G,EAAIgwG,IAI1Cm3B,EAAc3pH,EAAE8uF,WACd0D,EAAKxwH,OACP6pJ,IAAgBlC,EAAc3pH,EAAExd,EAAIgwG,EAAK,GAAKq5B,GAAer5B,EAAK,GAElEq5B,IAAgBlC,EAAc3pH,EAAExd,EAAIgwG,EAAOq5B,GAAer5B,GAI1DjZ,EAAawqC,iBAAmB4F,EAAc30D,GAAG85B,WAC/C0D,EAAKxwH,OACPgzF,GAAM20D,EAAc30D,GAAGxyE,EAAIgwG,EAAK,GAEhCx9B,GAAM20D,EAAc30D,GAAGxyE,EAAIgwG,GAI3BjZ,EAAauqC,iBAAmB6F,EAAc3jE,GAAG8oC,SACnD,IAAKtsH,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAClBgwH,EAAKxwH,OACPgkF,EAAGxjF,KAAOmnJ,EAAc3jE,GAAGxjE,EAAEhgB,GAAKwjF,EAAGxjF,IAAMgwH,EAAK,GAEhDxsC,EAAGxjF,KAAOmnJ,EAAc3jE,GAAGxjE,EAAEhgB,GAAKwjF,EAAGxjF,IAAMgwH,EAKjD,GAAIjZ,EAAasqC,eAAiBtqC,EAAat7B,GAAI,CACjD,GAAI0rE,EAAc1rE,GAAG6wC,SACnB,IAAKtsH,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAClBgwH,EAAKxwH,OACPi8E,EAAGz7E,KAAOmnJ,EAAc1rE,GAAGz7D,EAAEhgB,GAAKy7E,EAAGz7E,IAAMgwH,EAAK,GAEhDv0C,EAAGz7E,KAAOmnJ,EAAc1rE,GAAGz7D,EAAEhgB,GAAKy7E,EAAGz7E,IAAMgwH,EAK7Cm3B,EAAc5B,GAAGj5B,WAEjB7wC,EADEu0C,EAAKxwH,OACF+zG,YAAY93B,EAAI0rE,EAAc5B,GAAGvlI,EAAIgwG,EAAK,IAE1Czc,YAAY93B,EAAI0rE,EAAc5B,GAAGvlI,EAAIgwG,IAI1Cm3B,EAAc3B,GAAGl5B,WAEjB7wC,EADEu0C,EAAKxwH,OACF4zG,mBAAmB33B,EAAI0rE,EAAc3B,GAAGxlI,EAAIgwG,EAAK,IAEjD5c,mBAAmB33B,EAAI0rE,EAAc3B,GAAGxlI,EAAIgwG,IAIjDm3B,EAAcxtE,GAAG2yC,WAEjB7wC,EADEu0C,EAAKxwH,OACF8zG,mBAAmB73B,EAAI0rE,EAAcxtE,GAAG35D,EAAIgwG,EAAK,IAEjD1c,mBAAmB73B,EAAI0rE,EAAcxtE,GAAG35D,EAAIgwG,GAGvD,CACF,CAEA,IAAKlwH,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,GACzBqnJ,EAAgB9B,EAAUvlJ,GAAGsiB,GAEXlF,EAAEovG,WAElB0D,EADmBq1B,EAAUvlJ,GAAGggB,EACR2mI,QAAQjkJ,EAAQ/C,GAAGslJ,UAAUjlJ,GAAI6uI,EAASvsH,EAAEtiB,GAAGggB,EAAE2lI,YAErE5mJ,KAAK2oJ,eACHx3B,EAAKxwH,OACPopJ,EAAa9/F,UAAU,EAAGq+F,EAAcjqI,EAAE8C,EAAE,GAAKgwG,EAAK,IAAKm3B,EAAcjqI,EAAE8C,EAAE,GAAKgwG,EAAK,IAEvF44B,EAAa9/F,UAAU,EAAGq+F,EAAcjqI,EAAE8C,EAAE,GAAKgwG,GAAOm3B,EAAcjqI,EAAE8C,EAAE,GAAKgwG,GAExEA,EAAKxwH,OACdopJ,EAAa9/F,UAAUq+F,EAAcjqI,EAAE8C,EAAE,GAAKgwG,EAAK,GAAIm3B,EAAcjqI,EAAE8C,EAAE,GAAKgwG,EAAK,IAAKm3B,EAAcjqI,EAAE8C,EAAE,GAAKgwG,EAAK,IAEpH44B,EAAa9/F,UAAUq+F,EAAcjqI,EAAE8C,EAAE,GAAKgwG,EAAMm3B,EAAcjqI,EAAE8C,EAAE,GAAKgwG,GAAOm3B,EAAcjqI,EAAE8C,EAAE,GAAKgwG,IAiB/G,GAZIjZ,EAAawqC,kBACf+H,EAAW92D,EAAK,EAAI,EAAIA,GAGtBukB,EAAauqC,kBACfiI,EAAW,OAAStmJ,KAAKkd,MAAc,IAARqjE,EAAG,IAAY,IAAMvgF,KAAKkd,MAAc,IAARqjE,EAAG,IAAY,IAAMvgF,KAAKkd,MAAc,IAARqjE,EAAG,IAAY,KAG5GuzB,EAAasqC,eAAiBtqC,EAAat7B,KAC7C+tE,EAAW,OAASvmJ,KAAKkd,MAAc,IAARs7D,EAAG,IAAY,IAAMx4E,KAAKkd,MAAc,IAARs7D,EAAG,IAAY,IAAMx4E,KAAKkd,MAAc,IAARs7D,EAAG,IAAY,KAG5G58E,KAAK2oJ,eAAgB,CAIvB,GAHAoB,EAAa9/F,UAAU,GAAIiuD,EAAaoqC,IACxCyH,EAAa9/F,UAAU,EAAGi/F,EAAU,GAAKiB,EAAO,IAAOV,EAAM,GAEzDzpJ,KAAKgpJ,UAAU3qI,EAAE8C,EAAG,CACtB2oI,GAAYz9E,EAAao9C,MAAM,GAAKgb,EAAUhb,MAAM,KAAOp9C,EAAao9C,MAAM,GAAKgb,EAAUhb,MAAM,IACnG,IAAIua,GAA4B,IAAtB5/H,KAAKmnJ,KAAKzB,GAAkB1lJ,KAAKswD,GAEvC2X,EAAao9C,MAAM,GAAKgb,EAAUhb,MAAM,KAC1Cua,IAAO,KAGT+lB,EAAa7/F,QAAQ85E,GAAM5/H,KAAKswD,GAAK,IACvC,CAEAq1F,EAAa9/F,UAAUqgG,EAAUC,EAAU,GAC3CZ,GAAiBT,EAAU,GAAKvlJ,EAAQ/C,GAAGqoF,GAAK,KAE5CtlF,EAAQ/C,EAAI,IAAMgrC,IAAQjoC,EAAQ/C,EAAI,GAAGgrC,MAC3C+9G,GAAiBhmJ,EAAQ/C,GAAGqoF,GAAK,EACjC0gE,GAAmC,KAAlBzxC,EAAappE,GAAaopE,EAAayqC,UAE5D,KAAO,CAQL,OAPAoH,EAAa9/F,UAAUu/F,EAAMC,EAAM,GAE/BvxC,EAAaqqC,IAEfwH,EAAa9/F,UAAUiuD,EAAaqqC,GAAG,GAAIrqC,EAAaqqC,GAAG,GAAKrqC,EAAa3Y,OAAQ,GAG/E2Y,EAAaj3G,GACnB,KAAK,EACH8oJ,EAAa9/F,UAAUtmD,EAAQ/C,GAAGulJ,sBAAwBjuC,EAAaiqC,eAAiBjqC,EAAa+pC,SAAW/pC,EAAamqC,WAAW1+I,EAAQ/C,GAAG0kC,OAAQ,EAAG,GAC9J,MAEF,KAAK,EACHykH,EAAa9/F,UAAUtmD,EAAQ/C,GAAGulJ,sBAAwBjuC,EAAaiqC,eAAiBjqC,EAAa+pC,SAAW/pC,EAAamqC,WAAW1+I,EAAQ/C,GAAG0kC,OAAS,EAAG,EAAG,GAOtKykH,EAAa9/F,UAAU,GAAIiuD,EAAaoqC,IACxCyH,EAAa9/F,UAAUogG,EAAM,EAAG,GAChCN,EAAa9/F,UAAUi/F,EAAU,GAAKvlJ,EAAQ/C,GAAGqoF,GAAK,KAAOigE,EAAU,GAAKiB,EAAO,IAAM,GACzFX,GAAQ7lJ,EAAQ/C,GAAGge,EAAsB,KAAlBs5F,EAAappE,GAAaopE,EAAayqC,SAChE,CAEmB,SAAf+F,EACFsC,GAAUjB,EAAa5uB,QACC,QAAfutB,EACTsC,GAAUjB,EAAazuB,UAEvB2vB,GAAU,CAAClB,EAAapiD,MAAM,GAAIoiD,EAAapiD,MAAM,GAAIoiD,EAAapiD,MAAM,GAAIoiD,EAAapiD,MAAM,GAAIoiD,EAAapiD,MAAM,GAAIoiD,EAAapiD,MAAM,GAAIoiD,EAAapiD,MAAM,GAAIoiD,EAAapiD,MAAM,GAAIoiD,EAAapiD,MAAM,GAAIoiD,EAAapiD,MAAM,GAAIoiD,EAAapiD,MAAM,IAAKoiD,EAAapiD,MAAM,IAAKoiD,EAAapiD,MAAM,IAAKoiD,EAAapiD,MAAM,IAAKoiD,EAAapiD,MAAM,IAAKoiD,EAAapiD,MAAM,KAG9XijD,EAAUJ,CACZ,CAEIR,GAAwBppJ,GAC1BspJ,EAAc,IAAIxI,YAAYkJ,EAASH,EAAUC,EAAUC,EAAUK,GAASC,IAC9EjrJ,KAAKmpJ,gBAAgB3jJ,KAAK0kJ,GAC1BF,GAAwB,EACxBhqJ,KAAKopJ,oBAAqB,IAE1Bc,EAAclqJ,KAAKmpJ,gBAAgBvoJ,GACnCZ,KAAKopJ,mBAAqBc,EAAY1F,OAAOoG,EAASH,EAAUC,EAAUC,EAAUK,GAASC,KAAYjrJ,KAAKopJ,mBAElH,CArlBA,CAslBF,EAEAX,qBAAqBvoJ,UAAU+xH,SAAW,WACpCjyH,KAAK8oJ,MAAM9oC,WAAWsR,UAAYtxH,KAAK4hJ,WAI3C5hJ,KAAK4hJ,SAAW5hJ,KAAK8oJ,MAAM9oC,WAAWsR,QACtCtxH,KAAK6yH,2BACP,EAEA41B,qBAAqBvoJ,UAAUu4I,QAAU,IAAI/tF,OAC7C+9F,qBAAqBvoJ,UAAUgrJ,kBAAoB,GACnDh8C,gBAAgB,CAACwjB,0BAA2B+1B,sBAI5CY,aAAanpJ,UAAUm6I,YAAc,SAAUh1I,EAAM26G,EAAYzI,GAC/Dv3G,KAAKopJ,oBAAqB,EAC1BppJ,KAAKktH,YACLltH,KAAKmxI,aAAa9rI,EAAM26G,EAAYzI,GACpCv3G,KAAK6nJ,aAAe,IAAIlG,aAAa3hJ,KAAMqF,EAAKoe,EAAGzjB,KAAK2yH,mBACxD3yH,KAAKwrJ,aAAe,IAAI/C,qBAAqBpjJ,EAAKoe,EAAGzjB,KAAK0oJ,WAAY1oJ,MACtEA,KAAKo3I,cAAc/xI,EAAM26G,EAAYzI,GACrCv3G,KAAKk8I,gBACLl8I,KAAK6uI,iBACL7uI,KAAKy6I,sBACLz6I,KAAK06I,0BACL16I,KAAKs7I,6BACLt7I,KAAKo8I,gBACLp8I,KAAKwjH,OACLxjH,KAAKwrJ,aAAalC,iBAAiBtpJ,KAAK2yH,kBAC1C,EAEA02B,aAAanpJ,UAAU+9G,aAAe,SAAUz2G,GAC9CxH,KAAKoxH,MAAO,EACZpxH,KAAKovI,uBAAuB5nI,GAC5BxH,KAAKszI,kBAAkB9rI,EAAKxH,KAAK8uI,UACnC,EAEAua,aAAanpJ,UAAUurJ,gBAAkB,SAAU1B,EAAc1yC,GAC/D,IAAIp2G,EAEA43I,EADAliC,EAAOU,EAAO12G,OAEd+qJ,EAAW,GAEf,IAAKzqJ,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACJ,OAAjBo2G,EAAOp2G,GAAG8oD,KACZ8uF,EAAYxhC,EAAOp2G,GAAGoxF,GAAGlxF,EACzBuqJ,GAAY9L,iBAAiB/G,EAAWA,EAAUj4I,EAAED,QAAQ,EAAMopJ,IAItE,OAAO2B,CACT,EAEArC,aAAanpJ,UAAUwjH,mBAAqB,SAAUqjC,EAASj+I,GAC7D9I,KAAK6nJ,aAAankC,mBAAmBqjC,EAASj+I,EAChD,EAEAugJ,aAAanpJ,UAAUgnJ,cAAgB,SAAUC,GAC/CnnJ,KAAK6nJ,aAAaX,cAAcC,EAClC,EAEAkC,aAAanpJ,UAAUknJ,mBAAqB,SAAUuE,GACpD3rJ,KAAK6nJ,aAAaT,mBAAmBuE,EACvC,EAEAtC,aAAanpJ,UAAU0rJ,4BAA8B,SAAU1zC,EAAc6xC,EAAcxgF,EAAYigF,EAAMC,GAO3G,OANIvxC,EAAaqqC,IACfwH,EAAa9/F,UAAUiuD,EAAaqqC,GAAG,GAAIrqC,EAAaqqC,GAAG,GAAKrqC,EAAa3Y,OAAQ,GAGvFwqD,EAAa9/F,UAAU,GAAIiuD,EAAaoqC,GAAI,GAEpCpqC,EAAaj3G,GACnB,KAAK,EACH8oJ,EAAa9/F,UAAUiuD,EAAaiqC,eAAiBjqC,EAAa+pC,SAAW/pC,EAAamqC,WAAW94E,IAAc,EAAG,GACtH,MAEF,KAAK,EACHwgF,EAAa9/F,UAAUiuD,EAAaiqC,eAAiBjqC,EAAa+pC,SAAW/pC,EAAamqC,WAAW94E,IAAe,EAAG,EAAG,GAO9HwgF,EAAa9/F,UAAUu/F,EAAMC,EAAM,EACrC,EAEAJ,aAAanpJ,UAAU2rJ,WAAa,SAAUC,GAC5C,MAAO,OAAS1nJ,KAAKkd,MAAqB,IAAfwqI,EAAU,IAAY,IAAM1nJ,KAAKkd,MAAqB,IAAfwqI,EAAU,IAAY,IAAM1nJ,KAAKkd,MAAqB,IAAfwqI,EAAU,IAAY,GACjI,EAEAzC,aAAanpJ,UAAU6rJ,UAAY,IAAIrK,YAEvC2H,aAAanpJ,UAAUyqG,QAAU,WAAa,EAE9C0+C,aAAanpJ,UAAU8rJ,aAAe,YAChChsJ,KAAK6nJ,aAAaz2B,MAAQpxH,KAAK6nJ,aAAap2B,iBAC9CzxH,KAAKisJ,eACLjsJ,KAAK6nJ,aAAap2B,eAAgB,EAClCzxH,KAAK6nJ,aAAaz2B,MAAO,EAE7B,EAEA,IAAI86B,eAAiB,CACnB70C,OAAQ,IAGV,SAAS80C,qBAAqB9mJ,EAAM26G,EAAYzI,GAC9Cv3G,KAAKosJ,UAAY,GACjBpsJ,KAAK0oJ,WAAa,MAClB1oJ,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,EACrC,CAgVA,SAAS80C,cAAchnJ,EAAM26G,EAAYzI,GACvCv3G,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,EACrC,CAeA,SAAS+0C,YAAYjnJ,EAAM26G,EAAYzI,GACrCv3G,KAAKktH,YACLltH,KAAKmxI,aAAa9rI,EAAM26G,EAAYzI,GACpCv3G,KAAKktH,YACLltH,KAAKo3I,cAAc/xI,EAAM26G,EAAYzI,GACrCv3G,KAAKk8I,eACP,CAoBA,SAASqQ,kBAAmB,CAkQ5B,SAASC,eAAgB,CA4GzB,SAASC,eAAepnJ,EAAM26G,EAAYzI,GACxCv3G,KAAKw2G,OAASnxG,EAAKmxG,OACnBx2G,KAAK0sJ,YAAa,EAClB1sJ,KAAKu2G,gBAAiB,EACtBv2G,KAAKq1I,gBAAkB,GACvBr1I,KAAKynI,SAAWznI,KAAKw2G,OAASnF,iBAAiBrxG,KAAKw2G,OAAO71G,QAAU,GACrEX,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,GACnCv3G,KAAK09G,GAAKr4G,EAAKq4G,GAAK4U,gBAAgBC,QAAQvyH,KAAMqF,EAAKq4G,GAAI,EAAGsC,EAAWrB,UAAW3+G,MAAQ,CAC1F0xI,cAAc,EAElB,CAQA,SAASib,YAAY9gD,EAAevlE,GAClCtmC,KAAK6rG,cAAgBA,EACrB7rG,KAAKw2G,OAAS,KACdx2G,KAAK6wH,eAAiB,EACtB7wH,KAAK4sJ,WAAar3C,SAAS,OAC3B,IAAIs3C,EAAY,GAEhB,GAAIvmH,GAAUA,EAAOla,MAAO,CAC1B,IAAI0gI,EAAev3C,SAAS,SACxBw3C,EAAU54C,kBACd24C,EAAa9nC,aAAa,KAAM+nC,GAChCD,EAAa9yH,YAAcsM,EAAOla,MAClCpsB,KAAK4sJ,WAAW76E,YAAY+6E,GAC5BD,GAAaE,CACf,CAEA,GAAIzmH,GAAUA,EAAO66D,YAAa,CAChC,IAAI6rD,EAAcz3C,SAAS,QACvB03C,EAAS94C,kBACb64C,EAAYhoC,aAAa,KAAMioC,GAC/BD,EAAYhzH,YAAcsM,EAAO66D,YACjCnhG,KAAK4sJ,WAAW76E,YAAYi7E,GAC5BH,GAAa,IAAMI,CACrB,CAEIJ,GACF7sJ,KAAK4sJ,WAAW5nC,aAAa,kBAAmB6nC,GAGlD,IAAI5sC,EAAO1K,SAAS,QACpBv1G,KAAK4sJ,WAAW76E,YAAYkuC,GAC5B,IAAI81B,EAAcxgC,SAAS,KAC3Bv1G,KAAK4sJ,WAAW76E,YAAYgkE,GAC5B/1I,KAAKkzI,aAAe6C,EACpB/1I,KAAKyvI,aAAe,CAClByd,oBAAqB5mH,GAAUA,EAAO4mH,qBAAuB,gBAC7D3Q,yBAA0Bj2G,GAAUA,EAAOi2G,0BAA4B,iBACvE4Q,kBAAmB7mH,GAAUA,EAAO6mH,mBAAqB,UACzDrY,gBAAiBxuG,GAAUA,EAAOwuG,kBAAmB,EACrDpF,oBAAqBppG,IAAuC,IAA7BA,EAAOopG,mBACtC0d,YAAa9mH,GAAUA,EAAO8mH,cAAe,EAC7CC,YAAa/mH,GAAUA,EAAO+mH,cAAe,EAC7Ch9E,UAAW/pC,GAAUA,EAAO+pC,WAAa,GACzCpyC,GAAIqI,GAAUA,EAAOrI,IAAM,GAC3BqvH,UAAWhnH,GAAUA,EAAOgnH,UAC5BC,WAAY,CACV/kJ,MAAO89B,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAW/kJ,OAAS,OACjE4M,OAAQkxB,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAWn4I,QAAU,OACnE1H,EAAG44B,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAW7/I,GAAK,KACzDC,EAAG24B,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAW5/I,GAAK,MAE3DnF,MAAO89B,GAAUA,EAAO99B,MACxB4M,OAAQkxB,GAAUA,EAAOlxB,OACzBo4I,gBAAiBlnH,QAAoCrjC,IAA1BqjC,EAAOknH,gBAAgClnH,EAAOknH,gBAE3ExtJ,KAAKggH,WAAa,CAChBoR,MAAM,EACN/D,UAAW,EACXpN,KAAMA,EACNwvB,aAAczvI,KAAKyvI,cAErBzvI,KAAKynI,SAAW,GAChBznI,KAAKq1I,gBAAkB,GACvBr1I,KAAKytJ,WAAY,EACjBztJ,KAAK8hH,aAAe,KACtB,CAQA,SAAS4rC,wBACP1tJ,KAAK2tJ,UAAY,CAAC,EAClB3tJ,KAAK4tJ,aAAe,GACpB5tJ,KAAK6tJ,oBAAsB,CAC7B,CAt0BA3+C,gBAAgB,CAAC6hC,YAAa8E,iBAAkBoE,eAAgBC,iBAAkBlJ,aAAcmJ,qBAAsBkP,cAAe8C,sBAErIA,qBAAqBjsJ,UAAUk8I,cAAgB,WACzCp8I,KAAKqF,KAAKyoJ,cAAgB9tJ,KAAKggH,WAAWc,YAAYxI,QACxDt4G,KAAK+tJ,cAAgBx4C,SAAS,QAElC,EAEA42C,qBAAqBjsJ,UAAU8tJ,kBAAoB,SAAUC,GAM3D,IALA,IAAIrtJ,EAAI,EACJojB,EAAMiqI,EAAUttJ,OAChButJ,EAAe,GACfC,EAAqB,GAElBvtJ,EAAIojB,GACLiqI,EAAUrtJ,KAAO2jB,OAAOC,aAAa,KAAOypI,EAAUrtJ,KAAO2jB,OAAOC,aAAa,IACnF0pI,EAAa1oJ,KAAK2oJ,GAClBA,EAAqB,IAErBA,GAAsBF,EAAUrtJ,GAGlCA,GAAK,EAIP,OADAstJ,EAAa1oJ,KAAK2oJ,GACXD,CACT,EAEA/B,qBAAqBjsJ,UAAUkuJ,eAAiB,SAAU/oJ,EAAM2+C,GAK9D,GAAI3+C,EAAKgyG,QAAUhyG,EAAKgyG,OAAO12G,OAAQ,CACrC,IAAIuzH,EAAQ7uH,EAAKgyG,OAAO,GAExB,GAAI6c,EAAMt0G,GAAI,CACZ,IAAIyuI,EAAYn6B,EAAMt0G,GAAGs0G,EAAMt0G,GAAGjf,OAAS,GAEvC0tJ,EAAUptI,IACZotI,EAAUptI,EAAE9f,EAAE,GAAK6iD,EACnBqqG,EAAUptI,EAAE9f,EAAE,GAAK6iD,EAEvB,CACF,CAEA,OAAO3+C,CACT,EAEA8mJ,qBAAqBjsJ,UAAU+rJ,aAAe,WAE5C,IAAIrrJ,EACAojB,EAFJhkB,KAAK8xH,mBAAmB9xH,MAGxB,IAAIk4G,EAAel4G,KAAK6nJ,aAAa7F,YACrChiJ,KAAKmpJ,gBAAkB93C,iBAAiB6G,EAAeA,EAAat5F,EAAEje,OAAS,GAE3Eu3G,EAAat7B,GACf58E,KAAKkzI,aAAaluB,aAAa,OAAQhlH,KAAK6rJ,WAAW3zC,EAAat7B,KAEpE58E,KAAKkzI,aAAaluB,aAAa,OAAQ,iBAGrC9M,EAAavzB,KACf3kF,KAAKkzI,aAAaluB,aAAa,SAAUhlH,KAAK6rJ,WAAW3zC,EAAavzB,KACtE3kF,KAAKkzI,aAAaluB,aAAa,eAAgB9M,EAAavkB,KAG9D3zF,KAAKkzI,aAAaluB,aAAa,YAAa9M,EAAayqC,WACzD,IAAIjc,EAAW1mI,KAAKggH,WAAWc,YAAYqtB,cAAcj2B,EAAajtF,GAEtE,GAAIy7G,EAASkF,OACX5rI,KAAKkzI,aAAaluB,aAAa,QAAS0hB,EAASkF,YAC5C,CACL5rI,KAAKkzI,aAAaluB,aAAa,cAAe0hB,EAASiF,SACvD,IAAI/E,EAAU1uB,EAAa0uB,QACvBD,EAASzuB,EAAayuB,OAC1B3mI,KAAKkzI,aAAaluB,aAAa,aAAc2hB,GAC7C3mI,KAAKkzI,aAAaluB,aAAa,cAAe4hB,EAChD,CAEA5mI,KAAKkzI,aAAaluB,aAAa,aAAc9M,EAAaz0F,GAC1D,IAGI6qI,EAHA3qJ,EAAUu0G,EAAat5F,GAAK,GAC5B2vI,IAAevuJ,KAAKggH,WAAWc,YAAYxI,MAC/Ct0F,EAAMrgB,EAAQhD,OAEd,IAAIopJ,EAAe/pJ,KAAKy4I,QAEpBqV,EAAc9tJ,KAAKqF,KAAKyoJ,YACxBtE,EAAO,EACPC,EAAO,EACPW,GAAY,EACZxE,EAAmC,KAAlB1tC,EAAappE,GAAaopE,EAAayqC,UAE5D,IAAImL,GAAgBS,GAAer2C,EAAa5kB,GA4CzC,CACL,IACIilB,EADAi2C,EAAoBxuJ,KAAKosJ,UAAUzrJ,OAGvC,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAS3B,GARKZ,KAAKosJ,UAAUxrJ,KAClBZ,KAAKosJ,UAAUxrJ,GAAK,CAClB6tJ,KAAM,KACNC,UAAW,KACXC,MAAO,QAINJ,IAAeT,GAAqB,IAANltJ,EAAS,CAG1C,GAFA0tJ,EAAQE,EAAoB5tJ,EAAIZ,KAAKosJ,UAAUxrJ,GAAG6tJ,KAAOl5C,SAASg5C,EAAa,IAAM,QAEjFC,GAAqB5tJ,EAAG,CAM1B,GALA0tJ,EAAMtpC,aAAa,iBAAkB,QACrCspC,EAAMtpC,aAAa,kBAAmB,SACtCspC,EAAMtpC,aAAa,oBAAqB,KACxChlH,KAAKosJ,UAAUxrJ,GAAG6tJ,KAAOH,EAErBC,EAAY,CACd,IAAIG,EAAYn5C,SAAS,KACzB+4C,EAAMv8E,YAAY28E,GAClB1uJ,KAAKosJ,UAAUxrJ,GAAG8tJ,UAAYA,CAChC,CAEA1uJ,KAAKosJ,UAAUxrJ,GAAG6tJ,KAAOH,EACzBtuJ,KAAKkzI,aAAanhE,YAAYu8E,EAChC,CAEAA,EAAMj5H,MAAMkE,QAAU,SACxB,CAkBA,GAhBAwwH,EAAat0B,QAETq4B,IACEnqJ,EAAQ/C,GAAG+E,IACb6jJ,GAAQ5D,EACR6D,GAAQvxC,EAAa3hC,QACrBkzE,GAAQW,EAAY,EAAI,EACxBA,GAAY,GAGdpqJ,KAAK4rJ,4BAA4B1zC,EAAc6xC,EAAcpmJ,EAAQ/C,GAAG0kC,KAAMkkH,EAAMC,GACpFD,GAAQ7lJ,EAAQ/C,GAAGge,GAAK,EAExB4qI,GAAQ5D,GAGN2I,EAAY,CAEd,IAAIK,EAEJ,GAAmB,KAHnBr2C,EAAWv4G,KAAKggH,WAAWc,YAAYmtB,YAAY/1B,EAAa0qC,UAAUhiJ,GAAI8lI,EAASC,OAAQ3mI,KAAKggH,WAAWc,YAAYqtB,cAAcj2B,EAAajtF,GAAG0gH,UAG5IloH,EACXmrI,EAAe,IAAInC,eAAel0C,EAASlzG,KAAMrF,KAAKggH,WAAYhgH,UAC7D,CACL,IAAIqF,EAAO6mJ,eAEP3zC,EAASlzG,MAAQkzG,EAASlzG,KAAKgyG,SACjChyG,EAAOrF,KAAKouJ,eAAe71C,EAASlzG,KAAM6yG,EAAayqC,YAGzDiM,EAAe,IAAIrN,gBAAgBl8I,EAAMrF,KAAKggH,WAAYhgH,KAC5D,CAEA,GAAIA,KAAKosJ,UAAUxrJ,GAAG+tJ,MAAO,CAC3B,IAAIA,EAAQ3uJ,KAAKosJ,UAAUxrJ,GAAG+tJ,MAC9B3uJ,KAAKosJ,UAAUxrJ,GAAG8tJ,UAAU77E,YAAY87E,EAAMzb,cAC9Cyb,EAAMhkD,SACR,CAEA3qG,KAAKosJ,UAAUxrJ,GAAG+tJ,MAAQC,EAC1BA,EAAaC,QAAS,EACtBD,EAAa3wC,aAAa,GAC1B2wC,EAAar3E,cACbv3E,KAAKosJ,UAAUxrJ,GAAG8tJ,UAAU38E,YAAY68E,EAAa1b,cAGlC,IAAf36B,EAAS90F,GACXzjB,KAAKosJ,UAAUxrJ,GAAG8tJ,UAAU1pC,aAAa,YAAa,SAAW9M,EAAayqC,UAAY,IAAM,IAAMzqC,EAAayqC,UAAY,IAAM,IAEzI,MACMmL,GACFQ,EAAMtpC,aAAa,YAAa,aAAe+kC,EAAapiD,MAAM,IAAM,IAAMoiD,EAAapiD,MAAM,IAAM,KAGzG2mD,EAAMt0H,YAAcr2B,EAAQ/C,GAAG+G,IAC/B2mJ,EAAM9xC,eAAe,uCAAwC,YAAa,WAG9E,CAEIsxC,GAAeQ,GACjBA,EAAMtpC,aAAa,IAlJR,GAoJf,KA7IoD,CAClD,IAAI8pC,EAAW9uJ,KAAK+tJ,cAChBgB,EAAU,QAEd,OAAQ72C,EAAaj3G,GACnB,KAAK,EACH8tJ,EAAU,MACV,MAEF,KAAK,EACHA,EAAU,SACV,MAEF,QACEA,EAAU,QAIdD,EAAS9pC,aAAa,cAAe+pC,GACrCD,EAAS9pC,aAAa,iBAAkB4gC,GACxC,IAAI5rH,EAAch6B,KAAKguJ,kBAAkB91C,EAAa0qC,WAItD,IAHA5+H,EAAMgW,EAAYr5B,OAClB8oJ,EAAOvxC,EAAaqqC,GAAKrqC,EAAaqqC,GAAG,GAAKrqC,EAAa3Y,OAAS,EAE/D3+F,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,GACxB0tJ,EAAQtuJ,KAAKosJ,UAAUxrJ,GAAG6tJ,MAAQl5C,SAAS,UACrCv7E,YAAcA,EAAYp5B,GAChC0tJ,EAAMtpC,aAAa,IAAK,GACxBspC,EAAMtpC,aAAa,IAAKykC,GACxB6E,EAAMj5H,MAAMkE,QAAU,UACtBu1H,EAAS/8E,YAAYu8E,GAEhBtuJ,KAAKosJ,UAAUxrJ,KAClBZ,KAAKosJ,UAAUxrJ,GAAK,CAClB6tJ,KAAM,KACNE,MAAO,OAIX3uJ,KAAKosJ,UAAUxrJ,GAAG6tJ,KAAOH,EACzB7E,GAAQvxC,EAAa2qC,gBAGvB7iJ,KAAKkzI,aAAanhE,YAAY+8E,EAChC,CAmGA,KAAOluJ,EAAIZ,KAAKosJ,UAAUzrJ,QACxBX,KAAKosJ,UAAUxrJ,GAAG6tJ,KAAKp5H,MAAMkE,QAAU,OACvC34B,GAAK,EAGPZ,KAAK66I,cAAe,CACtB,EAEAsR,qBAAqBjsJ,UAAU0vI,iBAAmB,WAIhD,GAHA5vI,KAAKi+G,aAAaj+G,KAAKu3G,KAAKsZ,cAAgB7wH,KAAKqF,KAAK6mC,IACtDlsC,KAAKq8I,qBAEDr8I,KAAK66I,aAAc,CACrB76I,KAAK66I,cAAe,EACpB,IAAImU,EAAUhvJ,KAAKkzI,aAAa33B,UAChCv7G,KAAKi4F,KAAO,CACV9lE,IAAK68H,EAAQrhJ,EACb2kB,KAAM08H,EAAQthJ,EACdlF,MAAOwmJ,EAAQxmJ,MACf4M,OAAQ45I,EAAQ55I,OAEpB,CAEA,OAAOpV,KAAKi4F,IACd,EAEAk0D,qBAAqBjsJ,UAAU+xH,SAAW,WACxC,IAAIrxH,EAEAguJ,EADA5qI,EAAMhkB,KAAKosJ,UAAUzrJ,OAIzB,IAFAX,KAAK6wH,cAAgB7wH,KAAKu3G,KAAKsZ,cAE1BjwH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,GACxBguJ,EAAe5uJ,KAAKosJ,UAAUxrJ,GAAG+tJ,SAG/BC,EAAa3wC,aAAaj+G,KAAKu3G,KAAKsZ,cAAgB7wH,KAAKqF,KAAK6mC,IAE1D0iH,EAAax9B,OACfpxH,KAAKoxH,MAAO,GAIpB,EAEA+6B,qBAAqBjsJ,UAAUm8I,mBAAqB,WAGlD,GAFAr8I,KAAKgsJ,iBAEAhsJ,KAAKqF,KAAKyoJ,aAAe9tJ,KAAKoxH,QACjCpxH,KAAKwrJ,aAAajC,YAAYvpJ,KAAK6nJ,aAAa7F,YAAahiJ,KAAKopJ,oBAE9DppJ,KAAKopJ,oBAAsBppJ,KAAKwrJ,aAAapC,oBAAoB,CAEnE,IAAIxoJ,EACAojB,EAFJhkB,KAAK66I,cAAe,EAGpB,IAGIoU,EACAC,EACAN,EALAzF,EAAkBnpJ,KAAKwrJ,aAAarC,gBACpCxlJ,EAAU3D,KAAK6nJ,aAAa7F,YAAYpjI,EAM5C,IALAoF,EAAMrgB,EAAQhD,OAKTC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACnB+C,EAAQ/C,GAAG+E,IACdspJ,EAAiB9F,EAAgBvoJ,GACjCsuJ,EAAWlvJ,KAAKosJ,UAAUxrJ,GAAG6tJ,MAC7BG,EAAe5uJ,KAAKosJ,UAAUxrJ,GAAG+tJ,QAG/BC,EAAar3E,cAGX03E,EAAe79B,KAAKxrH,GACtBspJ,EAASlqC,aAAa,YAAaiqC,EAAerpJ,GAGhDqpJ,EAAe79B,KAAKzyF,GACtBuwH,EAASlqC,aAAa,UAAWiqC,EAAetwH,GAG9CswH,EAAe79B,KAAKz9B,IACtBu7D,EAASlqC,aAAa,eAAgBiqC,EAAet7D,IAGnDs7D,EAAe79B,KAAKzsC,IACtBuqE,EAASlqC,aAAa,SAAUiqC,EAAetqE,IAG7CsqE,EAAe79B,KAAKx0C,IACtBsyE,EAASlqC,aAAa,OAAQiqC,EAAeryE,IAIrD,CAEJ,EAMAsyB,gBAAgB,CAACkrC,eAAgBiS,eAEjCA,cAAcnsJ,UAAUk8I,cAAgB,WACtC,IAAIjpH,EAAOoiF,SAAS,QAIpBpiF,EAAK6xF,aAAa,QAAShlH,KAAKqF,KAAKsuF,IACrCxgE,EAAK6xF,aAAa,SAAUhlH,KAAKqF,KAAK6pH,IACtC/7F,EAAK6xF,aAAa,OAAQhlH,KAAKqF,KAAKs/E,IACpC3kF,KAAKkzI,aAAanhE,YAAY5+C,EAChC,EAUAm5H,YAAYpsJ,UAAU+9G,aAAe,SAAUz2G,GAC7CxH,KAAKszI,kBAAkB9rI,GAAK,EAC9B,EAEA8kJ,YAAYpsJ,UAAUq3E,YAAc,WAAa,EAEjD+0E,YAAYpsJ,UAAUuzI,eAAiB,WACrC,OAAO,IACT,EAEA6Y,YAAYpsJ,UAAUyqG,QAAU,WAAa,EAE7C2hD,YAAYpsJ,UAAU0vI,iBAAmB,WAAa,EAEtD0c,YAAYpsJ,UAAUsjH,KAAO,WAAa,EAE1CtU,gBAAgB,CAAC6hC,YAAa8E,iBAAkBqE,iBAAkBlJ,cAAesb,aAIjFp9C,gBAAgB,CAAC0iC,cAAe2a,iBAEhCA,gBAAgBrsJ,UAAUq0I,WAAa,SAAUlvI,GAC/C,OAAO,IAAIinJ,YAAYjnJ,EAAMrF,KAAKggH,WAAYhgH,KAChD,EAEAusJ,gBAAgBrsJ,UAAUs0I,YAAc,SAAUnvI,GAChD,OAAO,IAAIk8I,gBAAgBl8I,EAAMrF,KAAKggH,WAAYhgH,KACpD,EAEAusJ,gBAAgBrsJ,UAAUu0I,WAAa,SAAUpvI,GAC/C,OAAO,IAAI8mJ,qBAAqB9mJ,EAAMrF,KAAKggH,WAAYhgH,KACzD,EAEAusJ,gBAAgBrsJ,UAAUk0I,YAAc,SAAU/uI,GAChD,OAAO,IAAI+0I,cAAc/0I,EAAMrF,KAAKggH,WAAYhgH,KAClD,EAEAusJ,gBAAgBrsJ,UAAUo0I,YAAc,SAAUjvI,GAChD,OAAO,IAAIgnJ,cAAchnJ,EAAMrF,KAAKggH,WAAYhgH,KAClD,EAEAusJ,gBAAgBrsJ,UAAUu/G,gBAAkB,SAAUgC,GACpDzhH,KAAK4sJ,WAAW5nC,aAAa,QAAS,8BACtChlH,KAAK4sJ,WAAW5nC,aAAa,cAAe,gCAExChlH,KAAKyvI,aAAa4d,YACpBrtJ,KAAK4sJ,WAAW5nC,aAAa,UAAWhlH,KAAKyvI,aAAa4d,aAE1DrtJ,KAAK4sJ,WAAW5nC,aAAa,UAAW,OAASvD,EAAS9xE,EAAI,IAAM8xE,EAASl2F,GAG1EvrB,KAAKyvI,aAAa2d,cACrBptJ,KAAK4sJ,WAAW5nC,aAAa,QAASvD,EAAS9xE,GAC/C3vC,KAAK4sJ,WAAW5nC,aAAa,SAAUvD,EAASl2F,GAChDvrB,KAAK4sJ,WAAWv3H,MAAM7sB,MAAQ,OAC9BxI,KAAK4sJ,WAAWv3H,MAAMjgB,OAAS,OAC/BpV,KAAK4sJ,WAAWv3H,MAAM/O,UAAY,qBAClCtmB,KAAK4sJ,WAAWv3H,MAAM83H,kBAAoBntJ,KAAKyvI,aAAa0d,mBAG1DntJ,KAAKyvI,aAAajnI,OACpBxI,KAAK4sJ,WAAW5nC,aAAa,QAAShlH,KAAKyvI,aAAajnI,OAGtDxI,KAAKyvI,aAAar6H,QACpBpV,KAAK4sJ,WAAW5nC,aAAa,SAAUhlH,KAAKyvI,aAAar6H,QAGvDpV,KAAKyvI,aAAap/D,WACpBrwE,KAAK4sJ,WAAW5nC,aAAa,QAAShlH,KAAKyvI,aAAap/D,WAGtDrwE,KAAKyvI,aAAaxxG,IACpBj+B,KAAK4sJ,WAAW5nC,aAAa,KAAMhlH,KAAKyvI,aAAaxxG,SAGnBh7B,IAAhCjD,KAAKyvI,aAAa6d,WACpBttJ,KAAK4sJ,WAAW5nC,aAAa,YAAahlH,KAAKyvI,aAAa6d,WAG9DttJ,KAAK4sJ,WAAW5nC,aAAa,sBAAuBhlH,KAAKyvI,aAAayd,qBAGtEltJ,KAAK6rG,cAAca,QAAQ36B,YAAY/xE,KAAK4sJ,YAE5C,IAAI3sC,EAAOjgH,KAAKggH,WAAWC,KAC3BjgH,KAAKw1I,gBAAgB/zB,EAAUxB,GAC/BjgH,KAAKggH,WAAW80B,gBAAkB90I,KAAKyvI,aAAaqF,gBACpD90I,KAAKqF,KAAOo8G,EACZ,IAAIs0B,EAAcxgC,SAAS,YACvBpiF,EAAOoiF,SAAS,QACpBpiF,EAAK6xF,aAAa,QAASvD,EAAS9xE,GACpCxc,EAAK6xF,aAAa,SAAUvD,EAASl2F,GACrC4H,EAAK6xF,aAAa,IAAK,GACvB7xF,EAAK6xF,aAAa,IAAK,GACvB,IAAIw6B,EAASrrC,kBACb4hC,EAAY/wB,aAAa,KAAMw6B,GAC/BzJ,EAAYhkE,YAAY5+C,GACxBnzB,KAAKkzI,aAAaluB,aAAa,YAAa,OAAShW,kBAAoB,IAAMwwC,EAAS,KACxFv/B,EAAKluC,YAAYgkE,GACjB/1I,KAAKw2G,OAASiL,EAASjL,OACvBx2G,KAAKynI,SAAWp2B,iBAAiBoQ,EAASjL,OAAO71G,OACnD,EAEA4rJ,gBAAgBrsJ,UAAUyqG,QAAU,WAOlC,IAAI/pG,EANAZ,KAAK6rG,cAAca,UACrB1sG,KAAK6rG,cAAca,QAAQpgF,UAAY,IAGzCtsB,KAAKkzI,aAAe,KACpBlzI,KAAKggH,WAAWC,KAAO,KAEvB,IAAIj8F,EAAMhkB,KAAKw2G,OAASx2G,KAAKw2G,OAAO71G,OAAS,EAE7C,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBZ,KAAKynI,SAAS7mI,IAAMZ,KAAKynI,SAAS7mI,GAAG+pG,SACvC3qG,KAAKynI,SAAS7mI,GAAG+pG,UAIrB3qG,KAAKynI,SAAS9mI,OAAS,EACvBX,KAAKytJ,WAAY,EACjBztJ,KAAK6rG,cAAgB,IACvB,EAEA0gD,gBAAgBrsJ,UAAUiiH,oBAAsB,WAAa,EAE7DoqC,gBAAgBrsJ,UAAUivJ,eAAiB,SAAUvjH,GACnD,IAAIhrC,EAAI,EACJojB,EAAMhkB,KAAKw2G,OAAO71G,OAEtB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,GAAIZ,KAAKw2G,OAAO51G,GAAGgrC,MAAQA,EACzB,OAAOhrC,EAIX,OAAQ,CACV,EAEA2rJ,gBAAgBrsJ,UAAU8zI,UAAY,SAAU5lI,GAC9C,IAAIq5H,EAAWznI,KAAKynI,SAEpB,IAAIA,EAASr5H,IAAgC,KAAxBpO,KAAKw2G,OAAOpoG,GAAK27C,GAAtC,CAIA09E,EAASr5H,IAAO,EAChB,IAAIulB,EAAU3zB,KAAKk0I,WAAWl0I,KAAKw2G,OAAOpoG,IAa1C,GAZAq5H,EAASr5H,GAAOulB,EAEZqhF,yBAC0B,IAAxBh1G,KAAKw2G,OAAOpoG,GAAK27C,IACnB/pD,KAAKggH,WAAWV,iBAAiBzB,oBAAoBlqF,GAGvDA,EAAQstF,mBAGVjhH,KAAKovJ,mBAAmBz7H,EAASvlB,GAE7BpO,KAAKw2G,OAAOpoG,GAAKq3C,GAAI,CACvB,IAAI4pG,EAAe,OAAQrvJ,KAAKw2G,OAAOpoG,GAAOpO,KAAKmvJ,eAAenvJ,KAAKw2G,OAAOpoG,GAAKkhJ,IAAMlhJ,EAAM,EAE/F,IAAsB,IAAlBihJ,EACF,OAGF,GAAKrvJ,KAAKynI,SAAS4nB,KAAiD,IAAhCrvJ,KAAKynI,SAAS4nB,GAG3C,CACL,IACIE,EADe9nB,EAAS4nB,GACC9T,SAASv7I,KAAKw2G,OAAOpoG,GAAKq3C,IACvD9xB,EAAQsoH,SAASsT,EACnB,MANEvvJ,KAAKg0I,UAAUqb,GACfrvJ,KAAKo1I,kBAAkBzhH,EAM3B,CA/BA,CAgCF,EAEA44H,gBAAgBrsJ,UAAU+zI,qBAAuB,WAC/C,KAAOj0I,KAAKq1I,gBAAgB10I,QAAQ,CAClC,IAAIgzB,EAAU3zB,KAAKq1I,gBAAgB9pF,MAGnC,GAFA53B,EAAQwoH,iBAEJxoH,EAAQtuB,KAAKogD,GAIf,IAHA,IAAI7kD,EAAI,EACJojB,EAAMhkB,KAAKynI,SAAS9mI,OAEjBC,EAAIojB,GAAK,CACd,GAAIhkB,KAAKynI,SAAS7mI,KAAO+yB,EAAS,CAChC,IAAI07H,EAAe,OAAQ17H,EAAQtuB,KAAOrF,KAAKmvJ,eAAex7H,EAAQtuB,KAAKiqJ,IAAM1uJ,EAAI,EAEjF2uJ,EADevvJ,KAAKynI,SAAS4nB,GACJ9T,SAASv7I,KAAKw2G,OAAO51G,GAAG6kD,IACrD9xB,EAAQsoH,SAASsT,GACjB,KACF,CAEA3uJ,GAAK,CACP,CAEJ,CACF,EAEA2rJ,gBAAgBrsJ,UAAUq3E,YAAc,SAAU/vE,GAChD,GAAIxH,KAAK6wH,gBAAkBrpH,IAAOxH,KAAKytJ,UAAvC,CAgBA,IAAI7sJ,EAZQ,OAAR4G,EACFA,EAAMxH,KAAK6wH,cAEX7wH,KAAK6wH,cAAgBrpH,EAKvBxH,KAAKggH,WAAWqN,SAAW7lH,EAC3BxH,KAAKggH,WAAWsR,SAAW,EAC3BtxH,KAAKggH,WAAWV,iBAAiBpB,aAAe12G,EAChDxH,KAAKggH,WAAWoR,MAAO,EAEvB,IAAIptG,EAAMhkB,KAAKw2G,OAAO71G,OAMtB,IAJKX,KAAKu2G,gBACRv2G,KAAK+zI,YAAYvsI,GAGd5G,EAAIojB,EAAM,EAAGpjB,GAAK,EAAGA,GAAK,GACzBZ,KAAKu2G,gBAAkBv2G,KAAKynI,SAAS7mI,KACvCZ,KAAKynI,SAAS7mI,GAAGq9G,aAAaz2G,EAAMxH,KAAKw2G,OAAO51G,GAAGsrC,IAIvD,GAAIlsC,KAAKggH,WAAWoR,KAClB,IAAKxwH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,GACpBZ,KAAKu2G,gBAAkBv2G,KAAKynI,SAAS7mI,KACvCZ,KAAKynI,SAAS7mI,GAAG22E,aA9BvB,CAkCF,EAEAg1E,gBAAgBrsJ,UAAUkvJ,mBAAqB,SAAUz7H,EAASvlB,GAChE,IAAIg6G,EAAaz0F,EAAQ8/G,iBAEzB,GAAKrrB,EAAL,CAOA,IAHA,IACIonC,EADA5uJ,EAAI,EAGDA,EAAIwN,GACLpO,KAAKynI,SAAS7mI,KAA2B,IAArBZ,KAAKynI,SAAS7mI,IAAeZ,KAAKynI,SAAS7mI,GAAG6yI,mBACpE+b,EAAcxvJ,KAAKynI,SAAS7mI,GAAG6yI,kBAGjC7yI,GAAK,EAGH4uJ,EACFxvJ,KAAKkzI,aAAauc,aAAarnC,EAAYonC,GAE3CxvJ,KAAKkzI,aAAanhE,YAAYq2C,EAhBhC,CAkBF,EAEAmkC,gBAAgBrsJ,UAAUsjH,KAAO,WAC/BxjH,KAAKkzI,aAAa79G,MAAMkE,QAAU,MACpC,EAEAgzH,gBAAgBrsJ,UAAUujH,KAAO,WAC/BzjH,KAAKkzI,aAAa79G,MAAMkE,QAAU,OACpC,EAIA21E,gBAAgB,CAAC6hC,YAAa8E,iBAAkBqE,iBAAkBlJ,aAAcmJ,sBAAuBqS,cAEvGA,aAAatsJ,UAAUm6I,YAAc,SAAUh1I,EAAM26G,EAAYzI,GAC/Dv3G,KAAKktH,YACLltH,KAAKmxI,aAAa9rI,EAAM26G,EAAYzI,GACpCv3G,KAAKo3I,cAAc/xI,EAAM26G,EAAYzI,GACrCv3G,KAAK6uI,iBACL7uI,KAAKk8I,gBACLl8I,KAAKy6I,sBACLz6I,KAAK06I,0BACL16I,KAAKs7I,8BAEDt7I,KAAKqF,KAAKoiD,IAAOu4D,EAAW80B,iBAC9B90I,KAAK40I,gBAGP50I,KAAKwjH,MACP,EAcAgpC,aAAatsJ,UAAU+9G,aAAe,SAAUz2G,GAK9C,GAJAxH,KAAKoxH,MAAO,EACZpxH,KAAKovI,uBAAuB5nI,GAC5BxH,KAAKszI,kBAAkB9rI,EAAKxH,KAAK8uI,WAE5B9uI,KAAK8uI,WAAc9uI,KAAKqF,KAAKoiD,GAAlC,CAIA,GAAKznD,KAAK09G,GAAGg0B,aASX1xI,KAAK6wH,cAAgBrpH,EAAMxH,KAAKqF,KAAK4xD,OATZ,CACzB,IAAI28E,EAAe5zI,KAAK09G,GAAGv8F,EAEvByyH,IAAiB5zI,KAAKqF,KAAKmyD,KAC7Bo8E,EAAe5zI,KAAKqF,KAAKmyD,GAAK,GAGhCx3D,KAAK6wH,cAAgB+iB,CACvB,CAIA,IAAIhzI,EACAojB,EAAMhkB,KAAKynI,SAAS9mI,OAOxB,IALKX,KAAKu2G,gBACRv2G,KAAK+zI,YAAY/zI,KAAK6wH,eAInBjwH,EAAIojB,EAAM,EAAGpjB,GAAK,EAAGA,GAAK,GACzBZ,KAAKu2G,gBAAkBv2G,KAAKynI,SAAS7mI,MACvCZ,KAAKynI,SAAS7mI,GAAGq9G,aAAaj+G,KAAK6wH,cAAgB7wH,KAAKw2G,OAAO51G,GAAGsrC,IAE9DlsC,KAAKynI,SAAS7mI,GAAGwwH,OACnBpxH,KAAKoxH,MAAO,GA3BlB,CA+BF,EAEAo7B,aAAatsJ,UAAUm8I,mBAAqB,WAC1C,IAAIz7I,EACAojB,EAAMhkB,KAAKw2G,OAAO71G,OAEtB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,GACpBZ,KAAKu2G,gBAAkBv2G,KAAKynI,SAAS7mI,KACvCZ,KAAKynI,SAAS7mI,GAAG22E,aAGvB,EAEAi1E,aAAatsJ,UAAUwvJ,YAAc,SAAUlnB,GAC7CxoI,KAAKynI,SAAWe,CAClB,EAEAgkB,aAAatsJ,UAAUyvJ,YAAc,WACnC,OAAO3vJ,KAAKynI,QACd,EAEA+kB,aAAatsJ,UAAU0vJ,gBAAkB,WACvC,IAAIhvJ,EACAojB,EAAMhkB,KAAKw2G,OAAO71G,OAEtB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBZ,KAAKynI,SAAS7mI,IAChBZ,KAAKynI,SAAS7mI,GAAG+pG,SAGvB,EAEA6hD,aAAatsJ,UAAUyqG,QAAU,WAC/B3qG,KAAK4vJ,kBACL5vJ,KAAKq7I,oBACP,EAcAnsC,gBAAgB,CAACq9C,gBAAiBC,aAAcvS,gBAAiBwS,gBAEjEA,eAAevsJ,UAAUm0I,WAAa,SAAUhvI,GAC9C,OAAO,IAAIonJ,eAAepnJ,EAAMrF,KAAKggH,WAAYhgH,KACnD,EAqEAkvG,gBAAgB,CAACq9C,iBAAkBI,aAEnCA,YAAYzsJ,UAAUm0I,WAAa,SAAUhvI,GAC3C,OAAO,IAAIonJ,eAAepnJ,EAAMrF,KAAKggH,WAAYhgH,KACnD,EAQA0tJ,sBAAsBxtJ,UAAY,CAChC2vJ,qBAAsB,SAA8BtX,GAClD,IAAI33I,EACAojB,EAAMu0H,EAAW53I,OACjB6M,EAAM,IAEV,IAAK5M,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB4M,GAAO+qI,EAAW33I,GAAG0lB,UAAU9Y,IAAM,IAGvC,IAAIsiJ,EAAW9vJ,KAAK2tJ,UAAUngJ,GAY9B,OAVKsiJ,IACHA,EAAW,CACTvX,WAAY,GAAGrrI,OAAOqrI,GACtBhJ,eAAgB,IAAI7kF,OACpB0mE,MAAM,GAERpxH,KAAK2tJ,UAAUngJ,GAAOsiJ,EACtB9vJ,KAAK4tJ,aAAapoJ,KAAKsqJ,IAGlBA,CACT,EACAC,gBAAiB,SAAyBD,EAAUnX,GAKlD,IAJA,IAAI/3I,EAAI,EACJojB,EAAM8rI,EAASvX,WAAW53I,OAC1BywH,EAAOunB,EAEJ/3I,EAAIojB,IAAQ20H,GAAc,CAC/B,GAAImX,EAASvX,WAAW33I,GAAG0lB,UAAU0iH,OAAO5X,KAAM,CAChDA,GAAO,EACP,KACF,CAEAxwH,GAAK,CACP,CAEA,GAAIwwH,EAGF,IAFA0+B,EAASvgB,eAAe9Z,QAEnB70H,EAAIojB,EAAM,EAAGpjB,GAAK,EAAGA,GAAK,EAC7BkvJ,EAASvgB,eAAevlF,SAAS8lG,EAASvX,WAAW33I,GAAG0lB,UAAU0iH,OAAO7nH,GAI7E2uI,EAAS1+B,KAAOA,CAClB,EACA4+B,iBAAkB,SAA0BrX,GAC1C,IAAI/3I,EACAojB,EAAMhkB,KAAK4tJ,aAAajtJ,OAE5B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK+vJ,gBAAgB/vJ,KAAK4tJ,aAAahtJ,GAAI+3I,EAE/C,EACAsX,UAAW,WAET,OADAjwJ,KAAK6tJ,qBAAuB,EACrB,IAAM7tJ,KAAK6tJ,mBACpB,GAGF,IAAIqC,WAAa,WACf,IAAIjyH,EAAK,+BACLkyH,EAAa,KACbC,EAAgB,KAChBC,EAAM,KA4CV,SAASC,IACFH,IACHE,EAxBJ,WACE,IAAIE,EAAOh7C,SAAS,OAEhB4jC,EAAM5jC,SAAS,UACfr2D,EAASq2D,SAAS,iBAetB,OAdA4jC,EAAIn0B,aAAa,KAAM/mF,GACvBihB,EAAO8lE,aAAa,OAAQ,UAC5B9lE,EAAO8lE,aAAa,8BAA+B,QACnD9lE,EAAO8lE,aAAa,SAAU,sFAC9Bm0B,EAAIpnE,YAAY7yB,GAEhBqxG,EAAKx+E,YAAYonE,GAEjBoX,EAAKvrC,aAAa,KAAM/mF,EAAK,QAEzBo7G,eAAeC,gBACjBiX,EAAKl7H,MAAMkE,QAAU,QAGhBg3H,CACT,CAIUC,GACN5qI,SAASyG,KAAK0lD,YAAYs+E,GAC1BF,EAAalhD,UAAU,WACvBmhD,EAAgBD,EAAWxnF,WAAW,OAExBjjE,OAAS,QAAUu4B,EAAK,IACtCmyH,EAAcl9H,UAAY,gBAC1Bk9H,EAAcjiF,SAAS,EAAG,EAAG,EAAG,GAEpC,CAcA,MAAO,CACLqrC,KAAM82C,EACN/sJ,IAdF,SAAiB4lE,GASf,OARKgnF,GACHG,IAGFH,EAAW3nJ,MAAQ2gE,EAAO3gE,MAC1B2nJ,EAAW/6I,OAAS+zD,EAAO/zD,OAE3Bg7I,EAAc1qJ,OAAS,QAAUu4B,EAAK,IAC/BkyH,CACT,EAMF,EAEA,SAASM,aAAajoJ,EAAO4M,GAC3B,GAAIikI,eAAeE,gBACjB,OAAO,IAAIzN,gBAAgBtjI,EAAO4M,GAGpC,IAAI+zD,EAAS8lC,UAAU,UAGvB,OAFA9lC,EAAO3gE,MAAQA,EACf2gE,EAAO/zD,OAASA,EACT+zD,CACT,CAEA,IAAIgwC,YACK,CACLu3C,eAAgBR,WAAW12C,KAC3Bm3C,cAAeT,WAAW3sJ,IAC1BktJ,aAAcA,cAIdG,kBAAoB,CAAC,EAEzB,SAASC,UAAU57H,GACjB,IAAIr0B,EAGA+4I,EAFA31H,EAAMiR,EAAK5vB,KAAKsrI,GAAK17G,EAAK5vB,KAAKsrI,GAAGhwI,OAAS,EAI/C,IAHAX,KAAKqgD,QAAU,GAGVz/C,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAC3B+4I,EAAgB,KAChB,IAAIr2I,EAAO2xB,EAAK5vB,KAAKsrI,GAAG/vI,GAAGmpD,GAEvB6mG,kBAAkBttJ,KAEpBq2I,EAAgB,IAAIE,EADP+W,kBAAkBttJ,GAAMw2I,QACV7kH,EAAKm+G,eAAexC,eAAehwI,GAAIq0B,IAGhE0kH,GACF35I,KAAKqgD,QAAQ76C,KAAKm0I,EAEtB,CAEI35I,KAAKqgD,QAAQ1/C,QACfs0B,EAAKg6G,uBAAuBjvI,KAEhC,CAyBA,SAAS8wJ,eAAe7yH,EAAI67G,GAC1B8W,kBAAkB3yH,GAAM,CACtB67G,OAAQA,EAEZ,CAEA,SAASiX,cAAc1rJ,EAAMsuB,GAK3B,IAAI/yB,EAJJZ,KAAKqF,KAAOA,EACZrF,KAAK2zB,QAAUA,EACf3zB,KAAKg3G,gBAAkBh3G,KAAKqF,KAAK2xG,iBAAmB,GACpDh3G,KAAKg2I,SAAW3kC,iBAAiBrxG,KAAKg3G,gBAAgBr2G,QAEtD,IAAIqjB,EAAMhkB,KAAKg3G,gBAAgBr2G,OAC3BqwJ,GAAW,EAEf,IAAKpwJ,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACa,MAAjCZ,KAAKg3G,gBAAgBp2G,GAAG6F,OAC1BuqJ,GAAW,GAGbhxJ,KAAKg2I,SAASp1I,GAAK8zH,qBAAqB8hB,aAAax2I,KAAK2zB,QAAS3zB,KAAKg3G,gBAAgBp2G,GAAI,GAG9FZ,KAAKgxJ,SAAWA,EAEZA,GACFhxJ,KAAK2zB,QAAQs7G,uBAAuBjvI,KAExC,CAoDA,SAASixJ,gBAAiB,CAvG1BJ,UAAU3wJ,UAAUq3E,YAAc,SAAUk6C,GAC1C,IAAI7wH,EACAojB,EAAMhkB,KAAKqgD,QAAQ1/C,OAEvB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKqgD,QAAQz/C,GAAG22E,YAAYk6C,EAEhC,EAEAo/B,UAAU3wJ,UAAUm4I,WAAa,SAAU/0I,GACzC,IAAI1C,EACAojB,EAAMhkB,KAAKqgD,QAAQ1/C,OACnB+vI,EAAU,GAEd,IAAK9vI,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBZ,KAAKqgD,QAAQz/C,GAAG0C,OAASA,GAC3BotI,EAAQlrI,KAAKxF,KAAKqgD,QAAQz/C,IAI9B,OAAO8vI,CACT,EAgCAqgB,cAAc7wJ,UAAUq3E,YAAc,WACpC,GAAKv3E,KAAKgxJ,SAAV,CAIA,IAEIpwJ,EAEA0lD,EACAq0E,EACAt1H,EANAihB,EAAYtmB,KAAK2zB,QAAQ47G,eAAelP,IACxCxzD,EAAM7sE,KAAK2zB,QAAQu9H,cAEnBltI,EAAMhkB,KAAKg3G,gBAAgBr2G,OAM/B,IAFAksE,EAAIW,YAEC5sE,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,GAAqC,MAAjCZ,KAAKg3G,gBAAgBp2G,GAAG6F,KAAc,CAYxC,IAAIxF,EAXAjB,KAAKg3G,gBAAgBp2G,GAAGsmI,MAC1Br6D,EAAI3V,OAAO,EAAG,GACd2V,EAAIzV,OAAOp3D,KAAK2zB,QAAQqsF,WAAW01B,SAAS/lG,EAAG,GAC/Ck9B,EAAIzV,OAAOp3D,KAAK2zB,QAAQqsF,WAAW01B,SAAS/lG,EAAG3vC,KAAK2zB,QAAQqsF,WAAW01B,SAASnqH,GAChFshD,EAAIzV,OAAO,EAAGp3D,KAAK2zB,QAAQqsF,WAAW01B,SAASnqH,GAC/CshD,EAAIzV,OAAO,EAAG,IAGhB/xD,EAAOrF,KAAKg2I,SAASp1I,GAAGugB,EACxBmlC,EAAKhgC,EAAUm0G,kBAAkBp1H,EAAK8b,EAAE,GAAG,GAAI9b,EAAK8b,EAAE,GAAG,GAAI,GAC7D0rD,EAAI3V,OAAO5Q,EAAG,GAAIA,EAAG,IAErB,IAAIqwD,EAAOtxG,EAAK6iH,QAEhB,IAAKjnH,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzB05H,EAAMr0G,EAAUu0G,oBAAoBx1H,EAAKs5B,EAAE19B,EAAI,GAAIoE,EAAKzE,EAAEK,GAAIoE,EAAK8b,EAAElgB,IACrE4rE,EAAIc,cAAcgtD,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAGhEA,EAAMr0G,EAAUu0G,oBAAoBx1H,EAAKs5B,EAAE19B,EAAI,GAAIoE,EAAKzE,EAAE,GAAIyE,EAAK8b,EAAE,IACrE0rD,EAAIc,cAAcgtD,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAChE,CAGF36H,KAAK2zB,QAAQqsF,WAAWrX,SAAS11C,MAAK,GACtC4Z,EAAI/W,MAtCJ,CAuCF,EAEAi7F,cAAc7wJ,UAAUw4I,gBAAkB5C,YAAY51I,UAAUw4I,gBAEhEqY,cAAc7wJ,UAAUyqG,QAAU,WAChC3qG,KAAK2zB,QAAU,IACjB,EAIA,IAAIw9H,cAAgB,CAClB,EAAG,YACH,EAAG,aACH,EAAG,YACH,EAAG,cA4JL,SAASC,YAAYz9H,EAAStuB,EAAMoqB,EAAQ4hI,GAC1CrxJ,KAAKsxJ,aAAe,GACpBtxJ,KAAK8uC,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAC1B,IAWIluC,EAXAmpD,EAAK,EAEO,OAAZ1kD,EAAK0kD,GACPA,EAAK,EACgB,OAAZ1kD,EAAK0kD,GACdA,EAAK,EACgB,OAAZ1kD,EAAK0kD,KACdA,EAAK,GAGP/pD,KAAKkvH,GAAKwF,qBAAqB8hB,aAAa7iH,EAAStuB,EAAM0kD,EAAIp2B,GAE/D,IACI49H,EADAvtI,EAAMyL,EAAO9uB,OAGjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACnB6uB,EAAO7uB,GAAGk4G,SACby4C,EAAc,CACZhZ,WAAY8Y,EAAkBxB,qBAAqBpgI,EAAO7uB,GAAG23I,YAC7DiZ,QAAS,IAEXxxJ,KAAKsxJ,aAAa9rJ,KAAK+rJ,GACvB9hI,EAAO7uB,GAAG6mI,SAASjiI,KAAK+rJ,GAG9B,CAIA,SAASE,eAAepsJ,EAAM26G,EAAYzI,GACxCv3G,KAAKq3G,OAAS,GACdr3G,KAAK2yI,WAAattI,EAAKgyG,OACvBr3G,KAAKwhJ,WAAa,GAClBxhJ,KAAK4yI,UAAY,GACjB5yI,KAAK6+I,aAAe,GACpB7+I,KAAKy8I,eAAiB,GACtBz8I,KAAK88I,kBAAoB,GACzB98I,KAAKqxJ,kBAAoB,IAAI3D,sBAC7B1tJ,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,EACrC,CA4hBA,SAASm6C,cAAcrsJ,EAAM26G,EAAYzI,GACvCv3G,KAAKosJ,UAAY,GACjBpsJ,KAAKu2E,QAAU,EACfv2E,KAAKwiJ,eAAgB,EACrBxiJ,KAAKyiJ,iBAAkB,EACvBziJ,KAAK0iJ,iBAAkB,EACvB1iJ,KAAKq1D,QAAS,EACdr1D,KAAKu2D,MAAO,EACZv2D,KAAKmiJ,cAAgB,EACrBniJ,KAAK2xJ,cAAgB,KACrB3xJ,KAAK0oJ,WAAa,SAClB1oJ,KAAK2hB,OAAS,CACZ40C,KAAM,gBACNlB,OAAQ,gBACRu8F,OAAQ,EACRC,OAAQ,IAEV7xJ,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,EACrC,CAsOA,SAASu6C,eAAezsJ,EAAM26G,EAAYzI,GACxCv3G,KAAKi7G,UAAY+E,EAAWuD,aAAal+G,EAAK8xG,OAC9Cn3G,KAAK4wE,IAAMovC,EAAWkxB,YAAY70B,SAASr8G,KAAKi7G,WAChDj7G,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,EACrC,CAyCA,SAASw6C,eAAe1sJ,EAAM26G,EAAYzI,GACxCv3G,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,EACrC,CAcA,SAASy6C,qBAAsB,CAmU/B,SAASC,gBACPjyJ,KAAKi4I,SAAW,EAChBj4I,KAAKsmB,UAAY6qF,iBAAiB,UAAW,IAC7CnxG,KAAKkzB,UAAY,GACjBlzB,KAAK4rE,YAAc,GACnB5rE,KAAK6xB,UAAY,GACjB7xB,KAAKisE,QAAU,GACfjsE,KAAKgsE,SAAW,GAChBhsE,KAAKssE,WAAa,GAClBtsE,KAAKi+B,GAAK75B,KAAK3D,QACjB,CAEA,SAASyxJ,gBAIP,IAAItxJ,EAGJ,IANAZ,KAAK4yD,MAAQ,GACb5yD,KAAKmyJ,QAAU,EACfnyJ,KAAKoyJ,IAAM,IAAI1nG,OAIV9pD,EAAI,EAAGA,EAFF,GAEWA,GAAK,EAAG,CAC3B,IAAIswJ,EAAgB,IAAIe,cACxBjyJ,KAAK4yD,MAAMhyD,GAAKswJ,CAClB,CAEAlxJ,KAAKkoH,QAPK,GAQVloH,KAAKqyJ,cAAgB,KACrBryJ,KAAKsyJ,aAAe,IAAI5nG,OACxB1qD,KAAKuyJ,eAAiB,EAEtBvyJ,KAAKwyJ,iBAAmB,GACxBxyJ,KAAKyyJ,iBAAmB,GAExBzyJ,KAAK0yJ,mBAAqB,GAC1B1yJ,KAAK2yJ,mBAAqB,GAE1B3yJ,KAAK4yJ,iBAAmB,GACxB5yJ,KAAK6yJ,iBAAmB,GAExB7yJ,KAAK8yJ,eAAiB,GACtB9yJ,KAAK+yJ,eAAiB,GAEtB/yJ,KAAKgzJ,gBAAkB,GACvBhzJ,KAAKizJ,gBAAkB,GAEvBjzJ,KAAKkzJ,kBAAoB,GACzBlzJ,KAAKmzJ,kBAAoB,EAC3B,CAiNA,SAASC,cAAc/tJ,EAAM26G,EAAYzI,GACvCv3G,KAAKu2G,gBAAiB,EACtBv2G,KAAKw2G,OAASnxG,EAAKmxG,OACnBx2G,KAAKq1I,gBAAkB,GACvBr1I,KAAKynI,SAAWp2B,iBAAiBrxG,KAAKw2G,OAAO71G,QAC7CX,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,GACnCv3G,KAAK09G,GAAKr4G,EAAKq4G,GAAK4U,gBAAgBC,QAAQvyH,KAAMqF,EAAKq4G,GAAI,EAAGsC,EAAWrB,UAAW3+G,MAAQ,CAC1F0xI,cAAc,EAElB,CAyCA,SAAS2hB,eAAexnD,EAAevlE,GACrCtmC,KAAK6rG,cAAgBA,EACrB7rG,KAAKyvI,aAAe,CAClB6jB,aAAahtH,QAAiCrjC,IAAvBqjC,EAAOgtH,aAA4BhtH,EAAOgtH,YACjEC,QAASjtH,GAAUA,EAAOitH,SAAW,KACrCze,gBAAiBxuG,GAAUA,EAAOwuG,kBAAmB,EACrDoY,oBAAqB5mH,GAAUA,EAAO4mH,qBAAuB,gBAC7D3Q,yBAA0Bj2G,GAAUA,EAAOi2G,0BAA4B,iBACvE4Q,kBAAmB7mH,GAAUA,EAAO6mH,mBAAqB,UACzD98E,UAAW/pC,GAAUA,EAAO+pC,WAAa,GACzCpyC,GAAIqI,GAAUA,EAAOrI,IAAM,GAC3BuvH,gBAAiBlnH,QAAoCrjC,IAA1BqjC,EAAOknH,gBAAgClnH,EAAOknH,gBAE3ExtJ,KAAKyvI,aAAa+jB,IAAMltH,GAAUA,EAAOktH,KAAO,EAE5CxzJ,KAAK6rG,cAAca,UACrB1sG,KAAKyvI,aAAa+jB,IAAMltH,GAAUA,EAAOktH,KAAO7tI,OAAO8tI,kBAAoB,GAG7EzzJ,KAAK6wH,eAAiB,EACtB7wH,KAAKggH,WAAa,CAChBqN,UAAW,EACX+D,MAAM,EACNqe,aAAczvI,KAAKyvI,aACnBikB,oBAAqB,GAEvB1zJ,KAAK2zJ,YAAc,IAAIzB,cACvBlyJ,KAAKynI,SAAW,GAChBznI,KAAKq1I,gBAAkB,GACvBr1I,KAAKsyJ,aAAe,IAAI5nG,OACxB1qD,KAAKu2G,gBAAiB,EACtBv2G,KAAK8hH,aAAe,SAEhB9hH,KAAKyvI,aAAa6jB,cACpBtzJ,KAAK4zJ,aAAe5zJ,KAAK2zJ,YAAYrtI,UAAUs3B,KAAK59C,KAAK2zJ,aACzD3zJ,KAAK6zJ,WAAa7zJ,KAAK2zJ,YAAY1b,QAAQr6F,KAAK59C,KAAK2zJ,aACrD3zJ,KAAK8zJ,aAAe9zJ,KAAK2zJ,YAAYzgI,UAAU0qB,KAAK59C,KAAK2zJ,aACzD3zJ,KAAK+zJ,eAAiB/zJ,KAAK2zJ,YAAY/nF,YAAYhuB,KAAK59C,KAAK2zJ,aAC7D3zJ,KAAKg0J,aAAeh0J,KAAK2zJ,YAAY9hI,UAAU+rB,KAAK59C,KAAK2zJ,aACzD3zJ,KAAKi0J,WAAaj0J,KAAK2zJ,YAAY1nF,QAAQruB,KAAK59C,KAAK2zJ,aACrD3zJ,KAAKk0J,YAAcl0J,KAAK2zJ,YAAY3nF,SAASpuB,KAAK59C,KAAK2zJ,aACvD3zJ,KAAKm0J,cAAgBn0J,KAAK2zJ,YAAYrnF,WAAW1uB,KAAK59C,KAAK2zJ,aAC3D3zJ,KAAKo0J,QAAUp0J,KAAK2zJ,YAAYp9F,KAAK3Y,KAAK59C,KAAK2zJ,aAC/C3zJ,KAAKq0J,YAAcr0J,KAAK2zJ,YAAYxlF,SAASvwB,KAAK59C,KAAK2zJ,aACvD3zJ,KAAKs0J,UAAYt0J,KAAK2zJ,YAAYt+F,OAAOzX,KAAK59C,KAAK2zJ,aACnD3zJ,KAAKizD,KAAOjzD,KAAK2zJ,YAAY1gG,KAAKrV,KAAK59C,KAAK2zJ,aAEhD,CAQA,SAASY,eAAgB,CAwFzB,SAASC,cAAcnvJ,EAAM26G,EAAYzI,GACvCv3G,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,EACrC,CAwBA,SAASk9C,cAAcpvJ,EAAM26G,EAAYzI,GAEvCv3G,KAAKq3G,OAAS,GAEdr3G,KAAK2yI,WAAattI,EAAKgyG,OAEvBr3G,KAAKwhJ,WAAa,GAElBxhJ,KAAKy8I,eAAiB,GAEtBz8I,KAAK4yI,UAAY,GAEjB5yI,KAAK88I,kBAAoB,GAEzB98I,KAAKyhJ,iBAAmB,GACxBzhJ,KAAK00J,gBAAkBn/C,SAAS,KAChCv1G,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,GAGnCv3G,KAAK6+I,aAAe,GACpB7+I,KAAK20J,YAAc,CACjBjnJ,EAAG,OACHC,GAAI,OACJ4d,EAAG,EACHokB,EAAG,EAEP,CA+NA,SAASilH,aAAavvJ,EAAM26G,EAAYzI,GACtCv3G,KAAKosJ,UAAY,GACjBpsJ,KAAK60J,UAAY,GACjB70J,KAAK20J,YAAc,CACjBjnJ,EAAG,OACHC,GAAI,OACJ4d,EAAG,EACHokB,EAAG,GAEL3vC,KAAK0oJ,WAAa,MAClB1oJ,KAAK80J,UAAW,EAChB90J,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,EACrC,CA0RA,SAASw9C,eAAe1vJ,EAAM26G,EAAYzI,GACxCv3G,KAAKktH,YACLltH,KAAKmxI,aAAa9rI,EAAM26G,EAAYzI,GACpCv3G,KAAKk8I,gBACL,IAAI3pB,EAAUD,gBAAgBC,QAe9B,GAdAvyH,KAAK8vD,GAAKyiE,EAAQvyH,KAAMqF,EAAKyqD,GAAI,EAAG,EAAG9vD,MAEnCqF,EAAKgtF,GAAGh0E,EAAE4C,GACZjhB,KAAKk0E,GAAKq+C,EAAQvyH,KAAMqF,EAAKgtF,GAAGh0E,EAAE3Q,EAAG,EAAG,EAAG1N,MAC3CA,KAAK8/H,GAAKvN,EAAQvyH,KAAMqF,EAAKgtF,GAAGh0E,EAAE1Q,EAAG,EAAG,EAAG3N,MAC3CA,KAAK+/H,GAAKxN,EAAQvyH,KAAMqF,EAAKgtF,GAAGh0E,EAAEyzB,EAAG,EAAG,EAAG9xC,OAE3CA,KAAKqe,EAAIk0G,EAAQvyH,KAAMqF,EAAKgtF,GAAGh0E,EAAG,EAAG,EAAGre,MAGtCqF,EAAKgtF,GAAG9uE,IACVvjB,KAAKujB,EAAIgvG,EAAQvyH,KAAMqF,EAAKgtF,GAAG9uE,EAAG,EAAG,EAAGvjB,OAGtCqF,EAAKgtF,GAAGt7B,GAAG51D,EAAER,QAAU0E,EAAKgtF,GAAGt7B,GAAG51D,EAAE,GAAG8/B,GAAI,CAC7C,IAAIrgC,EACAojB,EAAM3e,EAAKgtF,GAAGt7B,GAAG51D,EAAER,OAEvB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxByE,EAAKgtF,GAAGt7B,GAAG51D,EAAEP,GAAGqgC,GAAK,KACrB57B,EAAKgtF,GAAGt7B,GAAG51D,EAAEP,GAAGuyC,GAAK,IAEzB,CAEAnzC,KAAK+2D,GAAKw7D,EAAQvyH,KAAMqF,EAAKgtF,GAAGt7B,GAAI,EAAGy7C,UAAWxyG,MAClDA,KAAK+2D,GAAGm4D,IAAK,EACblvH,KAAKggI,GAAKzN,EAAQvyH,KAAMqF,EAAKgtF,GAAG2tC,GAAI,EAAGxtB,UAAWxyG,MAClDA,KAAKigI,GAAK1N,EAAQvyH,KAAMqF,EAAKgtF,GAAG4tC,GAAI,EAAGztB,UAAWxyG,MAClDA,KAAKkgI,GAAK3N,EAAQvyH,KAAMqF,EAAKgtF,GAAG6tC,GAAI,EAAG1tB,UAAWxyG,MAClDA,KAAKqgI,IAAM,IAAI31E,OACf1qD,KAAKg1J,SAAW,IAAItqG,OACpB1qD,KAAKyxH,eAAgB,EAErBzxH,KAAKuvI,eAAiB,CACpBC,MAAOxvI,KAEX,CAyIA,SAASi1J,cAAc5vJ,EAAM26G,EAAYzI,GACvCv3G,KAAKi7G,UAAY+E,EAAWuD,aAAal+G,EAAK8xG,OAC9Cn3G,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,EACrC,CA4BA,SAAS29C,mBAAmBrpD,EAAevlE,GACzCtmC,KAAK6rG,cAAgBA,EACrB7rG,KAAKw2G,OAAS,KACdx2G,KAAK6wH,eAAiB,EACtB7wH,KAAKyvI,aAAe,CAClBp/D,UAAW/pC,GAAUA,EAAO+pC,WAAa,GACzCksE,yBAA0Bj2G,GAAUA,EAAOi2G,0BAA4B,iBACvE7M,oBAAqBppG,IAAuC,IAA7BA,EAAOopG,mBACtC6d,WAAY,CACV/kJ,MAAO89B,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAW/kJ,OAAS,OACjE4M,OAAQkxB,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAWn4I,QAAU,OACnE1H,EAAG44B,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAW7/I,GAAK,QACzDC,EAAG24B,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAW5/I,GAAK,UAG7D3N,KAAKggH,WAAa,CAChBoR,MAAM,EACN/D,UAAW,EACXoiB,aAAczvI,KAAKyvI,cAErBzvI,KAAKq1I,gBAAkB,GACvBr1I,KAAKynI,SAAW,GAChBznI,KAAKm1J,eAAiB,GACtBn1J,KAAKytJ,WAAY,EACjBztJ,KAAKo1J,OAAS,KACdp1J,KAAK0sJ,YAAa,EAClB1sJ,KAAK8hH,aAAe,MACtB,CAyUA,SAASuzC,aAAahwJ,EAAM26G,EAAYzI,GACtCv3G,KAAKw2G,OAASnxG,EAAKmxG,OACnBx2G,KAAK0sJ,YAAcrnJ,EAAKyxG,QACxB92G,KAAKu2G,gBAAiB,EACtBv2G,KAAKq1I,gBAAkB,GACvBr1I,KAAKynI,SAAWznI,KAAKw2G,OAASnF,iBAAiBrxG,KAAKw2G,OAAO71G,QAAU,GACrEX,KAAKq6I,YAAYh1I,EAAM26G,EAAYzI,GACnCv3G,KAAK09G,GAAKr4G,EAAKq4G,GAAK4U,gBAAgBC,QAAQvyH,KAAMqF,EAAKq4G,GAAI,EAAGsC,EAAWrB,UAAW3+G,MAAQ,CAC1F0xI,cAAc,EAElB,CA6CA,SAAS4jB,eAAezpD,EAAevlE,GACrCtmC,KAAK6rG,cAAgBA,EACrB7rG,KAAKw2G,OAAS,KACdx2G,KAAK6wH,eAAiB,EACtB7wH,KAAKyvI,aAAe,CAClBp/D,UAAW/pC,GAAUA,EAAO+pC,WAAa,GACzCksE,yBAA0Bj2G,GAAUA,EAAOi2G,0BAA4B,iBACvE7M,oBAAqBppG,IAAuC,IAA7BA,EAAOopG,mBACtC6d,WAAY,CACV/kJ,MAAO89B,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAW/kJ,OAAS,OACjE4M,OAAQkxB,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAWn4I,QAAU,OACnE1H,EAAG44B,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAW7/I,GAAK,QACzDC,EAAG24B,GAAUA,EAAOinH,YAAcjnH,EAAOinH,WAAW5/I,GAAK,SAE3D6/I,gBAAiBlnH,QAAoCrjC,IAA1BqjC,EAAOknH,gBAAgClnH,EAAOknH,gBAE3ExtJ,KAAKggH,WAAa,CAChBoR,MAAM,EACN/D,UAAW,EACXoiB,aAAczvI,KAAKyvI,cAErBzvI,KAAKq1I,gBAAkB,GACvBr1I,KAAKynI,SAAW,GAChBznI,KAAKm1J,eAAiB,GACtBn1J,KAAKytJ,WAAY,EACjBztJ,KAAKo1J,OAAS,KACdp1J,KAAK0sJ,YAAa,EAClB1sJ,KAAK8hH,aAAe,MACtB,CAz9FAmvC,cAAc/wJ,UAAY,CACxBq1J,eAAgB,WAA2B,EAC3C9a,oBAAqB,WAAgC,EACrDC,wBAAyB,WAMvB,GAAI16I,KAAKqF,KAAKogD,IAAM,EAAG,CACrBzlD,KAAKw1J,QAAU,GACf,IAAItE,EAAgBlxJ,KAAKggH,WAAWkxC,cAChCuE,EAAet8C,YAAYs3C,aAAaS,EAAc/nF,OAAO3gE,MAAO0oJ,EAAc/nF,OAAO/zD,QAC7FpV,KAAKw1J,QAAQhwJ,KAAKiwJ,GAClB,IAAIC,EAAgBv8C,YAAYs3C,aAAaS,EAAc/nF,OAAO3gE,MAAO0oJ,EAAc/nF,OAAO/zD,QAC9FpV,KAAKw1J,QAAQhwJ,KAAKkwJ,GAEd11J,KAAKqF,KAAKogD,IAAM,IAAM7/B,SAAS+vI,UACjCx8C,YAAYu3C,gBAEhB,CAEA1wJ,KAAKkxJ,cAAgBlxJ,KAAKggH,WAAWkxC,cACrClxJ,KAAK41J,gBAAkB51J,KAAKggH,WAAW41C,gBACvC51J,KAAKm4I,yBAA2B,IAAI0Y,UAAU7wJ,MAC9CA,KAAKk4I,wBACP,EACAkE,cAAe,WAA0B,EACzCtJ,aAAc,WACZ,IAAI9yB,EAAahgH,KAAKggH,WAEtB,GAAIA,EAAW61C,YAAc71J,KAAKqF,KAAK2tI,GAAI,CACzChzB,EAAW61C,UAAY71J,KAAKqF,KAAK2tI,GACjC,IAAID,EAAiBhD,aAAa/vI,KAAKqF,KAAK2tI,IAC5ChzB,EAAWkxC,cAAchlF,yBAA2B6mE,CACtD,CACF,EACAuI,2BAA4B,WAC1Bt7I,KAAKqyI,YAAc,IAAI0e,cAAc/wJ,KAAKqF,KAAMrF,MAChDA,KAAKo4I,iBAAmBp4I,KAAKm4I,yBAAyBE,WAAW1C,YAAYC,iBAC/E,EACAkgB,YAAa,WACN91J,KAAK09B,QAAY19B,KAAK8uI,YAAa9uI,KAAK+uI,gBAC3C/uI,KAAK09B,QAAS,EAElB,EACAq4H,YAAa,WACP/1J,KAAK8uI,YAAc9uI,KAAK+uI,gBAC1B/uI,KAAK09B,QAAS,EACd19B,KAAKyxH,eAAgB,EACrBzxH,KAAKqyI,YAAY5gB,eAAgB,EAErC,EACA6hC,YAAa,SAAqBpC,GAChCA,EAAc7iF,UAAUruE,KAAK41J,gBAAgB9rG,GAAI9pD,KAAK41J,gBAAgB7rG,GAAI/pD,KAAK41J,gBAAgBjmH,EAAI3vC,KAAK41J,gBAAgBlsG,GAAI1pD,KAAK41J,gBAAgBrqI,EAAIvrB,KAAK41J,gBAAgBhsG,GAC5K,EACAosG,aAAc,WACZ,GAAIh2J,KAAKqF,KAAKogD,IAAM,EAAG,CACrB,IACIwwG,EADSj2J,KAAKw1J,QAAQ,GACH7sF,WAAW,MAClC3oE,KAAKszJ,YAAY2C,GAEjBA,EAAUnnF,UAAU9uE,KAAKkxJ,cAAc/nF,OAAQ,EAAG,GAGlDnpE,KAAKikJ,iBAAmBjkJ,KAAKkxJ,cAAcgF,eAC3Cl2J,KAAKkxJ,cAAcriF,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/C7uE,KAAKszJ,YAAYtzJ,KAAKkxJ,eACtBlxJ,KAAKkxJ,cAAcriF,aAAa7uE,KAAKikJ,iBACvC,CACF,EACAkS,UAAW,WACT,GAAIn2J,KAAKqF,KAAKogD,IAAM,EAAG,CACrB,IAAI5+C,EAAS7G,KAAKw1J,QAAQ,GAItBS,EAAYpvJ,EAAO8hE,WAAW,MAclC,GAbA3oE,KAAKszJ,YAAY2C,GACjBA,EAAUnnF,UAAU9uE,KAAKkxJ,cAAc/nF,OAAQ,EAAG,GAElDnpE,KAAKkxJ,cAAcriF,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/C7uE,KAAKszJ,YAAYtzJ,KAAKkxJ,eACtBlxJ,KAAKkxJ,cAAcriF,aAAa7uE,KAAKikJ,kBAE1BjkJ,KAAKu3G,KAAK+9B,eAAe,OAAQt1I,KAAKqF,KAAOrF,KAAKqF,KAAKiqJ,GAAKtvJ,KAAKqF,KAAKumC,IAAM,GAClF2rC,aAAY,GAEjBv3E,KAAKkxJ,cAAcriF,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAG3C7uE,KAAKqF,KAAKogD,IAAM,IAAM7/B,SAAS+vI,SAAU,CAG3C,IAAIxF,EAAah3C,YAAYw3C,cAAc3wJ,KAAKkxJ,cAAc/nF,QAC1CgnF,EAAWxnF,WAAW,MAC5BmG,UAAU9uE,KAAKkxJ,cAAc/nF,OAAQ,EAAG,GACtDnpE,KAAKszJ,YAAYtzJ,KAAKkxJ,eAEtBlxJ,KAAKkxJ,cAAcpiF,UAAUqhF,EAAY,EAAG,EAC9C,CAEAnwJ,KAAKkxJ,cAAchlF,yBAA2BilF,cAAcnxJ,KAAKqF,KAAKogD,IACtEzlD,KAAKkxJ,cAAcpiF,UAAUjoE,EAAQ,EAAG,GAGxC7G,KAAKkxJ,cAAchlF,yBAA2B,mBAC9ClsE,KAAKkxJ,cAAcpiF,UAAU9uE,KAAKw1J,QAAQ,GAAI,EAAG,GACjDx1J,KAAKkxJ,cAAcriF,aAAa7uE,KAAKikJ,kBAErCjkJ,KAAKkxJ,cAAchlF,yBAA2B,aAChD,CACF,EACAqL,YAAa,SAAqB+oD,GAChC,IAAItgI,KAAK09B,SAAU19B,KAAKqF,KAAKk1E,KAIR,IAAjBv6E,KAAKqF,KAAK6uC,IAAaosF,GAA3B,CAIAtgI,KAAK23I,kBACL33I,KAAK2vI,mBACL3vI,KAAK63I,uBACL73I,KAAK8yI,eACL,IAAIsjB,EAAkC,IAAjBp2J,KAAKqF,KAAK0kD,GAC/B/pD,KAAKg2J,eACLh2J,KAAKggH,WAAWrX,SAAS11C,KAAKmjG,GAC9Bp2J,KAAKggH,WAAWrX,SAASirD,aAAa5zJ,KAAKuvI,eAAeiI,SAAS7vC,OACnE3nG,KAAKggH,WAAWrX,SAASkrD,WAAW7zJ,KAAKuvI,eAAekI,cACxDz3I,KAAKq8I,qBACLr8I,KAAKggH,WAAWrX,SAASn9C,QAAQ4qG,GACjCp2J,KAAKm2J,YAEDn2J,KAAKqyI,YAAY2e,UACnBhxJ,KAAKggH,WAAWrX,SAASn9C,SAAQ,GAG/BxrD,KAAKyxH,gBACPzxH,KAAKyxH,eAAgB,EApBvB,CAsBF,EACA9mB,QAAS,WACP3qG,KAAKkxJ,cAAgB,KACrBlxJ,KAAKqF,KAAO,KACZrF,KAAKggH,WAAa,KAClBhgH,KAAKqyI,YAAY1nC,SACnB,EACA8tC,QAAS,IAAI/tF,QAEfumG,cAAc/wJ,UAAUsjH,KAAOytC,cAAc/wJ,UAAU41J,YACvD7E,cAAc/wJ,UAAUujH,KAAOwtC,cAAc/wJ,UAAU61J,YAgCvD3E,YAAYlxJ,UAAUs9H,cAAgB0f,aAAah9I,UAAUs9H,cAc7DtuB,gBAAgB,CAAC6hC,YAAa8E,iBAAkBob,cAAezW,cAAeN,iBAAkBlJ,aAAcrC,mBAAoB8iB,gBAClIA,eAAevxJ,UAAUm6I,YAAcF,qBAAqBj6I,UAAUm6I,YACtEoX,eAAevxJ,UAAUm2J,gBAAkB,CACzCpe,QAAS,EACTV,QAAQ,GAEVka,eAAevxJ,UAAUo2J,aAAe,GAExC7E,eAAevxJ,UAAUk8I,cAAgB,WACvCp8I,KAAKmjJ,aAAanjJ,KAAK2yI,WAAY3yI,KAAK4yI,UAAW5yI,KAAK6+I,cAAc,EAAM,GAC9E,EAEA4S,eAAevxJ,UAAUsjJ,mBAAqB,SAAUn+I,EAAMkzI,GAC5D,IAAIqI,EAAY,CACdv7I,KAAMA,EACN/B,KAAM+B,EAAK0kD,GACXwsG,cAAev2J,KAAKqxJ,kBAAkBxB,qBAAqBtX,GAC3DA,WAAY,GACZ9Q,SAAU,GACV3uB,QAAoB,IAAZzzG,EAAKk1E,IAEXkpE,EAAc,CAAC,EAsBnB,GApBgB,OAAZp+I,EAAK0kD,IAA2B,OAAZ1kD,EAAK0kD,IAC3B05F,EAAYthJ,EAAImwH,gBAAgBC,QAAQvyH,KAAMqF,EAAKlD,EAAG,EAAG,IAAKnC,MAEzDyjJ,EAAYthJ,EAAEhB,IACjBy/I,EAAUh2G,GAAK,OAASonE,QAAQyxC,EAAYthJ,EAAEgf,EAAE,IAAM,IAAM6wF,QAAQyxC,EAAYthJ,EAAEgf,EAAE,IAAM,IAAM6wF,QAAQyxC,EAAYthJ,EAAEgf,EAAE,IAAM,MAE3G,OAAZ9b,EAAK0kD,IAA2B,OAAZ1kD,EAAK0kD,KAClC05F,EAAYxiI,EAAIqxG,gBAAgBC,QAAQvyH,KAAMqF,EAAK4b,EAAG,EAAG,KAAMjhB,MAC/DyjJ,EAAY74H,EAAI0nG,gBAAgBC,QAAQvyH,KAAMqF,EAAKulB,EAAG,EAAG,KAAM5qB,MAC/DyjJ,EAAYl4H,EAAI+mG,gBAAgBC,QAAQvyH,KAAMqF,EAAKkmB,GAAK,CACtDpqB,EAAG,GACF,EAAG,IAAMnB,MACZyjJ,EAAYlgI,EAAI+uG,gBAAgBC,QAAQvyH,KAAMqF,EAAKke,GAAK,CACtDpiB,EAAG,GACF,EAAGqxG,UAAWxyG,MACjByjJ,EAAYtyI,EAAI,IAAI+sI,iBAAiBl+I,KAAMqF,EAAK8L,EAAGnR,OAGrDyjJ,EAAY9kH,EAAI2zF,gBAAgBC,QAAQvyH,KAAMqF,EAAKs5B,EAAG,EAAG,IAAM3+B,MAE/C,OAAZqF,EAAK0kD,IAA2B,OAAZ1kD,EAAK0kD,IAe3B,GAdA62F,EAAUtxG,GAAK0tG,YAAY33I,EAAKiqC,IAAM,GACtCsxG,EAAU3W,GAAKgT,aAAa53I,EAAK4kI,IAAM,GAExB,GAAX5kI,EAAK4kI,KAEP2W,EAAU7tG,GAAK1tC,EAAK0tC,IAGtB0wG,EAAY9zG,EAAI2iF,gBAAgBC,QAAQvyH,KAAMqF,EAAKsqC,EAAG,EAAG,KAAM3vC,MAE1DyjJ,EAAY9zG,EAAExuC,IACjBy/I,EAAUtuG,GAAKmxG,EAAY9zG,EAAExuB,GAG3B9b,EAAKse,EAAG,CACV,IAAIA,EAAI,IAAI85H,aAAaz9I,KAAMqF,EAAKse,EAAG,SAAU3jB,MACjDyjJ,EAAY9/H,EAAIA,EAEX8/H,EAAY9/H,EAAExiB,IACjBy/I,EAAU3kE,GAAKwnE,EAAY9/H,EAAEi6H,UAC7BgD,EAAc,GAAI6C,EAAY9/H,EAAEk6H,WAAW,GAE/C,OAEA+C,EAAUvvI,EAAe,IAAXhM,EAAKgM,EAAU,UAAY,UAK3C,OAFArR,KAAKwhJ,WAAWh8I,KAAKo7I,GACrB6C,EAAYpuH,MAAQurH,EACb6C,CACT,EAEAgO,eAAevxJ,UAAUyjJ,mBAAqB,WAK5C,MAJkB,CAChB/jI,GAAI,GACJi/H,aAAc,GAGlB,EAEA4S,eAAevxJ,UAAU0jJ,uBAAyB,SAAUv+I,GAU1D,MATkB,CAChBihB,UAAW,CACT2xH,QAAS,EACTV,QAAQ,EACR/pI,IAAKxN,KAAKqxJ,kBAAkBpB,YAC5Bz4F,GAAI86D,gBAAgBC,QAAQvyH,KAAMqF,EAAKs5B,EAAG,EAAG,IAAM3+B,MACnDgpI,OAAQtJ,yBAAyBmB,qBAAqB7gI,KAAMqF,EAAMrF,OAIxE,EAEAyxJ,eAAevxJ,UAAU4jJ,mBAAqB,SAAUz+I,GACtD,IAAIo+I,EAAc,IAAI2N,YAAYpxJ,KAAMqF,EAAMrF,KAAKwhJ,WAAYxhJ,KAAKqxJ,mBAGpE,OAFArxJ,KAAKq3G,OAAO7xG,KAAKi+I,GACjBzjJ,KAAKw8I,oBAAoBiH,GAClBA,CACT,EAEAgO,eAAevxJ,UAAUqoI,aAAe,WAEtC,IAAI3nI,EADJZ,KAAKyxH,eAAgB,EAErB,IAAIztG,EAAMhkB,KAAK4yI,UAAUjyI,OAEzB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK6+I,aAAaj+I,GAAKZ,KAAK4yI,UAAUhyI,GAMxC,IAHAZ,KAAKmjJ,aAAanjJ,KAAK2yI,WAAY3yI,KAAK4yI,UAAW5yI,KAAK6+I,cAAc,EAAM,IAC5E76H,EAAMhkB,KAAK2yH,kBAAkBhyH,OAExBC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK2yH,kBAAkB/xH,GAAGqxH,WAG5BjyH,KAAK48I,kBACL58I,KAAKqxJ,kBAAkBrB,iBAAiBhwJ,KAAKyxH,cAC/C,EAEAggC,eAAevxJ,UAAUs2J,wBAA0B,SAAUlwI,GAC3D,IAAI1lB,EACAojB,EAAMhkB,KAAKwhJ,WAAW7gJ,OAE1B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACnBZ,KAAKwhJ,WAAW5gJ,GAAGk4G,QACtB94G,KAAKwhJ,WAAW5gJ,GAAG23I,WAAW/yI,KAAK8gB,EAGzC,EAEAmrI,eAAevxJ,UAAUu2J,6BAA+B,WACtD,IAAI71J,EACAojB,EAAMhkB,KAAKwhJ,WAAW7gJ,OAE1B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACnBZ,KAAKwhJ,WAAW5gJ,GAAGk4G,QACtB94G,KAAKwhJ,WAAW5gJ,GAAG23I,WAAWhtF,KAGpC,EAEAkmG,eAAevxJ,UAAUw2J,YAAc,SAAUjnI,GAC/C,IAAI7uB,EACAojB,EAAMyL,EAAO9uB,OAEjB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB6uB,EAAO7uB,GAAGk4G,QAAS,CAEvB,EAEA24C,eAAevxJ,UAAUijJ,aAAe,SAAUz7I,EAAKkrI,EAAWiM,EAAc8X,EAAcpe,GAC5F,IAAI33I,EAEAK,EACA01G,EAGAwtC,EACAD,EACAD,EAPAjgI,EAAMtc,EAAI/G,OAAS,EAGnByjJ,EAAY,GACZC,EAAe,GAIfuS,EAAgB,GAAG1pJ,OAAOqrI,GAE9B,IAAK33I,EAAIojB,EAAKpjB,GAAK,EAAGA,GAAK,EAAG,CAS5B,IARAujJ,EAAenkJ,KAAK68I,uBAAuBn1I,EAAI9G,KAK7CgyI,EAAUhyI,GAAKi+I,EAAasF,EAAe,GAF3Cz8I,EAAI9G,GAAGi2J,cAAgBF,EAKP,OAAdjvJ,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,GACtEo6F,EAGHvR,EAAUhyI,GAAGy0B,MAAMyjF,QAAS,EAF5B85B,EAAUhyI,GAAKZ,KAAKwjJ,mBAAmB97I,EAAI9G,GAAIg2J,GAKjDxS,EAAU5+I,KAAKotI,EAAUhyI,GAAGy0B,YACvB,GAAkB,OAAd3tB,EAAI9G,GAAGmpD,GAAa,CAC7B,GAAKo6F,EAKH,IAFAxtC,EAAOi8B,EAAUhyI,GAAGgf,GAAGjf,OAElBM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzB2xI,EAAUhyI,GAAGi+I,aAAa59I,GAAK2xI,EAAUhyI,GAAGgf,GAAG3e,QALjD2xI,EAAUhyI,GAAKZ,KAAK2jJ,mBAAmBj8I,EAAI9G,IAS7CZ,KAAKmjJ,aAAaz7I,EAAI9G,GAAGgf,GAAIgzH,EAAUhyI,GAAGgf,GAAIgzH,EAAUhyI,GAAGi+I,aAAc8X,EAAcC,EACzF,KAAyB,OAAdlvJ,EAAI9G,GAAGmpD,IACXo6F,IACHF,EAAmBjkJ,KAAK4jJ,uBAAuBl8I,EAAI9G,IACnDgyI,EAAUhyI,GAAKqjJ,GAGjB2S,EAAcpxJ,KAAKotI,EAAUhyI,IAC7BZ,KAAKw2J,wBAAwB5jB,EAAUhyI,KAChB,OAAd8G,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,GAC7Eo6F,IACHvR,EAAUhyI,GAAKZ,KAAK8jJ,mBAAmBp8I,EAAI9G,KAEtB,OAAd8G,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IAA6B,OAAdriD,EAAI9G,GAAGmpD,IACnGo6F,GAMHD,EAAWtR,EAAUhyI,IACZk4G,QAAS,IANlBorC,EAAWnnB,eAAeG,YAAYx1H,EAAI9G,GAAGmpD,KACpCm5D,KAAKljH,KAAM0H,EAAI9G,IACxBgyI,EAAUhyI,GAAKsjJ,EACflkJ,KAAKy8I,eAAej3I,KAAK0+I,IAM3BG,EAAa7+I,KAAK0+I,IACK,OAAdx8I,EAAI9G,GAAGmpD,KACXo6F,GAOHD,EAAWtR,EAAUhyI,IACZk4G,QAAS,GAPlBorC,EAAWnnB,eAAeG,YAAYx1H,EAAI9G,GAAGmpD,IAC7C6oF,EAAUhyI,GAAKsjJ,EACfA,EAAShhC,KAAKljH,KAAM0H,EAAK9G,EAAGgyI,GAC5B5yI,KAAKy8I,eAAej3I,KAAK0+I,GACzByS,GAAe,GAMjBtS,EAAa7+I,KAAK0+I,IAGpBlkJ,KAAK+8I,oBAAoBr1I,EAAI9G,GAAIA,EAAI,EACvC,CAMA,IAJAZ,KAAKy2J,+BACLz2J,KAAK02J,YAAYtS,GACjBpgI,EAAMqgI,EAAa1jJ,OAEdC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxByjJ,EAAazjJ,GAAGk4G,QAAS,CAE7B,EAEA24C,eAAevxJ,UAAUm8I,mBAAqB,WAC5Cr8I,KAAKq2J,gBAAgBpe,QAAU,EAC/Bj4I,KAAKq2J,gBAAgB9e,QAAS,EAC9Bv3I,KAAK48I,kBACL58I,KAAKqxJ,kBAAkBrB,iBAAiBhwJ,KAAKyxH,eAC7CzxH,KAAKskJ,YAAYtkJ,KAAKq2J,gBAAiBr2J,KAAK2yI,WAAY3yI,KAAK4yI,WAAW,EAC1E,EAEA6e,eAAevxJ,UAAU42J,qBAAuB,SAAUC,EAAiBC,IACrED,EAAgBxf,QAAUyf,EAAex/F,GAAG45D,MAAQpxH,KAAKyxH,iBAC3DulC,EAAe/e,QAAU8e,EAAgB9e,QACzC+e,EAAe/e,SAAW+e,EAAex/F,GAAGr2C,EAC5C61I,EAAezf,QAAS,EAE5B,EAEAka,eAAevxJ,UAAU+2J,UAAY,WACnC,IAAIr2J,EAEAK,EACA01G,EACAx1G,EACAy1G,EACA4xB,EACA0uB,EAGA5zJ,EACA6zJ,EAVAnzI,EAAMhkB,KAAKwhJ,WAAW7gJ,OAOtBgoG,EAAW3oG,KAAKggH,WAAWrX,SAC3B97B,EAAM7sE,KAAKggH,WAAWkxC,cAI1B,IAAKtwJ,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAQxB,IAAgB,QANhB0C,GADA6zJ,EAAen3J,KAAKwhJ,WAAW5gJ,IACX0C,OAMa,OAATA,GAAsC,IAApB6zJ,EAAa7kH,KAAa6kH,EAAa9xJ,KAAKwxJ,eAAuC,IAAtBM,EAAaC,MAAqD,IAAvCp3J,KAAKggH,WAAW0zC,mBAA2B,CA2B3K,IA1BA/qD,EAAS11C,OACTu1E,EAAQ2uB,EAAa1vB,SAER,OAATnkI,GAA0B,OAATA,GACnBqlG,EAASorD,eAAwB,OAATzwJ,EAAgB6zJ,EAAavsH,GAAKusH,EAAaE,KAEvE1uD,EAASqrD,aAAamD,EAAa7kH,IAEnCq2D,EAASsrD,WAAWkD,EAAa7nH,IAEjCq5D,EAASurD,YAAYiD,EAAaltB,IAElCthC,EAASwrD,cAAcgD,EAAapkH,IAAM,IAE1C41D,EAASmrD,aAAsB,OAATxwJ,EAAgB6zJ,EAAavsH,GAAKusH,EAAaE,KAGvE1uD,EAASkrD,WAAWsD,EAAaC,MAEpB,OAAT9zJ,GAA0B,OAATA,GACnBupE,EAAIW,YAGNm7B,EAASirD,aAAauD,EAAaZ,cAAchnB,eAAe5nC,OAChEgP,EAAO6xB,EAAM7nI,OAERM,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EAAG,CAa5B,IAZa,OAATqC,GAA0B,OAATA,IACnBupE,EAAIW,YAEA2pF,EAAal7E,KACfpP,EAAI5U,YAAYk/F,EAAal7E,IAC7BpP,EAAIL,eAAiB2qF,EAAiB,KAK1CvgD,GADAsgD,EAAQ1uB,EAAMvnI,GAAGuwJ,SACJ7wJ,OAERQ,EAAI,EAAGA,EAAIy1G,EAAMz1G,GAAK,EACN,MAAf+1J,EAAM/1J,GAAGsiB,EACXopD,EAAI3V,OAAOggG,EAAM/1J,GAAGkd,EAAE,GAAI64I,EAAM/1J,GAAGkd,EAAE,IACb,MAAf64I,EAAM/1J,GAAGsiB,EAClBopD,EAAIc,cAAcupF,EAAM/1J,GAAGw5H,IAAI,GAAIu8B,EAAM/1J,GAAGw5H,IAAI,GAAIu8B,EAAM/1J,GAAGw5H,IAAI,GAAIu8B,EAAM/1J,GAAGw5H,IAAI,GAAIu8B,EAAM/1J,GAAGw5H,IAAI,GAAIu8B,EAAM/1J,GAAGw5H,IAAI,IAEpH9tD,EAAIY,YAIK,OAATnqE,GAA0B,OAATA,IAEnBqlG,EAAS2rD,YAEL6C,EAAal7E,IACfpP,EAAI5U,YAAYj4D,KAAKs2J,cAG3B,CAEa,OAAThzJ,GAA0B,OAATA,GAEnBtD,KAAKggH,WAAWrX,SAASyrD,QAAQ+C,EAAa9lJ,GAGhDs3F,EAASn9C,SACX,CAEJ,EAEAimG,eAAevxJ,UAAUokJ,YAAc,SAAUyS,EAAiB/uB,EAAO3iI,EAAMiyJ,GAC7E,IAAI12J,EAEAo2J,EAGJ,IAFAA,EAAiBD,EAEZn2J,EAJKonI,EAAMrnI,OAAS,EAIXC,GAAK,EAAGA,GAAK,EACL,OAAhBonI,EAAMpnI,GAAGmpD,IACXitG,EAAiB3xJ,EAAKzE,GAAG0lB,UACzBtmB,KAAK82J,qBAAqBC,EAAiBC,IAClB,OAAhBhvB,EAAMpnI,GAAGmpD,IAA+B,OAAhBi+E,EAAMpnI,GAAGmpD,IAA+B,OAAhBi+E,EAAMpnI,GAAGmpD,IAA+B,OAAhBi+E,EAAMpnI,GAAGmpD,GAC1F/pD,KAAKsgJ,WAAWtY,EAAMpnI,GAAIyE,EAAKzE,IACN,OAAhBonI,EAAMpnI,GAAGmpD,GAClB/pD,KAAK2gJ,WAAW3Y,EAAMpnI,GAAIyE,EAAKzE,GAAIo2J,GACV,OAAhBhvB,EAAMpnI,GAAGmpD,GAClB/pD,KAAK+gJ,aAAa/Y,EAAMpnI,GAAIyE,EAAKzE,GAAIo2J,GACZ,OAAhBhvB,EAAMpnI,GAAGmpD,IAA+B,OAAhBi+E,EAAMpnI,GAAGmpD,GAC1C/pD,KAAKu3J,mBAAmBvvB,EAAMpnI,GAAIyE,EAAKzE,GAAIo2J,GAClB,OAAhBhvB,EAAMpnI,GAAGmpD,GAClB/pD,KAAKskJ,YAAY0S,EAAgBhvB,EAAMpnI,GAAGgf,GAAIva,EAAKzE,GAAGgf,IAC7CooH,EAAMpnI,GAAGmpD,GAIlButG,GACFt3J,KAAKi3J,WAET,EAEAxF,eAAevxJ,UAAUs3J,kBAAoB,SAAUjG,EAAar9B,GAClE,GAAIl0H,KAAKyxH,eAAiByC,EAAM9C,MAAQmgC,EAAYhZ,WAAWnnB,KAAM,CACnE,IAEIxwH,EACAojB,EACA/iB,EAJAw2J,EAAalG,EAAYC,QACzBr8B,EAAQjB,EAAMiB,MAIdxe,EAAOwe,EAAMjN,QACjBuvC,EAAW92J,OAAS,EACpB,IAAI+2J,EAAoBnG,EAAYhZ,WAAWhJ,eAE/C,IAAKtuI,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EAAG,CAC5B,IAAI43I,EAAY1jB,EAAM9d,OAAOp2G,GAE7B,GAAI43I,GAAaA,EAAU13H,EAAG,CAG5B,IAFA6C,EAAM60H,EAAU3wB,QAEXtnH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACd,IAANA,GACF62J,EAAWjyJ,KAAK,CACdie,EAAG,IACHpF,EAAGq5I,EAAkBj9B,kBAAkBoe,EAAU13H,EAAE,GAAG,GAAI03H,EAAU13H,EAAE,GAAG,GAAI,KAIjFs2I,EAAWjyJ,KAAK,CACdie,EAAG,IACHk3G,IAAK+8B,EAAkB78B,oBAAoBge,EAAUl6G,EAAE/9B,EAAI,GAAIi4I,EAAUj4I,EAAEA,GAAIi4I,EAAU13H,EAAEvgB,MAInF,IAARojB,GACFyzI,EAAWjyJ,KAAK,CACdie,EAAG,IACHpF,EAAGq5I,EAAkBj9B,kBAAkBoe,EAAU13H,EAAE,GAAG,GAAI03H,EAAU13H,EAAE,GAAG,GAAI,KAI7E03H,EAAU12I,GAAK6hB,IACjByzI,EAAWjyJ,KAAK,CACdie,EAAG,IACHk3G,IAAK+8B,EAAkB78B,oBAAoBge,EAAUl6G,EAAE/9B,EAAI,GAAIi4I,EAAUj4I,EAAE,GAAIi4I,EAAU13H,EAAE,MAE7Fs2I,EAAWjyJ,KAAK,CACdie,EAAG,MAGT,CACF,CAEA8tI,EAAYC,QAAUiG,CACxB,CACF,EAEAhG,eAAevxJ,UAAUogJ,WAAa,SAAU7nC,EAAU2nC,GACxD,IAAoB,IAAhB3nC,EAASl+B,IAAek+B,EAASo+C,cAAe,CAClD,IAAIj2J,EACAojB,EAAMo8H,EAASkR,aAAa3wJ,OAEhC,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAKw3J,kBAAkBpX,EAASkR,aAAa1wJ,GAAIw/I,EAASlxB,GAE9D,CACF,EAEAuiC,eAAevxJ,UAAUygJ,WAAa,SAAUR,EAAWC,EAAU4W,GACnE,IAAIpW,EAAYR,EAAS/qH,OAErB+qH,EAASj+I,EAAEivH,MAAQpxH,KAAKyxH,iBAC1BmvB,EAAUh2G,GAAK,OAASonE,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,IAAM6wF,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,IAAM6wF,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,MAGnHi/H,EAASzhH,EAAEyyF,MAAQ4lC,EAAezf,QAAUv3I,KAAKyxH,iBACnDmvB,EAAUwW,KAAOhX,EAASzhH,EAAExd,EAAI61I,EAAe/e,QAEnD,EAEAwZ,eAAevxJ,UAAUq3J,mBAAqB,SAAUpX,EAAWC,EAAU4W,GAC3E,IACIK,EADAzW,EAAYR,EAAS/qH,MAGzB,IAAKurH,EAAUyW,KAAOjX,EAASjvI,EAAEigH,MAAQgvB,EAASn/H,EAAEmwG,MAAQgvB,EAASx1H,EAAEwmG,MAAwB,IAAhB+uB,EAAU18H,IAAY28H,EAAS70H,EAAE6lG,MAAQgvB,EAAS78H,EAAE6tG,MAAO,CACxI,IAuBIxwH,EAvBAisE,EAAM7sE,KAAKggH,WAAWkxC,cACtBjoC,EAAMm3B,EAASn/H,EAAEE,EACjB+nG,EAAMk3B,EAASx1H,EAAEzJ,EAErB,GAAoB,IAAhBg/H,EAAU18H,EACZ4zI,EAAMxqF,EAAIuC,qBAAqB65C,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,QACtD,CACL,IAAIwN,EAAMtyH,KAAKyB,KAAKzB,KAAKC,IAAI4kH,EAAI,GAAKC,EAAI,GAAI,GAAK9kH,KAAKC,IAAI4kH,EAAI,GAAKC,EAAI,GAAI,IACzEm4B,EAAMj9I,KAAKolD,MAAM0/D,EAAI,GAAKD,EAAI,GAAIC,EAAI,GAAKD,EAAI,IAC/CuD,EAAU4zB,EAAS70H,EAAEpK,EAErBqrG,GAAW,EACbA,EAAU,IACDA,IAAY,IACrBA,GAAW,KAGb,IAAIsY,EAAOpO,EAAMlK,EACb9+G,EAAItJ,KAAKwwD,IAAIysF,EAAMjB,EAAS78H,EAAEpC,GAAK2jH,EAAO7b,EAAI,GAC9Ct7G,EAAIvJ,KAAKywD,IAAIwsF,EAAMjB,EAAS78H,EAAEpC,GAAK2jH,EAAO7b,EAAI,GAClDouC,EAAMxqF,EAAI2C,qBAAqB9hE,EAAGC,EAAG,EAAGs7G,EAAI,GAAIA,EAAI,GAAIyN,EAC1D,CAGA,IAAI1yG,EAAMm8H,EAAUhvI,EAAEkN,EAClB8iI,EAAUf,EAASjvI,EAAEhP,EACrB81I,EAAU,EAEd,IAAKr3I,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBw/I,EAASjvI,EAAEqtI,aAAe4B,EAASjvI,EAAEmtI,eACvCrG,EAAUmI,EAASjvI,EAAEwtB,EAAM,EAAJ/9B,EAAQ,IAGjCy2J,EAAI/nF,aAAa6xE,EAAY,EAAJvgJ,GAAS,IAAK,QAAUugJ,EAAY,EAAJvgJ,EAAQ,GAAK,IAAMugJ,EAAY,EAAJvgJ,EAAQ,GAAK,IAAMugJ,EAAY,EAAJvgJ,EAAQ,GAAK,IAAMq3I,EAAU,KAG9I2I,EAAUyW,IAAMA,CAClB,CAEAzW,EAAUwW,KAAOhX,EAASzhH,EAAExd,EAAI61I,EAAe/e,OACjD,EAEAwZ,eAAevxJ,UAAU6gJ,aAAe,SAAUZ,EAAWC,EAAU4W,GACrE,IAAIpW,EAAYR,EAAS/qH,MACrB1R,EAAIy8H,EAASz8H,EAEbA,IAAMA,EAAEytG,MAAQpxH,KAAKyxH,iBACvBmvB,EAAU3kE,GAAKt4D,EAAEi6H,UACjBgD,EAAc,GAAIj9H,EAAEk6H,WAAW,KAG7BuC,EAASj+I,EAAEivH,MAAQpxH,KAAKyxH,iBAC1BmvB,EAAUh2G,GAAK,OAASonE,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,IAAM6wF,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,IAAM6wF,QAAQouC,EAASj+I,EAAEgf,EAAE,IAAM,MAGnHi/H,EAASzhH,EAAEyyF,MAAQ4lC,EAAezf,QAAUv3I,KAAKyxH,iBACnDmvB,EAAUwW,KAAOhX,EAASzhH,EAAExd,EAAI61I,EAAe/e,UAG7CmI,EAASzwG,EAAEyhF,MAAQpxH,KAAKyxH,iBAC1BmvB,EAAUtuG,GAAK8tG,EAASzwG,EAAExuB,EAE9B,EAEAswI,eAAevxJ,UAAUyqG,QAAU,WACjC3qG,KAAK2yI,WAAa,KAClB3yI,KAAKggH,WAAa,KAClBhgH,KAAKkxJ,cAAgB,KACrBlxJ,KAAKwhJ,WAAW7gJ,OAAS,EACzBX,KAAK4yI,UAAUjyI,OAAS,CAC1B,EAsBAuuG,gBAAgB,CAAC6hC,YAAa8E,iBAAkBob,cAAe/W,iBAAkBlJ,aAAcrC,kBAAmB0a,cAAeqI,eACjIA,cAAcxxJ,UAAUwrI,QAAUz8B,UAAU,UAAUtmC,WAAW,MAEjE+oF,cAAcxxJ,UAAU+rJ,aAAe,WACrC,IAAI/zC,EAAel4G,KAAK6nJ,aAAa7F,YACrChiJ,KAAKmpJ,gBAAkB93C,iBAAiB6G,EAAat5F,EAAIs5F,EAAat5F,EAAEje,OAAS,GACjF,IAAIg3J,GAAU,EAEVz/C,EAAat7B,IACf+6E,GAAU,EACV33J,KAAK2hB,OAAO40C,KAAOv2D,KAAK6rJ,WAAW3zC,EAAat7B,KAEhD58E,KAAK2hB,OAAO40C,KAAO,gBAGrBv2D,KAAKu2D,KAAOohG,EACZ,IAAIC,GAAY,EAEZ1/C,EAAavzB,KACfizE,GAAY,EACZ53J,KAAK2hB,OAAO0zC,OAASr1D,KAAK6rJ,WAAW3zC,EAAavzB,IAClD3kF,KAAK2hB,OAAOiwI,OAAS15C,EAAavkB,IAGpC,IACI/yF,EACAojB,EAOAu0F,EACAoS,EACAxpH,EACAy1G,EACAS,EACAp2G,EACA01G,EACAkiC,EACAgf,EACAC,EAlBApxB,EAAW1mI,KAAKggH,WAAWc,YAAYqtB,cAAcj2B,EAAajtF,GAGlEtnB,EAAUu0G,EAAat5F,EACvBmrI,EAAe/pJ,KAAKy4I,QACxBz4I,KAAKq1D,OAASuiG,EACd53J,KAAK2hB,OAAOkwI,OAAS35C,EAAayqC,UAAY,MAAQ3iJ,KAAKggH,WAAWc,YAAYqtB,cAAcj2B,EAAajtF,GAAG0gH,QAChH3nH,EAAMk0F,EAAa0qC,UAAUjiJ,OAY7B,IAAImtJ,EAAc9tJ,KAAKqF,KAAKyoJ,YACxBlI,EAAmC,KAAlB1tC,EAAappE,GAAaopE,EAAayqC,UACxD6G,EAAO,EACPC,EAAO,EACPW,GAAY,EACZhnI,EAAM,EAEV,IAAKxiB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAE3B+pH,GADApS,EAAWv4G,KAAKggH,WAAWc,YAAYmtB,YAAY/1B,EAAa0qC,UAAUhiJ,GAAI8lI,EAASC,OAAQ3mI,KAAKggH,WAAWc,YAAYqtB,cAAcj2B,EAAajtF,GAAG0gH,WACjIpzB,EAASlzG,MAAQ,CAAC,EAC1C0kJ,EAAat0B,QAETq4B,GAAenqJ,EAAQ/C,GAAG+E,IAC5B6jJ,GAAQ5D,EACR6D,GAAQvxC,EAAa3hC,QACrBkzE,GAAQW,EAAY,EAAI,EACxBA,GAAY,GAIdzzC,GADAU,EAASsT,EAAUtT,OAASsT,EAAUtT,OAAO,GAAGz3F,GAAK,IACvCjf,OACdopJ,EAAa/lG,MAAMk0D,EAAayqC,UAAY,IAAKzqC,EAAayqC,UAAY,KAEtEmL,GACF9tJ,KAAK4rJ,4BAA4B1zC,EAAc6xC,EAAcpmJ,EAAQ/C,GAAG0kC,KAAMkkH,EAAMC,GAGtFoO,EAAWxmD,iBAAiBsF,EAAO,GACnC,IAAIohD,EAAkB,EAEtB,IAAK92J,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EACzB,GAAqB,OAAjBo2G,EAAOp2G,GAAG8oD,GAAa,CAKzB,IAJA6sD,EAAOS,EAAOp2G,GAAGoxF,GAAGlxF,EAAEP,EAAED,OACxBk4I,EAAYxhC,EAAOp2G,GAAGoxF,GAAGlxF,EACzB22J,EAAU,GAEL32J,EAAI,EAAGA,EAAIy1G,EAAMz1G,GAAK,EACf,IAANA,GACF22J,EAAQtyJ,KAAKukJ,EAAa7vB,SAAS2e,EAAU13H,EAAE,GAAG,GAAI03H,EAAU13H,EAAE,GAAG,GAAI,GAAI4oI,EAAa5vB,SAAS0e,EAAU13H,EAAE,GAAG,GAAI03H,EAAU13H,EAAE,GAAG,GAAI,IAG3I22I,EAAQtyJ,KAAKukJ,EAAa7vB,SAAS2e,EAAUl6G,EAAEx9B,EAAI,GAAG,GAAI03I,EAAUl6G,EAAEx9B,EAAI,GAAG,GAAI,GAAI4oJ,EAAa5vB,SAAS0e,EAAUl6G,EAAEx9B,EAAI,GAAG,GAAI03I,EAAUl6G,EAAEx9B,EAAI,GAAG,GAAI,GAAI4oJ,EAAa7vB,SAAS2e,EAAUj4I,EAAEO,GAAG,GAAI03I,EAAUj4I,EAAEO,GAAG,GAAI,GAAI4oJ,EAAa5vB,SAAS0e,EAAUj4I,EAAEO,GAAG,GAAI03I,EAAUj4I,EAAEO,GAAG,GAAI,GAAI4oJ,EAAa7vB,SAAS2e,EAAU13H,EAAEhgB,GAAG,GAAI03I,EAAU13H,EAAEhgB,GAAG,GAAI,GAAI4oJ,EAAa5vB,SAAS0e,EAAU13H,EAAEhgB,GAAG,GAAI03I,EAAU13H,EAAEhgB,GAAG,GAAI,IAG3Z22J,EAAQtyJ,KAAKukJ,EAAa7vB,SAAS2e,EAAUl6G,EAAEx9B,EAAI,GAAG,GAAI03I,EAAUl6G,EAAEx9B,EAAI,GAAG,GAAI,GAAI4oJ,EAAa5vB,SAAS0e,EAAUl6G,EAAEx9B,EAAI,GAAG,GAAI03I,EAAUl6G,EAAEx9B,EAAI,GAAG,GAAI,GAAI4oJ,EAAa7vB,SAAS2e,EAAUj4I,EAAE,GAAG,GAAIi4I,EAAUj4I,EAAE,GAAG,GAAI,GAAImpJ,EAAa5vB,SAAS0e,EAAUj4I,EAAE,GAAG,GAAIi4I,EAAUj4I,EAAE,GAAG,GAAI,GAAImpJ,EAAa7vB,SAAS2e,EAAU13H,EAAE,GAAG,GAAI03H,EAAU13H,EAAE,GAAG,GAAI,GAAI4oI,EAAa5vB,SAAS0e,EAAU13H,EAAE,GAAG,GAAI03H,EAAU13H,EAAE,GAAG,GAAI,IACzZ02I,EAASE,GAAmBD,EAC5BC,GAAmB,CACrB,CAGEjK,IACFtE,GAAQ7lJ,EAAQ/C,GAAGge,EACnB4qI,GAAQ5D,GAGN5lJ,KAAKosJ,UAAUhpI,GACjBpjB,KAAKosJ,UAAUhpI,GAAK6R,KAAO4iI,EAE3B73J,KAAKosJ,UAAUhpI,GAAO,CACpB6R,KAAM4iI,GAIVz0I,GAAO,CACT,CACF,EAEAsuI,cAAcxxJ,UAAUm8I,mBAAqB,WAE3C,IAYIz7I,EACAojB,EACA/iB,EACA01G,EACAx1G,EACAy1G,EAlBJ52G,KAAKgsJ,eACKhsJ,KAAKkxJ,cACXr9H,KAAO7zB,KAAK2hB,OAAOkwI,OACvB7xJ,KAAKggH,WAAWrX,SAASsrD,WAAW,QAEpCj0J,KAAKggH,WAAWrX,SAASurD,YAAY,SAErCl0J,KAAKggH,WAAWrX,SAASwrD,cAAc,GAElCn0J,KAAKqF,KAAKyoJ,aACb9tJ,KAAKwrJ,aAAajC,YAAYvpJ,KAAK6nJ,aAAa7F,YAAahiJ,KAAKopJ,oBASpE,IAGI6F,EAHA9F,EAAkBnpJ,KAAKwrJ,aAAarC,gBACpCxlJ,EAAU3D,KAAK6nJ,aAAa7F,YAAYpjI,EAC5CoF,EAAMrgB,EAAQhD,OAEd,IAGIk3J,EACAC,EAJAE,EAAW,KACXC,EAAa,KACbC,EAAc,KAGdvvD,EAAW3oG,KAAKggH,WAAWrX,SAE/B,IAAK/nG,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,IAAK+C,EAAQ/C,GAAG+E,EAAG,CASjB,IARAspJ,EAAiB9F,EAAgBvoJ,MAG/B+nG,EAAS11C,OACT01C,EAASirD,aAAa3E,EAAe5wI,GACrCsqF,EAASkrD,WAAW5E,EAAetwH,IAGjC3+B,KAAKu2D,KAAM,CAeb,IAdI04F,GAAkBA,EAAeryE,GAC/Bo7E,IAAa/I,EAAeryE,KAC9B+rB,EAASmrD,aAAa7E,EAAeryE,IACrCo7E,EAAW/I,EAAeryE,IAEnBo7E,IAAah4J,KAAK2hB,OAAO40C,OAClCyhG,EAAWh4J,KAAK2hB,OAAO40C,KACvBoyC,EAASmrD,aAAa9zJ,KAAK2hB,OAAO40C,OAIpCogD,GADAkhD,EAAW73J,KAAKosJ,UAAUxrJ,GAAGq0B,MACbt0B,OAChBX,KAAKggH,WAAWkxC,cAAc1jF,YAEzBvsE,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EAKzB,IAHA21G,GADAkhD,EAAUD,EAAS52J,IACJN,OACfX,KAAKggH,WAAWkxC,cAAch6F,OAAO4gG,EAAQ,GAAIA,EAAQ,IAEpD32J,EAAI,EAAGA,EAAIy1G,EAAMz1G,GAAK,EACzBnB,KAAKggH,WAAWkxC,cAAcvjF,cAAcmqF,EAAQ32J,GAAI22J,EAAQ32J,EAAI,GAAI22J,EAAQ32J,EAAI,GAAI22J,EAAQ32J,EAAI,GAAI22J,EAAQ32J,EAAI,GAAI22J,EAAQ32J,EAAI,IAIxInB,KAAKggH,WAAWkxC,cAAczjF,YAC9Bk7B,EAASyrD,SAEX,CAEA,GAAIp0J,KAAKq1D,OAAQ,CAyBf,IAxBI45F,GAAkBA,EAAet7D,GAC/BukE,IAAgBjJ,EAAet7D,KACjCukE,EAAcjJ,EAAet7D,GAC7BgV,EAASqrD,aAAa/E,EAAet7D,KAE9BukE,IAAgBl4J,KAAK2hB,OAAOiwI,SACrCsG,EAAcl4J,KAAK2hB,OAAOiwI,OAC1BjpD,EAASqrD,aAAah0J,KAAK2hB,OAAOiwI,SAGhC3C,GAAkBA,EAAetqE,GAC/BszE,IAAehJ,EAAetqE,KAChCszE,EAAahJ,EAAetqE,GAC5BgkB,EAASorD,eAAe9E,EAAetqE,KAEhCszE,IAAej4J,KAAK2hB,OAAO0zC,SACpC4iG,EAAaj4J,KAAK2hB,OAAO0zC,OACzBszC,EAASorD,eAAe/zJ,KAAK2hB,OAAO0zC,SAItCshD,GADAkhD,EAAW73J,KAAKosJ,UAAUxrJ,GAAGq0B,MACbt0B,OAChBX,KAAKggH,WAAWkxC,cAAc1jF,YAEzBvsE,EAAI,EAAGA,EAAI01G,EAAM11G,GAAK,EAKzB,IAHA21G,GADAkhD,EAAUD,EAAS52J,IACJN,OACfX,KAAKggH,WAAWkxC,cAAch6F,OAAO4gG,EAAQ,GAAIA,EAAQ,IAEpD32J,EAAI,EAAGA,EAAIy1G,EAAMz1G,GAAK,EACzBnB,KAAKggH,WAAWkxC,cAAcvjF,cAAcmqF,EAAQ32J,GAAI22J,EAAQ32J,EAAI,GAAI22J,EAAQ32J,EAAI,GAAI22J,EAAQ32J,EAAI,GAAI22J,EAAQ32J,EAAI,GAAI22J,EAAQ32J,EAAI,IAIxInB,KAAKggH,WAAWkxC,cAAczjF,YAC9Bk7B,EAAS2rD,WAEX,CAEIrF,GACFjvJ,KAAKggH,WAAWrX,SAASn9C,SAE7B,CAEJ,EAQA0jD,gBAAgB,CAAC6hC,YAAa8E,iBAAkBob,cAAe/W,iBAAkBlJ,aAAcrC,mBAAoBmjB,gBACnHA,eAAe5xJ,UAAUm6I,YAAckH,gBAAgBrhJ,UAAUm6I,YACjEyX,eAAe5xJ,UAAU+9G,aAAem8B,cAAcl6I,UAAU+9G,aAEhE6zC,eAAe5xJ,UAAUk8I,cAAgB,WACvC,GAAIp8I,KAAK4wE,IAAIpoE,QAAUxI,KAAKi7G,UAAUtrE,IAAM3vC,KAAK4wE,IAAIpoE,OAASxI,KAAKi7G,UAAU1vF,IAAMvrB,KAAK4wE,IAAIx7D,QAAS,CACnG,IAAI+zD,EAAS8lC,UAAU,UACvB9lC,EAAO3gE,MAAQxI,KAAKi7G,UAAUtrE,EAC9Bw5B,EAAO/zD,OAASpV,KAAKi7G,UAAU1vF,EAC/B,IAKI4sI,EACAC,EANAvrF,EAAM1D,EAAOR,WAAW,MACxB0vF,EAAOr4J,KAAK4wE,IAAIpoE,MAChB8vJ,EAAOt4J,KAAK4wE,IAAIx7D,OAChBmjJ,EAASF,EAAOC,EAChBE,EAAYx4J,KAAKi7G,UAAUtrE,EAAI3vC,KAAKi7G,UAAU1vF,EAG9CktI,EAAMz4J,KAAKi7G,UAAUjqD,IAAMhxD,KAAKggH,WAAWyvB,aAAa8M,yBAExDgc,EAASC,GAAqB,mBAARC,GAA4BF,EAASC,GAAqB,mBAARC,EAE1EN,GADAC,EAAaE,GACYE,EAGzBJ,GADAD,EAAYE,GACaG,EAG3B3rF,EAAIiC,UAAU9uE,KAAK4wE,KAAMynF,EAAOF,GAAa,GAAIG,EAAOF,GAAc,EAAGD,EAAWC,EAAY,EAAG,EAAGp4J,KAAKi7G,UAAUtrE,EAAG3vC,KAAKi7G,UAAU1vF,GACvIvrB,KAAK4wE,IAAMzH,CACb,CACF,EAEA2oF,eAAe5xJ,UAAUm8I,mBAAqB,WAC5Cr8I,KAAKkxJ,cAAcpiF,UAAU9uE,KAAK4wE,IAAK,EAAG,EAC5C,EAEAkhF,eAAe5xJ,UAAUyqG,QAAU,WACjC3qG,KAAK4wE,IAAM,IACb,EAMAs+B,gBAAgB,CAAC6hC,YAAa8E,iBAAkBob,cAAe/W,iBAAkBlJ,aAAcrC,mBAAoBojB,gBACnHA,eAAe7xJ,UAAUm6I,YAAckH,gBAAgBrhJ,UAAUm6I,YACjE0X,eAAe7xJ,UAAU+9G,aAAem8B,cAAcl6I,UAAU+9G,aAEhE8zC,eAAe7xJ,UAAUm8I,mBAAqB,WAE5Cr8I,KAAKggH,WAAWrX,SAASmrD,aAAa9zJ,KAAKqF,KAAKs/E,IAEhD3kF,KAAKggH,WAAWrX,SAAS0rD,YAAY,EAAG,EAAGr0J,KAAKqF,KAAKsuF,GAAI3zF,KAAKqF,KAAK6pH,GAErE,EAIAhgB,gBAAgB,CAAC0iC,cAAeogB,oBAEhCA,mBAAmB9xJ,UAAUs0I,YAAc,SAAUnvI,GACnD,OAAO,IAAIosJ,eAAepsJ,EAAMrF,KAAKggH,WAAYhgH,KACnD,EAEAgyJ,mBAAmB9xJ,UAAUu0I,WAAa,SAAUpvI,GAClD,OAAO,IAAIqsJ,cAAcrsJ,EAAMrF,KAAKggH,WAAYhgH,KAClD,EAEAgyJ,mBAAmB9xJ,UAAUk0I,YAAc,SAAU/uI,GACnD,OAAO,IAAIysJ,eAAezsJ,EAAMrF,KAAKggH,WAAYhgH,KACnD,EAEAgyJ,mBAAmB9xJ,UAAUo0I,YAAc,SAAUjvI,GACnD,OAAO,IAAI0sJ,eAAe1sJ,EAAMrF,KAAKggH,WAAYhgH,KACnD,EAEAgyJ,mBAAmB9xJ,UAAUq0I,WAAaoY,YAAYzsJ,UAAUq0I,WAEhEyd,mBAAmB9xJ,UAAU0zJ,aAAe,SAAUjsD,GACnC,IAAbA,EAAM,IAAyB,IAAbA,EAAM,IAAyB,IAAbA,EAAM,IAAyB,IAAbA,EAAM,IAA0B,IAAdA,EAAM,KAA2B,IAAdA,EAAM,KAIrG3nG,KAAKkxJ,cAAc5qI,UAAUqhF,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,IAAKA,EAAM,IACxF,EAEAqqD,mBAAmB9xJ,UAAU2zJ,WAAa,SAAUr8F,GAClDx3D,KAAKkxJ,cAAc/kF,aAAe3U,EAAK,EAAI,EAAIA,CACjD,EAEAw6F,mBAAmB9xJ,UAAU4zJ,aAAe,SAAU/qJ,GACpD/I,KAAKkxJ,cAAch+H,UAAYnqB,CACjC,EAEAipJ,mBAAmB9xJ,UAAU6zJ,eAAiB,SAAUhrJ,GACtD/I,KAAKkxJ,cAActlF,YAAc7iE,CACnC,EAEAipJ,mBAAmB9xJ,UAAU8zJ,aAAe,SAAUjrJ,GACpD/I,KAAKkxJ,cAAcr/H,UAAY9oB,CACjC,EAEAipJ,mBAAmB9xJ,UAAU+zJ,WAAa,SAAUlrJ,GAClD/I,KAAKkxJ,cAAcjlF,QAAUljE,CAC/B,EAEAipJ,mBAAmB9xJ,UAAUg0J,YAAc,SAAUnrJ,GACnD/I,KAAKkxJ,cAAcllF,SAAWjjE,CAChC,EAEAipJ,mBAAmB9xJ,UAAUi0J,cAAgB,SAAUprJ,GACrD/I,KAAKkxJ,cAAc5kF,WAAavjE,CAClC,EAEAipJ,mBAAmB9xJ,UAAUk0J,QAAU,SAAUsE,GAC/C14J,KAAKkxJ,cAAc36F,KAAKmiG,EAC1B,EAEA1G,mBAAmB9xJ,UAAUm0J,YAAc,SAAU3mJ,EAAGC,EAAGgiC,EAAGpkB,GAC5DvrB,KAAKkxJ,cAAc/iF,SAASzgE,EAAGC,EAAGgiC,EAAGpkB,EACvC,EAEAymI,mBAAmB9xJ,UAAUo0J,UAAY,WACvCt0J,KAAKkxJ,cAAc77F,QACrB,EAEA28F,mBAAmB9xJ,UAAUu1H,MAAQ,WAC9Bz1H,KAAKyvI,aAAa6jB,YAKvBtzJ,KAAK2zJ,YAAYl+B,QAJfz1H,KAAKkxJ,cAAc1lG,SAKvB,EAEAwmG,mBAAmB9xJ,UAAU+yD,KAAO,WAClCjzD,KAAKkxJ,cAAcj+F,MACrB,EAEA++F,mBAAmB9xJ,UAAUsrD,QAAU,SAAUmtG,GAC1C34J,KAAKyvI,aAAa6jB,aAKnBqF,IACF34J,KAAKggH,WAAW61C,UAAY,eAG9B71J,KAAK2zJ,YAAYnoG,QAAQmtG,IARvB34J,KAAKkxJ,cAAc1lG,SASvB,EAEAwmG,mBAAmB9xJ,UAAUu/G,gBAAkB,SAAUgC,GACvD,GAAIzhH,KAAK6rG,cAAca,QAAS,CAC9B1sG,KAAK6rG,cAAcn7B,UAAYu+B,UAAU,UACzC,IAAI2pD,EAAiB54J,KAAK6rG,cAAcn7B,UAAUr7C,MAClDujI,EAAepwJ,MAAQ,OACvBowJ,EAAexjJ,OAAS,OACxB,IAAI0W,EAAS,cACb8sI,EAAe/lD,gBAAkB/mF,EACjC8sI,EAAeC,mBAAqB/sI,EACpC8sI,EAAe9lD,sBAAwBhnF,EACvC8sI,EAAe,qBAAuB9sI,EACtC8sI,EAAezL,kBAAoBntJ,KAAKyvI,aAAa0d,kBACrDntJ,KAAK6rG,cAAca,QAAQ36B,YAAY/xE,KAAK6rG,cAAcn7B,WAC1D1wE,KAAKkxJ,cAAgBlxJ,KAAK6rG,cAAcn7B,UAAU/H,WAAW,MAEzD3oE,KAAKyvI,aAAap/D,WACpBrwE,KAAK6rG,cAAcn7B,UAAUs0C,aAAa,QAAShlH,KAAKyvI,aAAap/D,WAGnErwE,KAAKyvI,aAAaxxG,IACpBj+B,KAAK6rG,cAAcn7B,UAAUs0C,aAAa,KAAMhlH,KAAKyvI,aAAaxxG,GAEtE,MACEj+B,KAAKkxJ,cAAgBlxJ,KAAKyvI,aAAa8jB,QAGzCvzJ,KAAK2zJ,YAAYmF,WAAW94J,KAAKkxJ,eACjClxJ,KAAKqF,KAAOo8G,EACZzhH,KAAKw2G,OAASiL,EAASjL,OACvBx2G,KAAK41J,gBAAkB,CACrBjmH,EAAG8xE,EAAS9xE,EACZpkB,EAAGk2F,EAASl2F,EACZm+B,GAAI,EACJE,GAAI,EACJE,GAAI,EACJC,GAAI,GAEN/pD,KAAKw1I,gBAAgB/zB,EAAU77F,SAASyG,MACxCrsB,KAAKggH,WAAWkxC,cAAgBlxJ,KAAKkxJ,cACrClxJ,KAAKggH,WAAWrX,SAAW3oG,KAC3BA,KAAKggH,WAAW+4C,UAAW,EAC3B/4J,KAAKggH,WAAW80B,gBAAkB90I,KAAKyvI,aAAaqF,gBACpD90I,KAAKggH,WAAW41C,gBAAkB51J,KAAK41J,gBACvC51J,KAAKynI,SAAWp2B,iBAAiBoQ,EAASjL,OAAO71G,QACjDX,KAAKmiH,qBACP,EAEA6vC,mBAAmB9xJ,UAAUiiH,oBAAsB,SAAU35G,EAAO4M,GAElE,IAAI4jJ,EACAC,EAoBAC,EACAC,EAEJ,GAzBAn5J,KAAKy1H,QAIDjtH,GACFwwJ,EAAexwJ,EACfywJ,EAAgB7jJ,EAChBpV,KAAKkxJ,cAAc/nF,OAAO3gE,MAAQwwJ,EAClCh5J,KAAKkxJ,cAAc/nF,OAAO/zD,OAAS6jJ,IAE/Bj5J,KAAK6rG,cAAca,SAAW1sG,KAAK6rG,cAAcn7B,WACnDsoF,EAAeh5J,KAAK6rG,cAAca,QAAQh7B,YAC1CunF,EAAgBj5J,KAAK6rG,cAAca,QAAQr6B,eAE3C2mF,EAAeh5J,KAAKkxJ,cAAc/nF,OAAO3gE,MACzCywJ,EAAgBj5J,KAAKkxJ,cAAc/nF,OAAO/zD,QAG5CpV,KAAKkxJ,cAAc/nF,OAAO3gE,MAAQwwJ,EAAeh5J,KAAKyvI,aAAa+jB,IACnExzJ,KAAKkxJ,cAAc/nF,OAAO/zD,OAAS6jJ,EAAgBj5J,KAAKyvI,aAAa+jB,MAMR,IAA3DxzJ,KAAKyvI,aAAayd,oBAAoBtlJ,QAAQ,UAA8E,IAA5D5H,KAAKyvI,aAAayd,oBAAoBtlJ,QAAQ,SAAiB,CACjI,IAAI6wJ,EAAMz4J,KAAKyvI,aAAayd,oBAAoBl/I,MAAM,KAClDorJ,EAAWX,EAAI,IAAM,OACrBrqJ,EAAMqqJ,EAAI,IAAM,WAChBjP,EAAOp7I,EAAIlH,OAAO,EAAG,GACrBuiJ,EAAOr7I,EAAIlH,OAAO,GACtBgyJ,EAAaF,EAAeC,GAC5BE,EAAen5J,KAAK41J,gBAAgBjmH,EAAI3vC,KAAK41J,gBAAgBrqI,GAE1C2tI,GAA2B,SAAbE,GAAuBD,EAAeD,GAA2B,UAAbE,GACnFp5J,KAAK41J,gBAAgBlsG,GAAKsvG,GAAgBh5J,KAAK41J,gBAAgBjmH,EAAI3vC,KAAKyvI,aAAa+jB,KACrFxzJ,KAAK41J,gBAAgBhsG,GAAKovG,GAAgBh5J,KAAK41J,gBAAgBjmH,EAAI3vC,KAAKyvI,aAAa+jB,OAErFxzJ,KAAK41J,gBAAgBlsG,GAAKuvG,GAAiBj5J,KAAK41J,gBAAgBrqI,EAAIvrB,KAAKyvI,aAAa+jB,KACtFxzJ,KAAK41J,gBAAgBhsG,GAAKqvG,GAAiBj5J,KAAK41J,gBAAgBrqI,EAAIvrB,KAAKyvI,aAAa+jB,MAItFxzJ,KAAK41J,gBAAgB9rG,GADV,SAAT0/F,IAAoB2P,EAAeD,GAA2B,SAAbE,GAAuBD,EAAeD,GAA2B,UAAbE,IAC5EJ,EAAeh5J,KAAK41J,gBAAgBjmH,GAAKspH,EAAgBj5J,KAAK41J,gBAAgBrqI,IAAM,EAAIvrB,KAAKyvI,aAAa+jB,IACnH,SAAThK,IAAoB2P,EAAeD,GAA2B,SAAbE,GAAuBD,EAAeD,GAA2B,UAAbE,IACnFJ,EAAeh5J,KAAK41J,gBAAgBjmH,GAAKspH,EAAgBj5J,KAAK41J,gBAAgBrqI,IAAMvrB,KAAKyvI,aAAa+jB,IAEvG,EAI1BxzJ,KAAK41J,gBAAgB7rG,GADV,SAAT0/F,IAAoB0P,EAAeD,GAA2B,SAAbE,GAAuBD,EAAeD,GAA2B,UAAbE,IAC5EH,EAAgBj5J,KAAK41J,gBAAgBrqI,GAAKytI,EAAeh5J,KAAK41J,gBAAgBjmH,IAAM,EAAI3vC,KAAKyvI,aAAa+jB,IACnH,SAAT/J,IAAoB0P,EAAeD,GAA2B,SAAbE,GAAuBD,EAAeD,GAA2B,UAAbE,IACnFH,EAAgBj5J,KAAK41J,gBAAgBrqI,GAAKytI,EAAeh5J,KAAK41J,gBAAgBjmH,IAAM3vC,KAAKyvI,aAAa+jB,IAEvG,CAE9B,KAAqD,SAA1CxzJ,KAAKyvI,aAAayd,qBAC3BltJ,KAAK41J,gBAAgBlsG,GAAKsvG,GAAgBh5J,KAAK41J,gBAAgBjmH,EAAI3vC,KAAKyvI,aAAa+jB,KACrFxzJ,KAAK41J,gBAAgBhsG,GAAKqvG,GAAiBj5J,KAAK41J,gBAAgBrqI,EAAIvrB,KAAKyvI,aAAa+jB,KACtFxzJ,KAAK41J,gBAAgB9rG,GAAK,EAC1B9pD,KAAK41J,gBAAgB7rG,GAAK,IAE1B/pD,KAAK41J,gBAAgBlsG,GAAK1pD,KAAKyvI,aAAa+jB,IAC5CxzJ,KAAK41J,gBAAgBhsG,GAAK5pD,KAAKyvI,aAAa+jB,IAC5CxzJ,KAAK41J,gBAAgB9rG,GAAK,EAC1B9pD,KAAK41J,gBAAgB7rG,GAAK,GAG5B/pD,KAAK41J,gBAAgBjuD,MAAQ,CAAC3nG,KAAK41J,gBAAgBlsG,GAAI,EAAG,EAAG,EAAG,EAAG1pD,KAAK41J,gBAAgBhsG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG5pD,KAAK41J,gBAAgB9rG,GAAI9pD,KAAK41J,gBAAgB7rG,GAAI,EAAG,GAQnK/pD,KAAK4zJ,aAAa5zJ,KAAK41J,gBAAgBjuD,OACvC3nG,KAAKkxJ,cAAc1jF,YACnBxtE,KAAKkxJ,cAAc/9H,KAAK,EAAG,EAAGnzB,KAAK41J,gBAAgBjmH,EAAG3vC,KAAK41J,gBAAgBrqI,GAC3EvrB,KAAKkxJ,cAAczjF,YACnBztE,KAAKkxJ,cAAcp7F,OACnB91D,KAAKu3E,YAAYv3E,KAAK6wH,eAAe,EACvC,EAEAmhC,mBAAmB9xJ,UAAUyqG,QAAU,WAKrC,IAAI/pG,EAGJ,IAPIZ,KAAKyvI,aAAa6jB,aAAetzJ,KAAK6rG,cAAca,UACtD1sG,KAAK6rG,cAAca,QAAQpgF,UAAY,IAMpC1rB,GAFKZ,KAAKw2G,OAASx2G,KAAKw2G,OAAO71G,OAAS,GAE9B,EAAGC,GAAK,EAAGA,GAAK,EACzBZ,KAAKynI,SAAS7mI,IAAMZ,KAAKynI,SAAS7mI,GAAG+pG,SACvC3qG,KAAKynI,SAAS7mI,GAAG+pG,UAIrB3qG,KAAKynI,SAAS9mI,OAAS,EACvBX,KAAKggH,WAAWkxC,cAAgB,KAChClxJ,KAAK6rG,cAAcn7B,UAAY,KAC/B1wE,KAAKytJ,WAAY,CACnB,EAEAuE,mBAAmB9xJ,UAAUq3E,YAAc,SAAU/vE,EAAK84H,GACxD,IAAItgI,KAAK6wH,gBAAkBrpH,IAAyC,IAAlCxH,KAAKyvI,aAAa6jB,aAAyBhzB,KAAetgI,KAAKytJ,YAAsB,IAATjmJ,EAA9G,CAWA,IAAI5G,EAPJZ,KAAK6wH,cAAgBrpH,EACrBxH,KAAKggH,WAAWqN,SAAW7lH,EAAMxH,KAAK6rG,cAAc4lB,cACpDzxH,KAAKggH,WAAWsR,SAAW,EAC3BtxH,KAAKggH,WAAWoR,MAAQpxH,KAAKyvI,aAAa6jB,aAAehzB,EACzDtgI,KAAKggH,WAAWV,iBAAiBpB,aAAe12G,EAIhD,IAAIwc,EAAMhkB,KAAKw2G,OAAO71G,OAMtB,IAJKX,KAAKu2G,gBACRv2G,KAAK+zI,YAAYvsI,GAGd5G,EAAIojB,EAAM,EAAGpjB,GAAK,EAAGA,GAAK,GACzBZ,KAAKu2G,gBAAkBv2G,KAAKynI,SAAS7mI,KACvCZ,KAAKynI,SAAS7mI,GAAGq9G,aAAaz2G,EAAMxH,KAAKw2G,OAAO51G,GAAGsrC,IAIvD,GAAIlsC,KAAKggH,WAAWoR,KAAM,CAOxB,KANsC,IAAlCpxH,KAAKyvI,aAAa6jB,YACpBtzJ,KAAKkxJ,cAAc7iF,UAAU,EAAG,EAAGruE,KAAK41J,gBAAgBjmH,EAAG3vC,KAAK41J,gBAAgBrqI,GAEhFvrB,KAAKizD,OAGFryD,EAAIojB,EAAM,EAAGpjB,GAAK,EAAGA,GAAK,GACzBZ,KAAKu2G,gBAAkBv2G,KAAKynI,SAAS7mI,KACvCZ,KAAKynI,SAAS7mI,GAAG22E,eAIiB,IAAlCv3E,KAAKyvI,aAAa6jB,aACpBtzJ,KAAKwrD,SAET,CAtCA,CAuCF,EAEAwmG,mBAAmB9xJ,UAAU8zI,UAAY,SAAU5lI,GACjD,IAAIq5H,EAAWznI,KAAKynI,SAEpB,IAAIA,EAASr5H,IAAgC,KAAxBpO,KAAKw2G,OAAOpoG,GAAK27C,GAAtC,CAIA,IAAIp2B,EAAU3zB,KAAKk0I,WAAWl0I,KAAKw2G,OAAOpoG,GAAMpO,KAAMA,KAAKggH,YAC3DynB,EAASr5H,GAAOulB,EAChBA,EAAQstF,iBAJR,CAQF,EAEA+wC,mBAAmB9xJ,UAAU+zI,qBAAuB,WAClD,KAAOj0I,KAAKq1I,gBAAgB10I,QACZX,KAAKq1I,gBAAgB9pF,MAC3B4wF,gBAEZ,EAEA6V,mBAAmB9xJ,UAAUsjH,KAAO,WAClCxjH,KAAK6rG,cAAcn7B,UAAUr7C,MAAMkE,QAAU,MAC/C,EAEAy4H,mBAAmB9xJ,UAAUujH,KAAO,WAClCzjH,KAAK6rG,cAAcn7B,UAAUr7C,MAAMkE,QAAU,OAC/C,EAkDA24H,cAAchyJ,UAAUm5J,UAAY,WAClC,IAAIC,EAA2B,EAAft5J,KAAKkoH,QACjBtnH,EAAI,EAER,IAAKA,EAAIZ,KAAKkoH,QAAStnH,EAAI04J,EAAW14J,GAAK,EACzCZ,KAAK4yD,MAAMhyD,GAAK,IAAIqxJ,cAGtBjyJ,KAAKkoH,QAAUoxC,CACjB,EAEApH,cAAchyJ,UAAUu1H,MAAQ,WAC9Bz1H,KAAKmyJ,QAAU,EACfnyJ,KAAKoyJ,IAAI38B,QACTz1H,KAAK4yD,MAAM5yD,KAAKmyJ,SAASla,QAAU,CACrC,EAEAia,cAAchyJ,UAAUsrD,QAAU,SAAU+tG,GAC1Cv5J,KAAKmyJ,SAAW,EAChB,IAEIvxJ,EAFA44J,EAAiBx5J,KAAK4yD,MAAM5yD,KAAKmyJ,SACjC7rI,EAAYkzI,EAAelzI,UAE3B5e,EAAM1H,KAAKoyJ,IAAIzqD,MAEnB,IAAK/mG,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvB8G,EAAI9G,GAAK0lB,EAAU1lB,GAGrB,GAAI24J,EAAc,CAChBv5J,KAAKqyJ,cAAc7mG,UACnB,IAAIiuG,EAAYz5J,KAAK4yD,MAAM5yD,KAAKmyJ,QAAU,GAC1CnyJ,KAAKyyJ,iBAAmBgH,EAAUvmI,UAClClzB,KAAK2yJ,mBAAqB8G,EAAU7tF,YACpC5rE,KAAK6yJ,iBAAmB4G,EAAU5nI,UAClC7xB,KAAK+yJ,eAAiB0G,EAAUxtF,QAChCjsE,KAAKizJ,gBAAkBwG,EAAUztF,SACjChsE,KAAKkzJ,kBAAoBuG,EAAUntF,UACrC,CAEAtsE,KAAKqyJ,cAAcxjF,aAAavoD,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,IAAKA,EAAU,MAE7GizI,IAA4C,IAA5BC,EAAevhB,SAAkBj4I,KAAKuyJ,iBAAmBiH,EAAevhB,WAC1Fj4I,KAAKqyJ,cAAclmF,YAAcqtF,EAAevhB,QAChDj4I,KAAKuyJ,eAAiBiH,EAAevhB,SAGvCj4I,KAAKwyJ,iBAAmBgH,EAAetmI,UACvClzB,KAAK0yJ,mBAAqB8G,EAAe5tF,YACzC5rE,KAAK4yJ,iBAAmB4G,EAAe3nI,UACvC7xB,KAAK8yJ,eAAiB0G,EAAevtF,QACrCjsE,KAAKgzJ,gBAAkBwG,EAAextF,SACtChsE,KAAKmzJ,kBAAoBqG,EAAeltF,UAC1C,EAEA4lF,cAAchyJ,UAAU+yD,KAAO,SAAUymG,GACnCA,GACF15J,KAAKqyJ,cAAcp/F,OAGrB,IAAI00C,EAAQ3nG,KAAKoyJ,IAAIzqD,MAEjB3nG,KAAKkoH,SAAWloH,KAAKmyJ,SACvBnyJ,KAAKq5J,YAGP,IACIz4J,EADA+4J,EAAe35J,KAAK4yD,MAAM5yD,KAAKmyJ,SAGnC,IAAKvxJ,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvB+4J,EAAarzI,UAAU1lB,GAAK+mG,EAAM/mG,GAGpCZ,KAAKmyJ,SAAW,EAChB,IAAIyH,EAAW55J,KAAK4yD,MAAM5yD,KAAKmyJ,SAC/ByH,EAAS3hB,QAAU0hB,EAAa1hB,QAChC2hB,EAAS1mI,UAAYymI,EAAazmI,UAClC0mI,EAAShuF,YAAc+tF,EAAa/tF,YACpCguF,EAAS/nI,UAAY8nI,EAAa9nI,UAClC+nI,EAAS3tF,QAAU0tF,EAAa1tF,QAChC2tF,EAAS5tF,SAAW2tF,EAAa3tF,SACjC4tF,EAASttF,WAAaqtF,EAAartF,UACrC,EAEA4lF,cAAchyJ,UAAU25J,WAAa,SAAU9wJ,GAC7C/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAASla,QAAUlvI,CACrC,EAEAmpJ,cAAchyJ,UAAU44J,WAAa,SAAU/vJ,GAC7C/I,KAAKqyJ,cAAgBtpJ,CACvB,EAEAmpJ,cAAchyJ,UAAUgzB,UAAY,SAAUnqB,GACxC/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAASj/H,YAAcnqB,IACzC/I,KAAKwyJ,iBAAmBzpJ,EACxB/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAASj/H,UAAYnqB,EAEzC,EAEAmpJ,cAAchyJ,UAAU0rE,YAAc,SAAU7iE,GAC1C/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAASvmF,cAAgB7iE,IAC3C/I,KAAK0yJ,mBAAqB3pJ,EAC1B/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAASvmF,YAAc7iE,EAE3C,EAEAmpJ,cAAchyJ,UAAU2xB,UAAY,SAAU9oB,GACxC/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAAStgI,YAAc9oB,IACzC/I,KAAK4yJ,iBAAmB7pJ,EACxB/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAAStgI,UAAY9oB,EAEzC,EAEAmpJ,cAAchyJ,UAAU+rE,QAAU,SAAUljE,GACtC/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAASlmF,UAAYljE,IACvC/I,KAAK8yJ,eAAiB/pJ,EACtB/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAASlmF,QAAUljE,EAEvC,EAEAmpJ,cAAchyJ,UAAU8rE,SAAW,SAAUjjE,GACvC/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAASnmF,WAAajjE,IACxC/I,KAAKgzJ,gBAAkBjqJ,EACvB/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAASnmF,SAAWjjE,EAExC,EAEAmpJ,cAAchyJ,UAAUosE,WAAa,SAAUvjE,GACzC/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAAS7lF,aAAevjE,IAC1C/I,KAAKmzJ,kBAAoBpqJ,EACzB/I,KAAK4yD,MAAM5yD,KAAKmyJ,SAAS7lF,WAAavjE,EAE1C,EAEAmpJ,cAAchyJ,UAAUomB,UAAY,SAAUqhF,GAC5C3nG,KAAKsyJ,aAAar4B,eAAetyB,GAEjC,IAAIs8C,EAAmBjkJ,KAAKoyJ,IAE5BpyJ,KAAKsyJ,aAAatoG,SAASi6F,GAE3BA,EAAiBhqB,eAAej6H,KAAKsyJ,aAAa3qD,OAClD,IAAImyD,EAAU7V,EAAiBt8C,MAE/B3nG,KAAKqyJ,cAAcxjF,aAAairF,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,IAAKA,EAAQ,IACvG,EAEA5H,cAAchyJ,UAAU+3I,QAAU,SAAUzgF,GAC1C,IAAI+6F,EAAiBvyJ,KAAK4yD,MAAM5yD,KAAKmyJ,SAASla,QAC9Csa,GAAkB/6F,EAAK,EAAI,EAAIA,EAE3Bx3D,KAAK4yD,MAAM5yD,KAAKmyJ,SAASla,UAAYsa,IACnCvyJ,KAAKuyJ,iBAAmB/6F,IAC1Bx3D,KAAKqyJ,cAAclmF,YAAc3U,EACjCx3D,KAAKuyJ,eAAiB/6F,GAGxBx3D,KAAK4yD,MAAM5yD,KAAKmyJ,SAASla,QAAUsa,EAEvC,EAEAL,cAAchyJ,UAAUq2D,KAAO,SAAUmiG,GACnC14J,KAAKyyJ,mBAAqBzyJ,KAAKwyJ,mBACjCxyJ,KAAKyyJ,iBAAmBzyJ,KAAKwyJ,iBAC7BxyJ,KAAKqyJ,cAAcn/H,UAAYlzB,KAAKyyJ,kBAGtCzyJ,KAAKqyJ,cAAc97F,KAAKmiG,EAC1B,EAEAxG,cAAchyJ,UAAUiuE,SAAW,SAAUzgE,EAAGC,EAAGgiC,EAAGpkB,GAChDvrB,KAAKyyJ,mBAAqBzyJ,KAAKwyJ,mBACjCxyJ,KAAKyyJ,iBAAmBzyJ,KAAKwyJ,iBAC7BxyJ,KAAKqyJ,cAAcn/H,UAAYlzB,KAAKyyJ,kBAGtCzyJ,KAAKqyJ,cAAclkF,SAASzgE,EAAGC,EAAGgiC,EAAGpkB,EACvC,EAEA2mI,cAAchyJ,UAAUm1D,OAAS,WAC3Br1D,KAAK2yJ,qBAAuB3yJ,KAAK0yJ,qBACnC1yJ,KAAK2yJ,mBAAqB3yJ,KAAK0yJ,mBAC/B1yJ,KAAKqyJ,cAAczmF,YAAc5rE,KAAK2yJ,oBAGpC3yJ,KAAK6yJ,mBAAqB7yJ,KAAK4yJ,mBACjC5yJ,KAAK6yJ,iBAAmB7yJ,KAAK4yJ,iBAC7B5yJ,KAAKqyJ,cAAcxgI,UAAY7xB,KAAK6yJ,kBAGlC7yJ,KAAK+yJ,iBAAmB/yJ,KAAK8yJ,iBAC/B9yJ,KAAK+yJ,eAAiB/yJ,KAAK8yJ,eAC3B9yJ,KAAKqyJ,cAAcpmF,QAAUjsE,KAAK+yJ,gBAGhC/yJ,KAAKizJ,kBAAoBjzJ,KAAKgzJ,kBAChChzJ,KAAKizJ,gBAAkBjzJ,KAAKgzJ,gBAC5BhzJ,KAAKqyJ,cAAcrmF,SAAWhsE,KAAKizJ,iBAGjCjzJ,KAAKkzJ,oBAAsBlzJ,KAAKmzJ,oBAClCnzJ,KAAKkzJ,kBAAoBlzJ,KAAKmzJ,kBAC9BnzJ,KAAKqyJ,cAAc/lF,WAAatsE,KAAKkzJ,mBAGvClzJ,KAAKqyJ,cAAch9F,QACrB,EAaA65C,gBAAgB,CAAC8iD,mBAAoBxF,aAAcyE,eAAgBmC,eAEnEA,cAAclzJ,UAAUm8I,mBAAqB,WAC3C,IAQIz7I,EARAisE,EAAM7sE,KAAKkxJ,cAWf,IAVArkF,EAAIW,YACJX,EAAI3V,OAAO,EAAG,GACd2V,EAAIzV,OAAOp3D,KAAKqF,KAAKsqC,EAAG,GACxBk9B,EAAIzV,OAAOp3D,KAAKqF,KAAKsqC,EAAG3vC,KAAKqF,KAAKkmB,GAClCshD,EAAIzV,OAAO,EAAGp3D,KAAKqF,KAAKkmB,GACxBshD,EAAIzV,OAAO,EAAG,GACdyV,EAAI/W,OAICl1D,EAFKZ,KAAKw2G,OAAO71G,OAEP,EAAGC,GAAK,EAAGA,GAAK,GACzBZ,KAAKu2G,gBAAkBv2G,KAAKynI,SAAS7mI,KACvCZ,KAAKynI,SAAS7mI,GAAG22E,aAGvB,EAEA67E,cAAclzJ,UAAUyqG,QAAU,WAChC,IAAI/pG,EAGJ,IAAKA,EAFKZ,KAAKw2G,OAAO71G,OAEP,EAAGC,GAAK,EAAGA,GAAK,EACzBZ,KAAKynI,SAAS7mI,IAChBZ,KAAKynI,SAAS7mI,GAAG+pG,UAIrB3qG,KAAKw2G,OAAS,KACdx2G,KAAKynI,SAAW,IAClB,EAEA2rB,cAAclzJ,UAAUm0I,WAAa,SAAUhvI,GAC7C,OAAO,IAAI+tJ,cAAc/tJ,EAAMrF,KAAKggH,WAAYhgH,KAClD,EAmDAkvG,gBAAgB,CAAC8iD,oBAAqBqB,gBAEtCA,eAAenzJ,UAAUm0I,WAAa,SAAUhvI,GAC9C,OAAO,IAAI+tJ,cAAc/tJ,EAAMrF,KAAKggH,WAAYhgH,KAClD,EAIAu0J,aAAar0J,UAAY,CACvB65J,eAAgB,WAA2B,EAC3Ctf,oBAAqB,WACnBz6I,KAAKizI,YAAchkC,UAAUjvG,KAAKqF,KAAK20J,IAAM,OAEzCh6J,KAAKqF,KAAKyxG,SACZ92G,KAAK4sJ,WAAar3C,SAAS,OAC3Bv1G,KAAKkzI,aAAe39B,SAAS,KAC7Bv1G,KAAKm3I,cAAgBn3I,KAAKkzI,aAC1BlzI,KAAK4sJ,WAAW76E,YAAY/xE,KAAKkzI,cACjClzI,KAAKizI,YAAYlhE,YAAY/xE,KAAK4sJ,aAElC5sJ,KAAKkzI,aAAelzI,KAAKizI,YAG3BrgC,SAAS5yG,KAAKizI,YAChB,EACAyH,wBAAyB,WACvB16I,KAAKm4I,yBAA2B,IAAI0Y,UAAU7wJ,MAC9CA,KAAK46I,mBAAqB56I,KAAKizI,YAC/BjzI,KAAKm3I,cAAgBn3I,KAAKkzI,aAEtBlzI,KAAKqF,KAAK2pC,IACZhvC,KAAKkzI,aAAaluB,aAAa,KAAMhlH,KAAKqF,KAAK2pC,IAG7ChvC,KAAKqF,KAAKkqC,IACZvvC,KAAKkzI,aAAaluB,aAAa,QAAShlH,KAAKqF,KAAKkqC,IAG/B,IAAjBvvC,KAAKqF,KAAK2tI,IACZhzI,KAAK8yI,cAET,EACAsI,cAAe,WACb,IAAI6e,EAA0Bj6J,KAAK46I,mBAAqB56I,KAAK46I,mBAAmBvlH,MAAQ,CAAC,EAEzF,GAAIr1B,KAAKuvI,eAAe8H,QAAS,CAC/B,IAAI6iB,EAAcl6J,KAAKuvI,eAAelP,IAAIlF,QAC1C8+B,EAAwB3zI,UAAY4zI,EACpCD,EAAwBE,gBAAkBD,CAC5C,CAEIl6J,KAAKuvI,eAAegI,SACtB0iB,EAAwBhiB,QAAUj4I,KAAKuvI,eAAeC,MAAM7wG,EAAExd,EAElE,EACAo2D,YAAa,WAGPv3E,KAAKqF,KAAKk1E,IAAMv6E,KAAK09B,SAIzB19B,KAAK23I,kBACL33I,KAAK2vI,mBACL3vI,KAAKo7I,gBACLp7I,KAAKq8I,qBAEDr8I,KAAKyxH,gBACPzxH,KAAKyxH,eAAgB,GAEzB,EACA9mB,QAAS,WACP3qG,KAAKkzI,aAAe,KACpBlzI,KAAK46I,mBAAqB,KAEtB56I,KAAK26I,eACP36I,KAAK26I,aAAe,MAGlB36I,KAAKqyI,cACPryI,KAAKqyI,YAAY1nC,UACjB3qG,KAAKqyI,YAAc,KAEvB,EACAiJ,2BAA4B,WAC1Bt7I,KAAKqyI,YAAc,IAAIyD,YAAY91I,KAAKqF,KAAMrF,KAAMA,KAAKggH,WAC3D,EACAo6C,WAAY,WAAuB,EACnCne,SAAU,WAAqB,GAEjCsY,aAAar0J,UAAUuzI,eAAiBwG,eAAe/5I,UAAUuzI,eACjE8gB,aAAar0J,UAAUm7I,mBAAqBkZ,aAAar0J,UAAUyqG,QACnE4pD,aAAar0J,UAAU60I,sBAAwBnD,aAAa1xI,UAAU60I,sBAMtE7lC,gBAAgB,CAAC6hC,YAAa8E,iBAAkB0e,aAAcra,iBAAkBlJ,aAAcmJ,sBAAuBqa,eAErHA,cAAct0J,UAAUk8I,cAAgB,WACtC,IAAIjpH,EAEAnzB,KAAKqF,KAAKyxG,UACZ3jF,EAAOoiF,SAAS,SACXyP,aAAa,QAAShlH,KAAKqF,KAAKsuF,IACrCxgE,EAAK6xF,aAAa,SAAUhlH,KAAKqF,KAAK6pH,IACtC/7F,EAAK6xF,aAAa,OAAQhlH,KAAKqF,KAAKs/E,IACpC3kF,KAAK4sJ,WAAW5nC,aAAa,QAAShlH,KAAKqF,KAAKsuF,IAChD3zF,KAAK4sJ,WAAW5nC,aAAa,SAAUhlH,KAAKqF,KAAK6pH,OAEjD/7F,EAAO87E,UAAU,QACZ55E,MAAM7sB,MAAQxI,KAAKqF,KAAKsuF,GAAK,KAClCxgE,EAAKkC,MAAMjgB,OAASpV,KAAKqF,KAAK6pH,GAAK,KACnC/7F,EAAKkC,MAAME,gBAAkBv1B,KAAKqF,KAAKs/E,IAGzC3kF,KAAKkzI,aAAanhE,YAAY5+C,EAChC,EA8BA+7E,gBAAgB,CAAC6hC,YAAa8E,iBAAkB2e,cAAejT,gBAAiBgT,aAAcra,iBAAkBlJ,aAAcrC,mBAAoB8lB,eAClJA,cAAcv0J,UAAUm6J,kBAAoB5F,cAAcv0J,UAAUm8I,mBAEpEoY,cAAcv0J,UAAUk8I,cAAgB,WACtC,IAAIlU,EAGJ,GAFAloI,KAAKizI,YAAY59G,MAAMtE,SAAW,EAE9B/wB,KAAKqF,KAAKyxG,QACZ92G,KAAKkzI,aAAanhE,YAAY/xE,KAAK00J,iBACnCxsB,EAAOloI,KAAK4sJ,eACP,CACL1kB,EAAO3yB,SAAS,OAChB,IAAItsG,EAAOjJ,KAAKu3G,KAAKlyG,KAAOrF,KAAKu3G,KAAKlyG,KAAOrF,KAAKggH,WAAW01B,SAC7DxN,EAAKljB,aAAa,QAAS/7G,EAAK0mC,GAChCu4F,EAAKljB,aAAa,SAAU/7G,EAAKsiB,GACjC28G,EAAKn2D,YAAY/xE,KAAK00J,iBACtB10J,KAAKkzI,aAAanhE,YAAYm2D,EAChC,CAEAloI,KAAKmjJ,aAAanjJ,KAAK2yI,WAAY3yI,KAAK4yI,UAAW5yI,KAAK6+I,aAAc7+I,KAAK00J,gBAAiB,EAAG,IAAI,GACnG10J,KAAKojJ,qBACLpjJ,KAAKs6J,UAAYpyB,CACnB,EAEAusB,cAAcv0J,UAAUq6J,oBAAsB,SAAUpd,EAAc1zB,GACpE,IAAI7oH,EACAojB,EAAMm5H,EAAax8I,OAEvB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB6oH,EAAQ0zB,EAAav8I,GAAGooI,OAAO7nH,EAAEs5G,kBAAkBhR,EAAM,GAAIA,EAAM,GAAI,GAGzE,OAAOA,CACT,EAEAgrC,cAAcv0J,UAAUs6J,0BAA4B,SAAU5/I,EAAMykC,GAClE,IAEIz+C,EAEA65J,EACAC,EACAC,EACAC,EAPA1mC,EAAQt5G,EAAKs0G,GAAG/tG,EAChBg8H,EAAeviI,EAAKuiI,aAEpBn5H,EAAMkwG,EAAMhM,QAMhB,KAAIlkG,GAAO,GAAX,CAIA,IAAKpjB,EAAI,EAAGA,EAAIojB,EAAM,EAAGpjB,GAAK,EAC5B65J,EAASz6J,KAAKu6J,oBAAoBpd,EAAcjpB,EAAM/yG,EAAEvgB,IACxD85J,EAAS16J,KAAKu6J,oBAAoBpd,EAAcjpB,EAAMv1F,EAAE/9B,IACxD+5J,EAAa36J,KAAKu6J,oBAAoBpd,EAAcjpB,EAAMtzH,EAAEA,EAAI,IAChEg6J,EAAa56J,KAAKu6J,oBAAoBpd,EAAcjpB,EAAM/yG,EAAEvgB,EAAI,IAChEZ,KAAK66J,YAAYJ,EAAQC,EAAQC,EAAYC,EAAYv7G,GAGvD60E,EAAM/xH,IACRs4J,EAASz6J,KAAKu6J,oBAAoBpd,EAAcjpB,EAAM/yG,EAAEvgB,IACxD85J,EAAS16J,KAAKu6J,oBAAoBpd,EAAcjpB,EAAMv1F,EAAE/9B,IACxD+5J,EAAa36J,KAAKu6J,oBAAoBpd,EAAcjpB,EAAMtzH,EAAE,IAC5Dg6J,EAAa56J,KAAKu6J,oBAAoBpd,EAAcjpB,EAAM/yG,EAAE,IAC5DnhB,KAAK66J,YAAYJ,EAAQC,EAAQC,EAAYC,EAAYv7G,GAf3D,CAiBF,EAEAo1G,cAAcv0J,UAAU26J,YAAc,SAAUJ,EAAQC,EAAQC,EAAYC,EAAYv7G,GACtFr/C,KAAK86J,iBAAiBL,EAAQC,EAAQC,EAAYC,GAClD,IAAI1zF,EAASlnE,KAAK+6J,iBAClB17G,EAAY3xC,EAAIwkG,MAAMhrC,EAAO50C,KAAM+sB,EAAY3xC,GAC/C2xC,EAAYg7C,KAAO4X,MAAM/qC,EAAO90C,MAAOitB,EAAYg7C,MACnDh7C,EAAY1xC,EAAIukG,MAAMhrC,EAAO/0C,IAAKktB,EAAY1xC,GAC9C0xC,EAAYi7C,KAAO2X,MAAM/qC,EAAO70C,OAAQgtB,EAAYi7C,KACtD,EAEAm6D,cAAcv0J,UAAU66J,iBAAmB,CACzCzoI,KAAM,EACNF,MAAO,EACPD,IAAK,EACLE,OAAQ,GAEVoiI,cAAcv0J,UAAU86J,gBAAkB,CACxCttJ,EAAG,EACH2sF,KAAM,EACN1sF,EAAG,EACH2sF,KAAM,EACN9xF,MAAO,EACP4M,OAAQ,GAGVq/I,cAAcv0J,UAAU46J,iBAAmB,SAAU/kC,EAAIC,EAAIkD,EAAIsI,GAG/D,IAFA,IAESj+G,EAAGC,EAAGrhB,EAAGshB,EAAGw3I,EAAM7vC,EAAI58E,EAF3B04B,EAAS,CAAC,CAAC6uD,EAAG,GAAIyL,EAAG,IAAK,CAACzL,EAAG,GAAIyL,EAAG,KAEN5gI,EAAI,EAAGA,EAAI,IAAKA,EAEjD4iB,EAAI,EAAIuyG,EAAGn1H,GAAK,GAAKo1H,EAAGp1H,GAAK,EAAIs4H,EAAGt4H,GACpC2iB,GAAK,EAAIwyG,EAAGn1H,GAAK,EAAIo1H,EAAGp1H,GAAK,EAAIs4H,EAAGt4H,GAAK,EAAI4gI,EAAG5gI,GAChDuB,EAAI,EAAI6zH,EAAGp1H,GAAK,EAAIm1H,EAAGn1H,GACvB4iB,GAAK,EAILrhB,GAAK,EAEK,KAJVohB,GAAK,IAIgB,IAANC,IACE,IAAND,GACTE,GAAKthB,EAAIqhB,GAED,GAAKC,EAAI,GACfyjD,EAAOtmE,GAAG4E,KAAKxF,KAAKk7J,WAAWz3I,EAAGsyG,EAAIC,EAAIkD,EAAIsI,EAAI5gI,KAGpDq6J,EAAOz3I,EAAIA,EAAI,EAAIrhB,EAAIohB,IAEX,KACV6nG,IAAO5nG,EAAIuuF,OAAOkpD,KAAU,EAAI13I,IACvB,GAAK6nG,EAAK,GAAGlkD,EAAOtmE,GAAG4E,KAAKxF,KAAKk7J,WAAW9vC,EAAI2K,EAAIC,EAAIkD,EAAIsI,EAAI5gI,KACzE4tC,IAAOhrB,EAAIuuF,OAAOkpD,KAAU,EAAI13I,IACvB,GAAKirB,EAAK,GAAG04B,EAAOtmE,GAAG4E,KAAKxF,KAAKk7J,WAAW1sH,EAAIunF,EAAIC,EAAIkD,EAAIsI,EAAI5gI,MAK/EZ,KAAK+6J,iBAAiBzoI,KAAO4/E,MAAM7pG,MAAM,KAAM6+D,EAAO,IACtDlnE,KAAK+6J,iBAAiB5oI,IAAM+/E,MAAM7pG,MAAM,KAAM6+D,EAAO,IACrDlnE,KAAK+6J,iBAAiB3oI,MAAQ6/E,MAAM5pG,MAAM,KAAM6+D,EAAO,IACvDlnE,KAAK+6J,iBAAiB1oI,OAAS4/E,MAAM5pG,MAAM,KAAM6+D,EAAO,GAC1D,EAEAutF,cAAcv0J,UAAUg7J,WAAa,SAAUz3I,EAAGsyG,EAAIC,EAAIkD,EAAIsI,EAAI5gI,GAChE,OAAOkxG,MAAM,EAAIruF,EAAG,GAAKsyG,EAAGn1H,GAAK,EAAIkxG,MAAM,EAAIruF,EAAG,GAAKA,EAAIuyG,EAAGp1H,GAAK,GAAK,EAAI6iB,GAAKquF,MAAMruF,EAAG,GAAKy1G,EAAGt4H,GAAKkxG,MAAMruF,EAAG,GAAK+9G,EAAG5gI,EAC1H,EAEA6zJ,cAAcv0J,UAAUi7J,qBAAuB,SAAUvoB,EAAWvzF,GAClE,IAAIz+C,EACAojB,EAAM4uH,EAAUjyI,OAEpB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBgyI,EAAUhyI,IAAMgyI,EAAUhyI,GAAGsuH,GAC/BlvH,KAAKw6J,0BAA0B5nB,EAAUhyI,GAAIy+C,GACpCuzF,EAAUhyI,IAAMgyI,EAAUhyI,GAAGgf,GACtC5f,KAAKm7J,qBAAqBvoB,EAAUhyI,GAAGgf,GAAIy/B,GAClCuzF,EAAUhyI,IAAMgyI,EAAUhyI,GAAGy0B,OAASu9G,EAAUhyI,GAAG+uC,GAC5D3vC,KAAKo7J,wBAAwBxoB,EAAUhyI,GAAG+uC,EAAG0P,EAGnD,EAEAo1G,cAAcv0J,UAAUk7J,wBAA0B,SAAUC,EAAeh8G,GACzE,IAAI72C,EAAQ,EAEZ,GAAI6yJ,EAAcrtC,UAAW,CAC3B,IAAK,IAAIptH,EAAI,EAAGA,EAAIy6J,EAAcrtC,UAAUrtH,OAAQC,GAAK,EAAG,CAC1D,IAAI06J,EAAMD,EAAcrtC,UAAUptH,GAAGqgB,EAEjCq6I,EAAM9yJ,IACRA,EAAQ8yJ,EAEZ,CAEA9yJ,GAAS6yJ,EAAclqC,IACzB,MACE3oH,EAAQ6yJ,EAAcl6I,EAAIk6I,EAAclqC,KAG1C9xE,EAAY3xC,GAAKlF,EACjB62C,EAAYg7C,MAAQ7xF,EACpB62C,EAAY1xC,GAAKnF,EACjB62C,EAAYi7C,MAAQ9xF,CACtB,EAEAisJ,cAAcv0J,UAAUq7J,mBAAqB,SAAUt5B,GACrD,OAAOjiI,KAAK20J,YAAYjnJ,GAAKu0H,EAAIv0H,GAAK1N,KAAK20J,YAAYhnJ,GAAKs0H,EAAIt0H,GAAK3N,KAAK20J,YAAYnsJ,MAAQxI,KAAK20J,YAAYjnJ,GAAKu0H,EAAIv0H,EAAIu0H,EAAIz5H,OAASxI,KAAK20J,YAAYv/I,OAASpV,KAAK20J,YAAYhnJ,GAAKs0H,EAAIt0H,EAAIs0H,EAAI7sH,MACvM,EAEAq/I,cAAcv0J,UAAUm8I,mBAAqB,WAG3C,GAFAr8I,KAAKq6J,qBAEAr6J,KAAK09B,SAAW19B,KAAKyxH,eAAiBzxH,KAAKoxH,MAAO,CACrD,IAAI4pC,EAAkBh7J,KAAKg7J,gBACvB53J,EAAM,OASV,GARA43J,EAAgBttJ,EAAItK,EACpB43J,EAAgB3gE,MAAQj3F,EACxB43J,EAAgBrtJ,EAAIvK,EACpB43J,EAAgB1gE,MAAQl3F,EACxBpD,KAAKm7J,qBAAqBn7J,KAAK4yI,UAAWooB,GAC1CA,EAAgBxyJ,MAAQwyJ,EAAgB3gE,KAAO2gE,EAAgBttJ,EAAI,EAAIstJ,EAAgB3gE,KAAO2gE,EAAgBttJ,EAC9GstJ,EAAgB5lJ,OAAS4lJ,EAAgB1gE,KAAO0gE,EAAgBrtJ,EAAI,EAAIqtJ,EAAgB1gE,KAAO0gE,EAAgBrtJ,EAE3G3N,KAAKu7J,mBAAmBP,GAC1B,OAGF,IAAIQ,GAAU,EAcd,GAZIx7J,KAAK20J,YAAYhlH,IAAMqrH,EAAgBxyJ,QACzCxI,KAAK20J,YAAYhlH,EAAIqrH,EAAgBxyJ,MACrCxI,KAAKs6J,UAAUt1C,aAAa,QAASg2C,EAAgBxyJ,OACrDgzJ,GAAU,GAGRx7J,KAAK20J,YAAYppI,IAAMyvI,EAAgB5lJ,SACzCpV,KAAK20J,YAAYppI,EAAIyvI,EAAgB5lJ,OACrCpV,KAAKs6J,UAAUt1C,aAAa,SAAUg2C,EAAgB5lJ,QACtDomJ,GAAU,GAGRA,GAAWx7J,KAAK20J,YAAYjnJ,IAAMstJ,EAAgBttJ,GAAK1N,KAAK20J,YAAYhnJ,IAAMqtJ,EAAgBrtJ,EAAG,CACnG3N,KAAK20J,YAAYhlH,EAAIqrH,EAAgBxyJ,MACrCxI,KAAK20J,YAAYppI,EAAIyvI,EAAgB5lJ,OACrCpV,KAAK20J,YAAYjnJ,EAAIstJ,EAAgBttJ,EACrC1N,KAAK20J,YAAYhnJ,EAAIqtJ,EAAgBrtJ,EACrC3N,KAAKs6J,UAAUt1C,aAAa,UAAWhlH,KAAK20J,YAAYjnJ,EAAI,IAAM1N,KAAK20J,YAAYhnJ,EAAI,IAAM3N,KAAK20J,YAAYhlH,EAAI,IAAM3vC,KAAK20J,YAAYppI,GACzI,IAAIkwI,EAAaz7J,KAAKs6J,UAAUjlI,MAC5BqmI,EAAiB,aAAe17J,KAAK20J,YAAYjnJ,EAAI,MAAQ1N,KAAK20J,YAAYhnJ,EAAI,MACtF8tJ,EAAWn1I,UAAYo1I,EACvBD,EAAWtB,gBAAkBuB,CAC/B,CACF,CACF,EAgBAxsD,gBAAgB,CAAC6hC,YAAa8E,iBAAkB0e,aAAcra,iBAAkBlJ,aAAcmJ,qBAAsBkP,cAAeuL,cAEnIA,aAAa10J,UAAUk8I,cAAgB,WAGrC,GAFAp8I,KAAK80J,SAAW90J,KAAK8xI,aAEjB9xI,KAAK80J,SAAU,CACjB90J,KAAK0oJ,WAAa,MAClB1oJ,KAAK27J,MAAQ37J,KAAKu3G,KAAKlyG,KAAKsqC,EAC5B3vC,KAAK47J,MAAQ57J,KAAKu3G,KAAKlyG,KAAKkmB,EAC5BvrB,KAAK4sJ,WAAW5nC,aAAa,QAAShlH,KAAK27J,OAC3C37J,KAAK4sJ,WAAW5nC,aAAa,SAAUhlH,KAAK47J,OAC5C,IAAIzqJ,EAAIokG,SAAS,KACjBv1G,KAAKm3I,cAAcplE,YAAY5gE,GAC/BnR,KAAKs8I,UAAYnrI,CACnB,MACEnR,KAAK0oJ,WAAa,OAClB1oJ,KAAKs8I,UAAYt8I,KAAKkzI,aAGxBlzI,KAAKm8I,gBACP,EAEAyY,aAAa10J,UAAU+rJ,aAAe,WACpC,IAAI/zC,EAAel4G,KAAK6nJ,aAAa7F,YACrChiJ,KAAKmpJ,gBAAkB93C,iBAAiB6G,EAAat5F,EAAIs5F,EAAat5F,EAAEje,OAAS,GACjF,IAAIk7J,EAAiB77J,KAAKs8I,UAAUjnH,MAChCrB,EAAYkkF,EAAat7B,GAAK58E,KAAK6rJ,WAAW3zC,EAAat7B,IAAM,gBACrEi/E,EAAetlG,KAAOviC,EACtB6nI,EAAe5pJ,MAAQ+hB,EAEnBkkF,EAAavzB,KACfk3E,EAAexmG,OAASr1D,KAAK6rJ,WAAW3zC,EAAavzB,IACrDk3E,EAAeC,YAAc5jD,EAAavkB,GAAK,MAGjD,IAiBI/yF,EACAojB,EAlBA0iH,EAAW1mI,KAAKggH,WAAWc,YAAYqtB,cAAcj2B,EAAajtF,GAEtE,IAAKjrB,KAAKggH,WAAWc,YAAYxI,MAI/B,GAHAujD,EAAe9qI,SAAWmnF,EAAayqC,UAAY,KACnDkZ,EAAe5qI,WAAainF,EAAayqC,UAAY,KAEjDjc,EAASkF,OACX5rI,KAAKs8I,UAAUjsE,UAAYq2D,EAASkF,WAC/B,CACLiwB,EAAe7kI,WAAa0vG,EAASiF,QACrC,IAAI/E,EAAU1uB,EAAa0uB,QACvBD,EAASzuB,EAAayuB,OAC1Bk1B,EAAe/nI,UAAY6yG,EAC3Bk1B,EAAe/kI,WAAa8vG,CAC9B,CAKF,IAEI0nB,EACAyN,EACAC,EAJAr4J,EAAUu0G,EAAat5F,EAC3BoF,EAAMrgB,EAAQhD,OAId,IACI02G,EADA0yC,EAAe/pJ,KAAKy4I,QAEpBiT,EAAW,GACXtoI,EAAM,EAEV,IAAKxiB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAuC3B,GAtCIZ,KAAKggH,WAAWc,YAAYxI,OACzBt4G,KAAK60J,UAAUzxI,GAMlBkrI,EAAQtuJ,KAAK60J,UAAUzxI,KALvBkrI,EAAQ/4C,SAAS,SACXyP,aAAa,iBAAkBg4B,YAAY,IACjDsR,EAAMtpC,aAAa,kBAAmBi4B,aAAa,IACnDqR,EAAMtpC,aAAa,oBAAqB,MAKrChlH,KAAK80J,WACJ90J,KAAKosJ,UAAUhpI,GAEjB44I,GADAD,EAAU/7J,KAAKosJ,UAAUhpI,IACT0xD,SAAS,KAEzBinF,EAAU9sD,UAAU,QACZ55E,MAAMpE,WAAa,GAC3B+qI,EAAQzmD,SAAS,QACXxjC,YAAYu8E,GAClB17C,SAASmpD,MAGH/7J,KAAK80J,SAYfxG,EAAQtuJ,KAAK60J,UAAUzxI,GAAOpjB,KAAK60J,UAAUzxI,GAAOmyF,SAAS,QAXzDv1G,KAAKosJ,UAAUhpI,IACjB24I,EAAU/7J,KAAKosJ,UAAUhpI,GACzBkrI,EAAQtuJ,KAAK60J,UAAUzxI,KAGvBwvF,SADAmpD,EAAU9sD,UAAU,SAGpB2D,SADA07C,EAAQr/C,UAAU,SAElB8sD,EAAQhqF,YAAYu8E,IAOpBtuJ,KAAKggH,WAAWc,YAAYxI,MAAO,CACrC,IACIqS,EADApS,EAAWv4G,KAAKggH,WAAWc,YAAYmtB,YAAY/1B,EAAa0qC,UAAUhiJ,GAAI8lI,EAASC,OAAQ3mI,KAAKggH,WAAWc,YAAYqtB,cAAcj2B,EAAajtF,GAAG0gH,SAkB7J,GAdEhhB,EADEpS,EACUA,EAASlzG,KAET,KAGd0kJ,EAAat0B,QAET9K,GAAaA,EAAUtT,QAAUsT,EAAUtT,OAAO12G,SACpD02G,EAASsT,EAAUtT,OAAO,GAAGz3F,GAC7BmqI,EAAa/lG,MAAMk0D,EAAayqC,UAAY,IAAKzqC,EAAayqC,UAAY,KAC1E+I,EAAW1rJ,KAAKyrJ,gBAAgB1B,EAAc1yC,GAC9Ci3C,EAAMtpC,aAAa,IAAK0mC,IAGrB1rJ,KAAK80J,SAsBR90J,KAAKs8I,UAAUvqE,YAAYu8E,OAtBT,CAGlB,GAFAtuJ,KAAKs8I,UAAUvqE,YAAYgqF,GAEvBpxC,GAAaA,EAAUtT,OAAQ,CAEjCzxF,SAASyG,KAAK0lD,YAAYiqF,GAC1B,IAAI38G,EAAc28G,EAAMzgD,UACxBygD,EAAMh3C,aAAa,QAAS3lE,EAAY72C,MAAQ,GAChDwzJ,EAAMh3C,aAAa,SAAU3lE,EAAYjqC,OAAS,GAClD4mJ,EAAMh3C,aAAa,UAAW3lE,EAAY3xC,EAAI,EAAI,KAAO2xC,EAAY1xC,EAAI,GAAK,KAAO0xC,EAAY72C,MAAQ,GAAK,KAAO62C,EAAYjqC,OAAS,IAC1I,IAAI6mJ,EAAaD,EAAM3mI,MACnB6mI,EAAmB,cAAgB78G,EAAY3xC,EAAI,GAAK,OAAS2xC,EAAY1xC,EAAI,GAAK,MAC1FsuJ,EAAW31I,UAAY41I,EACvBD,EAAW9B,gBAAkB+B,EAC7Bv4J,EAAQ/C,GAAG21E,QAAUl3B,EAAY1xC,EAAI,CACvC,MACEquJ,EAAMh3C,aAAa,QAAS,GAC5Bg3C,EAAMh3C,aAAa,SAAU,GAG/B+2C,EAAQhqF,YAAYiqF,EACtB,CAGF,MAIE,GAHA1N,EAAMt0H,YAAcr2B,EAAQ/C,GAAG+G,IAC/B2mJ,EAAM9xC,eAAe,uCAAwC,YAAa,YAErEx8G,KAAK80J,SAQR90J,KAAKs8I,UAAUvqE,YAAYu8E,OART,CAClBtuJ,KAAKs8I,UAAUvqE,YAAYgqF,GAE3B,IAAII,EAAS7N,EAAMj5H,MACf+mI,EAAmB,kBAAoBlkD,EAAayqC,UAAY,IAAM,QAC1EwZ,EAAO71I,UAAY81I,EACnBD,EAAOhC,gBAAkBiC,CAC3B,CAMGp8J,KAAK80J,SAGR90J,KAAKosJ,UAAUhpI,GAAOkrI,EAFtBtuJ,KAAKosJ,UAAUhpI,GAAO24I,EAKxB/7J,KAAKosJ,UAAUhpI,GAAKiS,MAAMkE,QAAU,QACpCv5B,KAAK60J,UAAUzxI,GAAOkrI,EACtBlrI,GAAO,CACT,CAEA,KAAOA,EAAMpjB,KAAKosJ,UAAUzrJ,QAC1BX,KAAKosJ,UAAUhpI,GAAKiS,MAAMkE,QAAU,OACpCnW,GAAO,CAEX,EAEAwxI,aAAa10J,UAAUm8I,mBAAqB,WAE1C,IAAIggB,EAEJ,GAHAr8J,KAAKgsJ,eAGDhsJ,KAAKqF,KAAKyoJ,YAAa,CACzB,IAAK9tJ,KAAKyxH,gBAAkBzxH,KAAKopJ,mBAC/B,OAGF,GAAIppJ,KAAK80J,UAAY90J,KAAKuvI,eAAe8H,QAAS,CAEhDr3I,KAAK4sJ,WAAW5nC,aAAa,WAAYhlH,KAAKuvI,eAAeC,MAAMnxH,EAAE8C,EAAE,GAAK,KAAOnhB,KAAKuvI,eAAeC,MAAMnxH,EAAE8C,EAAE,GAAK,IAAMnhB,KAAK27J,MAAQ,IAAM37J,KAAK47J,OACpJS,EAAWr8J,KAAK4sJ,WAAWv3H,MAC3B,IAAIinI,EAAc,cAAgBt8J,KAAKuvI,eAAeC,MAAMnxH,EAAE8C,EAAE,GAAK,OAASnhB,KAAKuvI,eAAeC,MAAMnxH,EAAE8C,EAAE,GAAK,MACjHk7I,EAAS/1I,UAAYg2I,EACrBD,EAASlC,gBAAkBmC,CAC7B,CACF,CAIA,GAFAt8J,KAAKwrJ,aAAajC,YAAYvpJ,KAAK6nJ,aAAa7F,YAAahiJ,KAAKopJ,oBAE7DppJ,KAAKopJ,oBAAuBppJ,KAAKwrJ,aAAapC,mBAAnD,CAIA,IAAIxoJ,EACAojB,EAKAirI,EACAC,EACAqN,EANAz0J,EAAQ,EACRqhJ,EAAkBnpJ,KAAKwrJ,aAAarC,gBACpCxlJ,EAAU3D,KAAK6nJ,aAAa7F,YAAYpjI,EAM5C,IALAoF,EAAMrgB,EAAQhD,OAKTC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpB+C,EAAQ/C,GAAG+E,EACbmC,GAAS,GAETonJ,EAAWlvJ,KAAKosJ,UAAUxrJ,GAC1B27J,EAAWv8J,KAAK60J,UAAUj0J,GAC1BquJ,EAAiB9F,EAAgBrhJ,GACjCA,GAAS,EAELmnJ,EAAe79B,KAAKxrH,IACjB5F,KAAK80J,SAIR5F,EAASlqC,aAAa,YAAaiqC,EAAerpJ,IAHlDspJ,EAAS75H,MAAM8kI,gBAAkBlL,EAAerpJ,EAChDspJ,EAAS75H,MAAM/O,UAAY2oI,EAAerpJ,IAO9CspJ,EAAS75H,MAAM4iH,QAAUgX,EAAetwH,EAEpCswH,EAAet7D,IAAMs7D,EAAe79B,KAAKz9B,IAC3C4oE,EAASv3C,aAAa,eAAgBiqC,EAAet7D,IAGnDs7D,EAAetqE,IAAMsqE,EAAe79B,KAAKzsC,IAC3C43E,EAASv3C,aAAa,SAAUiqC,EAAetqE,IAG7CsqE,EAAeryE,IAAMqyE,EAAe79B,KAAKx0C,KAC3C2/E,EAASv3C,aAAa,OAAQiqC,EAAeryE,IAC7C2/E,EAASlnI,MAAMpjB,MAAQg9I,EAAeryE,KAK5C,GAAI58E,KAAKs8I,UAAU/gC,UAAYv7G,KAAK09B,SAAW19B,KAAKyxH,eAAiBzxH,KAAKoxH,MAAO,CAC/E,IAAI/xE,EAAcr/C,KAAKs8I,UAAU/gC,UAcjC,GAZIv7G,KAAK20J,YAAYhlH,IAAM0P,EAAY72C,QACrCxI,KAAK20J,YAAYhlH,EAAI0P,EAAY72C,MACjCxI,KAAK4sJ,WAAW5nC,aAAa,QAAS3lE,EAAY72C,QAGhDxI,KAAK20J,YAAYppI,IAAM8zB,EAAYjqC,SACrCpV,KAAK20J,YAAYppI,EAAI8zB,EAAYjqC,OACjCpV,KAAK4sJ,WAAW5nC,aAAa,SAAU3lE,EAAYjqC,SAKjDpV,KAAK20J,YAAYhlH,IAAM0P,EAAY72C,MAAQ+qB,GAAcvzB,KAAK20J,YAAYppI,IAAM8zB,EAAYjqC,OAASme,GAAcvzB,KAAK20J,YAAYjnJ,IAAM2xC,EAAY3xC,EAF7I,GAE2J1N,KAAK20J,YAAYhnJ,IAAM0xC,EAAY1xC,EAF9L,EAE0M,CACrN3N,KAAK20J,YAAYhlH,EAAI0P,EAAY72C,MAAQ+qB,EACzCvzB,KAAK20J,YAAYppI,EAAI8zB,EAAYjqC,OAASme,EAC1CvzB,KAAK20J,YAAYjnJ,EAAI2xC,EAAY3xC,EALtB,EAMX1N,KAAK20J,YAAYhnJ,EAAI0xC,EAAY1xC,EANtB,EAOX3N,KAAK4sJ,WAAW5nC,aAAa,UAAWhlH,KAAK20J,YAAYjnJ,EAAI,IAAM1N,KAAK20J,YAAYhnJ,EAAI,IAAM3N,KAAK20J,YAAYhlH,EAAI,IAAM3vC,KAAK20J,YAAYppI,GAC1I8wI,EAAWr8J,KAAK4sJ,WAAWv3H,MAC3B,IAAImnI,EAAe,aAAex8J,KAAK20J,YAAYjnJ,EAAI,MAAQ1N,KAAK20J,YAAYhnJ,EAAI,MACpF0uJ,EAAS/1I,UAAYk2I,EACrBH,EAASlC,gBAAkBqC,CAC7B,CACF,CA1EA,CA2EF,EA6CAttD,gBAAgB,CAAC6hC,YAAaC,aAAckJ,kBAAmB6a,gBAE/DA,eAAe70J,UAAUu8J,MAAQ,WAC/B,IAAI77J,EAEA22G,EACAmlD,EACA9D,EAHA50I,EAAMhkB,KAAKu3G,KAAK49C,eAAex0J,OAKnC,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAIxB,GAAkB,QAFlB22G,EAAOv3G,KAAKu3G,KAAK49C,eAAev0J,IAEvB0C,KAAe,CACtBo5J,EAAmBnlD,EAAKolD,gBAAgBtnI,MACxCujI,EAAiBrhD,EAAK7mC,UAAUr7C,MAChC,IAAIunI,EAAc58J,KAAK8vD,GAAG3uC,EAAI,KAC1B2K,EAAS,cACTozB,EAAS,4CACbw9G,EAAiBE,YAAcA,EAC/BF,EAAiBG,kBAAoBD,EACrChE,EAAe/lD,gBAAkB/mF,EACjC8sI,EAAeC,mBAAqB/sI,EACpC8sI,EAAe9lD,sBAAwBhnF,EACvC4wI,EAAiBp2I,UAAY44B,EAC7Bw9G,EAAiBvC,gBAAkBj7G,CACrC,CAEJ,EAEA61G,eAAe70J,UAAUq1J,eAAiB,WAAa,EAEvDR,eAAe70J,UAAUsjH,KAAO,WAAa,EAE7CuxC,eAAe70J,UAAUq3E,YAAc,WACrC,IACI32E,EACAojB,EAFAotG,EAAOpxH,KAAKyxH,cAIhB,GAAIzxH,KAAKi1I,UAGP,IAFAjxH,EAAMhkB,KAAKi1I,UAAUt0I,OAEhBC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBwwH,EAAOpxH,KAAKi1I,UAAUr0I,GAAG2uI,eAAeC,MAAMpe,MAAQA,EAI1D,GAAIA,GAAQpxH,KAAK8vD,GAAGshE,MAAQpxH,KAAKqe,GAAKre,KAAKqe,EAAE+yG,MAAQpxH,KAAKk0E,KAAOl0E,KAAKk0E,GAAGk9C,MAAQpxH,KAAK8/H,GAAG1O,MAAQpxH,KAAK+/H,GAAG3O,OAASpxH,KAAKggI,GAAG5O,MAAQpxH,KAAKigI,GAAG7O,MAAQpxH,KAAKkgI,GAAG9O,MAAQpxH,KAAK+2D,GAAGq6D,MAAQpxH,KAAKujB,GAAKvjB,KAAKujB,EAAE6tG,KAAM,CAGvM,GAFApxH,KAAKqgI,IAAI5K,QAELz1H,KAAKi1I,UAGP,IAAKr0I,EAFLojB,EAAMhkB,KAAKi1I,UAAUt0I,OAAS,EAEhBC,GAAK,EAAGA,GAAK,EAAG,CAC5B,IAAIk8J,EAAU98J,KAAKi1I,UAAUr0I,GAAG2uI,eAAeC,MAC/CxvI,KAAKqgI,IAAIp2E,WAAW6yG,EAAQz+I,EAAE8C,EAAE,IAAK27I,EAAQz+I,EAAE8C,EAAE,GAAI27I,EAAQz+I,EAAE8C,EAAE,IACjEnhB,KAAKqgI,IAAIlI,SAAS2kC,EAAQ/lG,GAAG51C,EAAE,IAAIi3G,SAAS0kC,EAAQ/lG,GAAG51C,EAAE,IAAIk3G,QAAQykC,EAAQ/lG,GAAG51C,EAAE,IAClFnhB,KAAKqgI,IAAIlI,SAAS2kC,EAAQ98B,GAAG7+G,GAAGi3G,SAAS0kC,EAAQ78B,GAAG9+G,GAAGk3G,QAAQykC,EAAQ58B,GAAG/+G,GAC1EnhB,KAAKqgI,IAAIr8E,MAAM,EAAI84G,EAAQ77I,EAAEE,EAAE,GAAI,EAAI27I,EAAQ77I,EAAEE,EAAE,GAAI,EAAI27I,EAAQ77I,EAAEE,EAAE,IACvEnhB,KAAKqgI,IAAIp2E,UAAU6yG,EAAQv5I,EAAEpC,EAAE,GAAI27I,EAAQv5I,EAAEpC,EAAE,GAAI27I,EAAQv5I,EAAEpC,EAAE,GACjE,CASF,GANInhB,KAAKqe,EACPre,KAAKqgI,IAAIp2E,WAAWjqD,KAAKqe,EAAE8C,EAAE,IAAKnhB,KAAKqe,EAAE8C,EAAE,GAAInhB,KAAKqe,EAAE8C,EAAE,IAExDnhB,KAAKqgI,IAAIp2E,WAAWjqD,KAAKk0E,GAAG/yD,GAAInhB,KAAK8/H,GAAG3+G,EAAGnhB,KAAK+/H,GAAG5+G,GAGjDnhB,KAAKujB,EAAG,CACV,IAAIw5I,EAGFA,EADE/8J,KAAKqe,EACM,CAACre,KAAKqe,EAAE8C,EAAE,GAAKnhB,KAAKujB,EAAEpC,EAAE,GAAInhB,KAAKqe,EAAE8C,EAAE,GAAKnhB,KAAKujB,EAAEpC,EAAE,GAAInhB,KAAKqe,EAAE8C,EAAE,GAAKnhB,KAAKujB,EAAEpC,EAAE,IAE9E,CAACnhB,KAAKk0E,GAAG/yD,EAAInhB,KAAKujB,EAAEpC,EAAE,GAAInhB,KAAK8/H,GAAG3+G,EAAInhB,KAAKujB,EAAEpC,EAAE,GAAInhB,KAAK+/H,GAAG5+G,EAAInhB,KAAKujB,EAAEpC,EAAE,IAGvF,IAAI67I,EAAM54J,KAAKyB,KAAKzB,KAAKC,IAAI04J,EAAW,GAAI,GAAK34J,KAAKC,IAAI04J,EAAW,GAAI,GAAK34J,KAAKC,IAAI04J,EAAW,GAAI,IAElGE,EAAU,CAACF,EAAW,GAAKC,EAAKD,EAAW,GAAKC,EAAKD,EAAW,GAAKC,GACrEE,EAAiB94J,KAAKyB,KAAKo3J,EAAQ,GAAKA,EAAQ,GAAKA,EAAQ,GAAKA,EAAQ,IAC1EE,EAAa/4J,KAAKolD,MAAMyzG,EAAQ,GAAIC,GACpCE,EAAah5J,KAAKolD,MAAMyzG,EAAQ,IAAKA,EAAQ,IACjDj9J,KAAKqgI,IAAIjI,QAAQglC,GAAYjlC,SAASglC,EACxC,CAEAn9J,KAAKqgI,IAAIlI,SAASn4H,KAAKggI,GAAG7+G,GAAGi3G,SAASp4H,KAAKigI,GAAG9+G,GAAGk3G,QAAQr4H,KAAKkgI,GAAG/+G,GACjEnhB,KAAKqgI,IAAIlI,SAASn4H,KAAK+2D,GAAG51C,EAAE,IAAIi3G,SAASp4H,KAAK+2D,GAAG51C,EAAE,IAAIk3G,QAAQr4H,KAAK+2D,GAAG51C,EAAE,IACzEnhB,KAAKqgI,IAAIp2E,UAAUjqD,KAAKggH,WAAW01B,SAAS/lG,EAAI,EAAG3vC,KAAKggH,WAAW01B,SAASnqH,EAAI,EAAG,GACnFvrB,KAAKqgI,IAAIp2E,UAAU,EAAG,EAAGjqD,KAAK8vD,GAAG3uC,GACjC,IAAIk8I,GAAoBr9J,KAAKg1J,SAAS96F,OAAOl6D,KAAKqgI,KAElD,IAAKg9B,GAAoBr9J,KAAK8vD,GAAGshE,OAASpxH,KAAKu3G,KAAK49C,eAAgB,CAElE,IAAI59C,EACAmlD,EACA9D,EAEJ,IALA50I,EAAMhkB,KAAKu3G,KAAK49C,eAAex0J,OAK1BC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAGxB,GAAkB,QAFlB22G,EAAOv3G,KAAKu3G,KAAK49C,eAAev0J,IAEvB0C,KAAe,CACtB,GAAI+5J,EAAkB,CACpB,IAAIC,EAAWt9J,KAAKqgI,IAAIlF,SACxBy9B,EAAiBrhD,EAAK7mC,UAAUr7C,OACjB/O,UAAYg3I,EAC3B1E,EAAeuB,gBAAkBmD,CACnC,CAEIt9J,KAAK8vD,GAAGshE,QACVsrC,EAAmBnlD,EAAKolD,gBAAgBtnI,OACvBunI,YAAc58J,KAAK8vD,GAAG3uC,EAAI,KAC3Cu7I,EAAiBG,kBAAoB78J,KAAK8vD,GAAG3uC,EAAI,KAErD,CAGFnhB,KAAKqgI,IAAI51E,MAAMzqD,KAAKg1J,SACtB,CACF,CAEAh1J,KAAKyxH,eAAgB,CACvB,EAEAsjC,eAAe70J,UAAU+9G,aAAe,SAAUz2G,GAChDxH,KAAKszI,kBAAkB9rI,GAAK,EAC9B,EAEAutJ,eAAe70J,UAAUyqG,QAAU,WAAa,EAEhDoqD,eAAe70J,UAAUuzI,eAAiB,WACxC,OAAO,IACT,EAOAvkC,gBAAgB,CAAC6hC,YAAa8E,iBAAkB0e,aAAcC,cAAeta,iBAAkBlJ,aAAcrC,mBAAoBsmB,eAEjIA,cAAc/0J,UAAUk8I,cAAgB,WACtC,IAAI9rC,EAAYtwG,KAAKggH,WAAWhF,cAAch7G,KAAKi7G,WAC/CrqC,EAAM,IAAIwG,MAEVp3E,KAAKqF,KAAKyxG,SACZ92G,KAAKu9J,UAAYhoD,SAAS,SAC1Bv1G,KAAKu9J,UAAUv4C,aAAa,QAAShlH,KAAKi7G,UAAUtrE,EAAI,MACxD3vC,KAAKu9J,UAAUv4C,aAAa,SAAUhlH,KAAKi7G,UAAU1vF,EAAI,MACzDvrB,KAAKu9J,UAAU/gD,eAAe,+BAAgC,OAAQlM,GACtEtwG,KAAKkzI,aAAanhE,YAAY/xE,KAAKu9J,WACnCv9J,KAAKizI,YAAYjuB,aAAa,QAAShlH,KAAKi7G,UAAUtrE,GACtD3vC,KAAKizI,YAAYjuB,aAAa,SAAUhlH,KAAKi7G,UAAU1vF,IAEvDvrB,KAAKkzI,aAAanhE,YAAYnB,GAGhCA,EAAI2rC,YAAc,YAClB3rC,EAAI5F,IAAMslC,EAENtwG,KAAKqF,KAAK2pC,IACZhvC,KAAKizI,YAAYjuB,aAAa,KAAMhlH,KAAKqF,KAAK2pC,GAElD,EA+BAkgE,gBAAgB,CAAC0iC,cAAesjB,oBAChCA,mBAAmBh1J,UAAU8zI,UAAY2Y,YAAYzsJ,UAAU8zI,UAE/DkhB,mBAAmBh1J,UAAU+zI,qBAAuB,WAClD,KAAOj0I,KAAKq1I,gBAAgB10I,QACZX,KAAKq1I,gBAAgB9pF,MAC3B4wF,gBAEZ,EAEA+Y,mBAAmBh1J,UAAUkvJ,mBAAqB,SAAUz7H,EAASvlB,GACnE,IAAIovJ,EAAgB7pI,EAAQ8/G,iBAE5B,GAAK+pB,EAAL,CAIA,IAAIrpB,EAAQn0I,KAAKw2G,OAAOpoG,GAExB,GAAK+lI,EAAMspB,KAAQz9J,KAAK0sJ,WA4BtB1sJ,KAAK09J,iBAAiBF,EAAepvJ,QA3BrC,GAAIpO,KAAKm1J,eACPn1J,KAAK09J,iBAAiBF,EAAepvJ,OAChC,CAML,IALA,IACIuvJ,EACAC,EAFAh9J,EAAI,EAKDA,EAAIwN,GACLpO,KAAKynI,SAAS7mI,KAA2B,IAArBZ,KAAKynI,SAAS7mI,IAAeZ,KAAKynI,SAAS7mI,GAAG6yI,iBACpEmqB,EAAY59J,KAAKynI,SAAS7mI,GAE1B+8J,GADgB39J,KAAKw2G,OAAO51G,GAAG68J,IAAMz9J,KAAK69J,wBAAwBj9J,GAAKg9J,EAAUnqB,mBAC/CkqB,GAGpC/8J,GAAK,EAGH+8J,EACGxpB,EAAMspB,KAAQz9J,KAAK0sJ,YACtB1sJ,KAAKkzI,aAAauc,aAAa+N,EAAeG,GAEtCxpB,EAAMspB,KAAQz9J,KAAK0sJ,YAC7B1sJ,KAAKkzI,aAAanhE,YAAYyrF,EAElC,CA9BF,CAkCF,EAEAtI,mBAAmBh1J,UAAUs0I,YAAc,SAAUnvI,GACnD,OAAKrF,KAAK0sJ,WAIH,IAAI+H,cAAcpvJ,EAAMrF,KAAKggH,WAAYhgH,MAHvC,IAAIuhJ,gBAAgBl8I,EAAMrF,KAAKggH,WAAYhgH,KAItD,EAEAk1J,mBAAmBh1J,UAAUu0I,WAAa,SAAUpvI,GAClD,OAAKrF,KAAK0sJ,WAIH,IAAIkI,aAAavvJ,EAAMrF,KAAKggH,WAAYhgH,MAHtC,IAAImsJ,qBAAqB9mJ,EAAMrF,KAAKggH,WAAYhgH,KAI3D,EAEAk1J,mBAAmBh1J,UAAUw0I,aAAe,SAAUrvI,GAEpD,OADArF,KAAKo1J,OAAS,IAAIL,eAAe1vJ,EAAMrF,KAAKggH,WAAYhgH,MACjDA,KAAKo1J,MACd,EAEAF,mBAAmBh1J,UAAUk0I,YAAc,SAAU/uI,GACnD,OAAKrF,KAAK0sJ,WAIH,IAAIuI,cAAc5vJ,EAAMrF,KAAKggH,WAAYhgH,MAHvC,IAAIo6I,cAAc/0I,EAAMrF,KAAKggH,WAAYhgH,KAIpD,EAEAk1J,mBAAmBh1J,UAAUo0I,YAAc,SAAUjvI,GACnD,OAAKrF,KAAK0sJ,WAIH,IAAI8H,cAAcnvJ,EAAMrF,KAAKggH,WAAYhgH,MAHvC,IAAIqsJ,cAAchnJ,EAAMrF,KAAKggH,WAAYhgH,KAIpD,EAEAk1J,mBAAmBh1J,UAAUq0I,WAAaoY,YAAYzsJ,UAAUq0I,WAEhE2gB,mBAAmBh1J,UAAU29J,wBAA0B,SAAUzvJ,GAI/D,IAHA,IAAIxN,EAAI,EACJojB,EAAMhkB,KAAKm1J,eAAex0J,OAEvBC,EAAIojB,GAAK,CACd,GAAIhkB,KAAKm1J,eAAev0J,GAAGkyB,UAAY1kB,GAAOpO,KAAKm1J,eAAev0J,GAAGk9J,QAAU1vJ,EAC7E,OAAOpO,KAAKm1J,eAAev0J,GAAG+7J,gBAGhC/7J,GAAK,CACP,CAEA,OAAO,IACT,EAEAs0J,mBAAmBh1J,UAAU69J,sBAAwB,SAAU3vJ,EAAK9K,GAClE,IACI+xB,EACAujI,EAFA+D,EAAkB1tD,UAAU,OAGhC2D,SAAS+pD,GACT,IAAIjsF,EAAYu+B,UAAU,OAG1B,GAFA2D,SAASliC,GAEI,OAATptE,EAAe,EACjB+xB,EAAQsnI,EAAgBtnI,OAClB7sB,MAAQxI,KAAKggH,WAAW01B,SAAS/lG,EAAI,KAC3Cta,EAAMjgB,OAASpV,KAAKggH,WAAW01B,SAASnqH,EAAI,KAC5C,IAAIq6G,EAAS,UACbvwG,EAAMy9E,sBAAwB8yB,EAC9BvwG,EAAMwjI,mBAAqBjzB,EAC3BvwG,EAAMw9E,gBAAkB+yB,EAExB,IAAI1mF,EAAS,6CADb05G,EAAiBloF,EAAUr7C,OAEZ/O,UAAY44B,EAC3B05G,EAAeuB,gBAAkBj7G,CACnC,CAEAy9G,EAAgB5qF,YAAYrB,GAE5B,IAAIstF,EAAsB,CACxBttF,UAAWA,EACXisF,gBAAiBA,EACjB7pI,SAAU1kB,EACV0vJ,OAAQ1vJ,EACR9K,KAAMA,GAGR,OADAtD,KAAKm1J,eAAe3vJ,KAAKw4J,GAClBA,CACT,EAEA9I,mBAAmBh1J,UAAU+9J,kBAAoB,WAC/C,IAAIr9J,EAEAs9J,EADAl6I,EAAMhkB,KAAKw2G,OAAO71G,OAElBw9J,EAAmB,GAEvB,IAAKv9J,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBZ,KAAKw2G,OAAO51G,GAAG68J,KAA6B,IAAtBz9J,KAAKw2G,OAAO51G,GAAGmpD,IACd,OAArBo0G,IACFA,EAAmB,KACnBD,EAA0Bl+J,KAAK+9J,sBAAsBn9J,EAAG,OAG1Ds9J,EAAwBJ,OAAS15J,KAAKhB,IAAI86J,EAAwBJ,OAAQl9J,KAEjD,OAArBu9J,IACFA,EAAmB,KACnBD,EAA0Bl+J,KAAK+9J,sBAAsBn9J,EAAG,OAG1Ds9J,EAAwBJ,OAAS15J,KAAKhB,IAAI86J,EAAwBJ,OAAQl9J,IAM9E,IAAKA,GAFLojB,EAAMhkB,KAAKm1J,eAAex0J,QAEX,EAAGC,GAAK,EAAGA,GAAK,EAC7BZ,KAAKo+J,YAAYrsF,YAAY/xE,KAAKm1J,eAAev0J,GAAG+7J,gBAExD,EAEAzH,mBAAmBh1J,UAAUw9J,iBAAmB,SAAUzoI,EAAM7mB,GAI9D,IAHA,IAAIxN,EAAI,EACJojB,EAAMhkB,KAAKm1J,eAAex0J,OAEvBC,EAAIojB,GAAK,CACd,GAAI5V,GAAOpO,KAAKm1J,eAAev0J,GAAGk9J,OAAQ,CAIxC,IAHA,IACItO,EADAvuJ,EAAIjB,KAAKm1J,eAAev0J,GAAGkyB,SAGxB7xB,EAAImN,GACLpO,KAAKynI,SAASxmI,IAAMjB,KAAKynI,SAASxmI,GAAGwyI,iBACvC+b,EAAcxvJ,KAAKynI,SAASxmI,GAAGwyI,kBAGjCxyI,GAAK,EAGHuuJ,EACFxvJ,KAAKm1J,eAAev0J,GAAG8vE,UAAU++E,aAAax6H,EAAMu6H,GAEpDxvJ,KAAKm1J,eAAev0J,GAAG8vE,UAAUqB,YAAY98C,GAG/C,KACF,CAEAr0B,GAAK,CACP,CACF,EAEAs0J,mBAAmBh1J,UAAUu/G,gBAAkB,SAAUgC,GACvD,IAAI28C,EAAcnvD,UAAU,OACxBvC,EAAU1sG,KAAK6rG,cAAca,QAC7Br3E,EAAQ+oI,EAAY/oI,MACxBA,EAAM7sB,MAAQi5G,EAAS9xE,EAAI,KAC3Bta,EAAMjgB,OAASqsG,EAASl2F,EAAI,KAC5BvrB,KAAKo+J,YAAcA,EACnBxrD,SAASwrD,GACT/oI,EAAM49E,eAAiB,OACvB59E,EAAM89E,kBAAoB,OAC1B99E,EAAM69E,qBAAuB,OAEzBlzG,KAAKyvI,aAAap/D,WACpB+tF,EAAYp5C,aAAa,QAAShlH,KAAKyvI,aAAap/D,WAGtDq8B,EAAQ36B,YAAYqsF,GACpB/oI,EAAMtB,SAAW,SACjB,IAAIs8H,EAAM96C,SAAS,OACnB86C,EAAIrrC,aAAa,QAAS,KAC1BqrC,EAAIrrC,aAAa,SAAU,KAC3BpS,SAASy9C,GACTrwJ,KAAKo+J,YAAYrsF,YAAYs+E,GAC7B,IAAIpwC,EAAO1K,SAAS,QACpB86C,EAAIt+E,YAAYkuC,GAChBjgH,KAAKqF,KAAOo8G,EAEZzhH,KAAKw1I,gBAAgB/zB,EAAU4uC,GAC/BrwJ,KAAKggH,WAAWC,KAAOA,EACvBjgH,KAAKw2G,OAASiL,EAASjL,OACvBx2G,KAAKkzI,aAAelzI,KAAKo+J,YACzBp+J,KAAKi+J,oBACLj+J,KAAKmiH,qBACP,EAEA+yC,mBAAmBh1J,UAAUyqG,QAAU,WAOrC,IAAI/pG,EANAZ,KAAK6rG,cAAca,UACrB1sG,KAAK6rG,cAAca,QAAQpgF,UAAY,IAGzCtsB,KAAK6rG,cAAcn7B,UAAY,KAC/B1wE,KAAKggH,WAAWC,KAAO,KAEvB,IAAIj8F,EAAMhkB,KAAKw2G,OAASx2G,KAAKw2G,OAAO71G,OAAS,EAE7C,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACpBZ,KAAKynI,SAAS7mI,IAAMZ,KAAKynI,SAAS7mI,GAAG+pG,SACvC3qG,KAAKynI,SAAS7mI,GAAG+pG,UAIrB3qG,KAAKynI,SAAS9mI,OAAS,EACvBX,KAAKytJ,WAAY,EACjBztJ,KAAK6rG,cAAgB,IACvB,EAEAqpD,mBAAmBh1J,UAAUiiH,oBAAsB,WACjD,IAIIz4D,EACAE,EACAE,EACAC,EAPAivG,EAAeh5J,KAAK6rG,cAAca,QAAQh7B,YAC1CunF,EAAgBj5J,KAAK6rG,cAAca,QAAQr6B,aAC3C6mF,EAAaF,EAAeC,EACbj5J,KAAKggH,WAAW01B,SAAS/lG,EAAI3vC,KAAKggH,WAAW01B,SAASnqH,EAMtD2tI,GACjBxvG,EAAKsvG,EAAeh5J,KAAKggH,WAAW01B,SAAS/lG,EAC7Cia,EAAKovG,EAAeh5J,KAAKggH,WAAW01B,SAAS/lG,EAC7Cma,EAAK,EACLC,GAAMkvG,EAAgBj5J,KAAKggH,WAAW01B,SAASnqH,GAAKytI,EAAeh5J,KAAKggH,WAAW01B,SAAS/lG,IAAM,IAElG+Z,EAAKuvG,EAAgBj5J,KAAKggH,WAAW01B,SAASnqH,EAC9Cq+B,EAAKqvG,EAAgBj5J,KAAKggH,WAAW01B,SAASnqH,EAC9Cu+B,GAAMkvG,EAAeh5J,KAAKggH,WAAW01B,SAAS/lG,GAAKspH,EAAgBj5J,KAAKggH,WAAW01B,SAASnqH,IAAM,EAClGw+B,EAAK,GAGP,IAAI10B,EAAQr1B,KAAKo+J,YAAY/oI,MAC7BA,EAAM8kI,gBAAkB,YAAczwG,EAAK,YAAcE,EAAK,gBAAkBE,EAAK,IAAMC,EAAK,QAChG10B,EAAM/O,UAAY+O,EAAM8kI,eAC1B,EAEAjF,mBAAmBh1J,UAAUq3E,YAAco1E,YAAYzsJ,UAAUq3E,YAEjE29E,mBAAmBh1J,UAAUsjH,KAAO,WAClCxjH,KAAKo+J,YAAY/oI,MAAMkE,QAAU,MACnC,EAEA27H,mBAAmBh1J,UAAUujH,KAAO,WAClCzjH,KAAKo+J,YAAY/oI,MAAMkE,QAAU,OACnC,EAEA27H,mBAAmBh1J,UAAU6hH,UAAY,WAGvC,GAFA/hH,KAAK40I,gBAED50I,KAAKo1J,OACPp1J,KAAKo1J,OAAOqH,YACP,CACL,IAEI77J,EAFAy9J,EAASr+J,KAAKggH,WAAW01B,SAAS/lG,EAClC2uH,EAAUt+J,KAAKggH,WAAW01B,SAASnqH,EAEnCvH,EAAMhkB,KAAKm1J,eAAex0J,OAE9B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAAG,CAC3B,IAAIy0B,EAAQr1B,KAAKm1J,eAAev0J,GAAG+7J,gBAAgBtnI,MACnDA,EAAMwnI,kBAAoBz4J,KAAKyB,KAAKzB,KAAKC,IAAIg6J,EAAQ,GAAKj6J,KAAKC,IAAIi6J,EAAS,IAAM,KAClFjpI,EAAMunI,YAAcvnI,EAAMwnI,iBAC5B,CACF,CACF,EAEA3H,mBAAmBh1J,UAAUwhH,wBAA0B,SAAUtJ,GAC/D,IAAIx3G,EACAojB,EAAMo0F,EAAOz3G,OACb49J,EAAoBtvD,UAAU,OAElC,IAAKruG,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,GAAIw3G,EAAOx3G,GAAG6mD,GAAI,CAChB,IAAI8vD,EAAOv3G,KAAKq0I,WAAWj8B,EAAOx3G,GAAI29J,EAAmBv+J,KAAKggH,WAAWzI,KAAM,MAC/EA,EAAK0J,kBACLjhH,KAAKggH,WAAWV,iBAAiBzB,oBAAoBtG,EACvD,CAEJ,EAcArI,gBAAgB,CAACgmD,mBAAoB1I,aAAc+H,cAAec,cAClEA,aAAan1J,UAAUs+J,6BAA+BnJ,aAAan1J,UAAUw6I,wBAE7E2a,aAAan1J,UAAUw6I,wBAA0B,WAC/C16I,KAAKw+J,+BAGDx+J,KAAKqF,KAAKyxG,SACZ92G,KAAK4sJ,WAAW5nC,aAAa,QAAShlH,KAAKqF,KAAKsqC,GAChD3vC,KAAK4sJ,WAAW5nC,aAAa,SAAUhlH,KAAKqF,KAAKkmB,GACjDvrB,KAAK46I,mBAAqB56I,KAAKizI,aAE/BjzI,KAAK46I,mBAAqB56I,KAAKkzI,YAEnC,EAEAmiB,aAAan1J,UAAUw9J,iBAAmB,SAAUzoI,EAAM7mB,GAIxD,IAHA,IACIohJ,EADAvuJ,EAAI,EAGDA,EAAImN,GACLpO,KAAKynI,SAASxmI,IAAMjB,KAAKynI,SAASxmI,GAAGwyI,iBACvC+b,EAAcxvJ,KAAKynI,SAASxmI,GAAGwyI,kBAGjCxyI,GAAK,EAGHuuJ,EACFxvJ,KAAKkzI,aAAauc,aAAax6H,EAAMu6H,GAErCxvJ,KAAKkzI,aAAanhE,YAAY98C,EAElC,EAEAogI,aAAan1J,UAAUm0I,WAAa,SAAUhvI,GAC5C,OAAKrF,KAAK0sJ,WAIH,IAAI2I,aAAahwJ,EAAMrF,KAAKggH,WAAYhgH,MAHtC,IAAIysJ,eAAepnJ,EAAMrF,KAAKggH,WAAYhgH,KAIrD,EAgCAkvG,gBAAgB,CAACgmD,oBAAqBI,gBAEtCA,eAAep1J,UAAUm0I,WAAa,SAAUhvI,GAC9C,OAAKrF,KAAK0sJ,WAIH,IAAI2I,aAAahwJ,EAAMrF,KAAKggH,WAAYhgH,MAHtC,IAAIysJ,eAAepnJ,EAAMrF,KAAKggH,WAAYhgH,KAIrD,EAEA,IAAImyI,wBACK,SAAU56B,GACf,SAASknD,EAAmBx+J,GAI1B,IAHA,IAAIW,EAAI,EACJojB,EAAMuzF,EAAKf,OAAO71G,OAEfC,EAAIojB,GAAK,CACd,GAAIuzF,EAAKf,OAAO51G,GAAGo9G,KAAO/9G,GAAQs3G,EAAKf,OAAO51G,GAAGgrC,MAAQ3rC,EACvD,OAAOs3G,EAAKkwB,SAAS7mI,GAAGwxI,eAG1BxxI,GAAK,CACP,CAEA,OAAO,IACT,CAaA,OAXAE,OAAOysB,eAAekxI,EAAoB,QAAS,CACjD11J,MAAOwuG,EAAKlyG,KAAK24G,KAEnBygD,EAAmBtqB,MAAQsqB,EAC3BA,EAAmBC,YAAc,EACjCD,EAAmBrpJ,OAASmiG,EAAKlyG,KAAKkmB,GAAKgsF,EAAKyI,WAAW01B,SAASnqH,EACpEkzI,EAAmBj2J,MAAQ+uG,EAAKlyG,KAAKsqC,GAAK4nE,EAAKyI,WAAW01B,SAAS/lG,EACnE8uH,EAAmBC,YAAc,EACjCD,EAAmBE,cAAgB,EAAIpnD,EAAKyI,WAAWrB,UACvD8/C,EAAmBG,iBAAmB,EACtCH,EAAmBI,UAAYtnD,EAAKf,OAAO71G,OACpC89J,CACT,EAGF,SAASK,UAAU13J,GAAuV,OAA1O03J,UAArD,oBAAXzpE,QAAoD,kBAApBA,OAAOkc,SAAqC,SAAiBnqG,GAAO,cAAcA,CAAK,EAAwB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXiuF,QAAyBjuF,EAAIhH,cAAgBi1F,QAAUjuF,IAAQiuF,OAAOn1F,UAAY,gBAAkBkH,CAAK,EAAY03J,UAAU13J,EAAM,CA2BjY,SAAS23J,WAAWh8J,EAAM8lH,GAIxB,IAaIm2C,EAbA9zI,EAASlrB,KACTwI,EAAQ,IAMZy2J,EAAU,SAEVC,EAAar2C,EAAKxkH,IAAImE,EANb,GAOL22J,EAAet2C,EAAKxkH,IAAI,EALnB,IAML0vB,EAA0B,EAAforI,EACXpoB,EAAOvuI,EAAQ,EA6FnB,SAAS42J,EAAK5xJ,GACZ,IAAIiW,EACA47I,EAAS7xJ,EAAI7M,OACbivD,EAAK5vD,KACLY,EAAI,EACJK,EAAI2uD,EAAGhvD,EAAIgvD,EAAG3uD,EAAI,EAClBggB,EAAI2uC,EAAG9R,EAAI,GAOf,IALKuhH,IACH7xJ,EAAM,CAAC6xJ,MAIFz+J,EAAI4H,GACTyY,EAAErgB,GAAKA,IAGT,IAAKA,EAAI,EAAGA,EAAI4H,EAAO5H,IACrBqgB,EAAErgB,GAAKqgB,EAAEhgB,EAAI81I,EAAO91I,EAAIuM,EAAI5M,EAAIy+J,IAAW57I,EAAIxC,EAAErgB,KACjDqgB,EAAEhgB,GAAKwiB,EAITmsC,EAAGz+C,EAAI,SAAUrJ,GAQf,IANA,IAAI2b,EACApS,EAAI,EACJzQ,EAAIgvD,EAAGhvD,EACPK,EAAI2uD,EAAG3uD,EACPggB,EAAI2uC,EAAG9R,EAEJh2C,KACL2b,EAAIxC,EAAErgB,EAAIm2I,EAAOn2I,EAAI,GACrByQ,EAAIA,EAAI7I,EAAQyY,EAAE81H,GAAQ91H,EAAErgB,GAAKqgB,EAAEhgB,EAAI81I,EAAO91I,EAAIwiB,KAAOxC,EAAEhgB,GAAKwiB,IAKlE,OAFAmsC,EAAGhvD,EAAIA,EACPgvD,EAAG3uD,EAAIA,EACAoQ,CAGT,CACF,CAMA,SAAS6sC,EAAKjzB,EAAGxH,GAIf,OAHAA,EAAE7iB,EAAIqqB,EAAErqB,EACR6iB,EAAExiB,EAAIgqB,EAAEhqB,EACRwiB,EAAEq6B,EAAI7yB,EAAE6yB,EAAEz9C,QACHojB,CACT,CAMA,SAAS67I,EAAQl4J,EAAKgP,GACpB,IAEIglB,EAFAvzB,EAAS,GACT03J,EAAMT,UAAU13J,GAGpB,GAAIgP,GAAgB,UAAPmpJ,EACX,IAAKnkI,KAAQh0B,EACX,IACES,EAAOrC,KAAK85J,EAAQl4J,EAAIg0B,GAAOhlB,EAAQ,GACzC,CAAE,MAAOwU,GAAI,CAIjB,OAAO/iB,EAAOlH,OAASkH,EAAgB,UAAP03J,EAAkBn4J,EAAMA,EAAM,IAChE,CAOA,SAASo4J,EAAOh/J,EAAMgN,GAKpB,IAJA,IACIiyJ,EADAC,EAAal/J,EAAO,GAEpBS,EAAI,EAEDA,EAAIy+J,EAAW/+J,QACpB6M,EAAIupI,EAAO91I,GAAK81I,GAAQ0oB,GAAyB,GAAhBjyJ,EAAIupI,EAAO91I,IAAWy+J,EAAWt+J,WAAWH,KAG/E,OAAO0+J,EAASnyJ,EAClB,CA2BA,SAASmyJ,EAASp8I,GAChB,OAAOgB,OAAOC,aAAanc,MAAM,EAAGkb,EACtC,CAlIAslG,EAAK,OAASo2C,GA3Ed,SAAoBz+J,EAAMkB,EAASmvE,GACjC,IAAIrjE,EAAM,GAKNoyJ,EAAYJ,EAAOF,GAJvB59J,GAAsB,IAAZA,EAAmB,CAC3Bm+J,SAAS,GACPn+J,GAAW,CAAC,GAEuBm+J,QAAU,CAACr/J,EAAMm/J,EAAS58J,IAAkB,OAATvC,EAiL5E,WACE,IACE,GAAIw+J,EACF,OAAOW,EAASX,EAAWc,YAAYt3J,IAGzC,IAAI+f,EAAM,IAAIqhB,WAAWphC,GAEzB,OADC0iB,EAAO60I,QAAU70I,EAAO80I,UAAUC,gBAAgB13I,GAC5Co3I,EAASp3I,EAClB,CAAE,MAAOqC,GACP,IAAIs1I,EAAUh1I,EAAOC,UACjBg1I,EAAUD,GAAWA,EAAQC,QACjC,MAAO,EAAE,IAAI70J,KAAQ4f,EAAQi1I,EAASj1I,EAAOk1I,OAAQT,EAAS58J,GAChE,CACF,CA/L4Fs9J,GAAa7/J,EAAM,GAAIgN,GAE7G8yJ,EAAO,IAAIlB,EAAK5xJ,GAGhB+yJ,EAAO,WAOT,IANA,IAAI56J,EAAI26J,EAAKnvJ,EA5BR,GA8BLwS,EAAIu7I,EAEJxxJ,EAAI,EAEG/H,EAAIw5J,GAETx5J,GAAKA,EAAI+H,GAAKlF,EAEdmb,GAAKnb,EAELkF,EAAI4yJ,EAAKnvJ,EAAE,GAGb,KAAOxL,GAAKouB,GAEVpuB,GAAK,EAELge,GAAK,EAELjW,KAAO,EAGT,OAAQ/H,EAAI+H,GAAKiW,CACnB,EAcA,OAZA48I,EAAKC,MAAQ,WACX,OAAmB,EAAZF,EAAKnvJ,EAAE,EAChB,EAEAovJ,EAAKE,MAAQ,WACX,OAAOH,EAAKnvJ,EAAE,GAAK,UACrB,EAEAovJ,EAAa,OAAIA,EAEjBf,EAAOG,EAASW,EAAKxiH,GAAI/6C,IAEjBrB,EAAQg/J,MAAQ7vF,GAAY,SAAU0vF,EAAM//J,EAAMmgK,EAAc5oJ,GAetE,OAdIA,IAEEA,EAAM+lC,GACRI,EAAKnmC,EAAOuoJ,GAIdC,EAAKxoJ,MAAQ,WACX,OAAOmmC,EAAKoiH,EAAM,CAAC,EACrB,GAKEK,GACF93C,EAAKo2C,GAAWsB,EACT//J,GAGG+/J,CACd,GAAGA,EAAMX,EAAW,WAAYl+J,EAAUA,EAAQwpB,OAASlrB,MAAQ6oH,EAAMnnH,EAAQqW,MACnF,EA6IAynJ,EAAO32C,EAAKpoH,SAAUsC,EAKxB,CAIA,SAAS69J,aAAazuD,GACpB4sD,WAAW,GAAI5sD,EACjB,CAEA,IAAI0uD,UAAY,CACdC,MAAO,SAGT,SAASC,UAAU35J,GAAuV,OAA1O25J,UAArD,oBAAX1rE,QAAoD,kBAApBA,OAAOkc,SAAqC,SAAiBnqG,GAAO,cAAcA,CAAK,EAAwB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXiuF,QAAyBjuF,EAAIhH,cAAgBi1F,QAAUjuF,IAAQiuF,OAAOn1F,UAAY,gBAAkBkH,CAAK,EAAY25J,UAAU35J,EAAM,CAEjY,IAAI45J,kBAAoB,WAGtB,IAAI3kF,GAAK,CAAC,EACNj4E,KAAO+tG,OACPxsF,OAAS,KACTC,SAAW,KACXuE,eAAiB,KACjB82I,MAAQ,KACR7qF,OAAS,KACT8qF,cAAgB,CAAC,EAGrB,SAAS9+C,aACP8+C,cAAgB,CAAC,CACnB,CAEA,SAASC,sBAAsBz5J,GAC7B,OAAOA,EAAItH,cAAgBE,OAASoH,EAAItH,cAAgBomE,YAC1D,CAEA,SAAS46F,YAAYC,EAAMlgJ,GACzB,MAAgB,WAATkgJ,GAAqBlgJ,aAAarc,QAAmB,YAATu8J,GAA+B,WAATA,CAC3E,CAEA,SAASC,QAAQ/9I,GACf,IAAIg+I,EAAOR,UAAUx9I,GAErB,GAAa,WAATg+I,GAAqBh+I,aAAaze,QAAmB,YAATy8J,EAC9C,OAAQh+I,EAGV,GAAI49I,sBAAsB59I,GAAI,CAC5B,IAAI3iB,EACA4gK,EAAOj+I,EAAE5iB,OACT8gK,EAAS,GAEb,IAAK7gK,EAAI,EAAGA,EAAI4gK,EAAM5gK,GAAK,EACzB6gK,EAAO7gK,IAAM2iB,EAAE3iB,GAGjB,OAAO6gK,CACT,CAEA,OAAIl+I,EAAEkqG,SACGlqG,EAAEpC,GAGHoC,CACV,CAtCAq9I,aAAazuD,QAwCb,IAAIuvD,UAAYn8C,cAAc+I,gBAAgB,KAAO,EAAG,KAAO,KAAO,UAAU/qH,IAC5Eo+J,WAAap8C,cAAc+I,gBAAgB,KAAO,KAAO,KAAO,EAAG,WAAW/qH,IAC9Eq+J,aAAer8C,cAAc+I,gBAAgB,IAAM,EAAG,KAAO,EAAG,aAAa/qH,IAEjF,SAASkG,IAAI8Z,EAAGC,GACd,IAAI+9I,EAAOR,UAAUx9I,GAEjBs+I,EAAOd,UAAUv9I,GAErB,GAAI49I,YAAYG,EAAMh+I,IAAM69I,YAAYS,EAAMr+I,IAAe,WAAT+9I,GAA8B,WAATM,EACvE,OAAOt+I,EAAIC,EAGb,GAAI29I,sBAAsB59I,IAAM69I,YAAYS,EAAMr+I,GAGhD,OAFAD,EAAIA,EAAEljB,MAAM,IACV,IAAMmjB,EACDD,EAGT,GAAI69I,YAAYG,EAAMh+I,IAAM49I,sBAAsB39I,GAGhD,OAFAA,EAAIA,EAAEnjB,MAAM,IACV,GAAKkjB,EAAIC,EAAE,GACNA,EAGT,GAAI29I,sBAAsB59I,IAAM49I,sBAAsB39I,GAAI,CAMxD,IALA,IAAI5iB,EAAI,EACJ4gK,EAAOj+I,EAAE5iB,OACTmhK,EAAOt+I,EAAE7iB,OACT8gK,EAAS,GAEN7gK,EAAI4gK,GAAQ5gK,EAAIkhK,IACA,kBAATv+I,EAAE3iB,IAAmB2iB,EAAE3iB,aAAckE,UAA4B,kBAAT0e,EAAE5iB,IAAmB4iB,EAAE5iB,aAAckE,QACvG28J,EAAO7gK,GAAK2iB,EAAE3iB,GAAK4iB,EAAE5iB,GAErB6gK,EAAO7gK,QAAcqC,IAATugB,EAAE5iB,GAAmB2iB,EAAE3iB,GAAK2iB,EAAE3iB,IAAM4iB,EAAE5iB,GAGpDA,GAAK,EAGP,OAAO6gK,CACT,CAEA,OAAO,CACT,CAEA,IAAIxzH,IAAMxkC,IAEV,SAASs4J,IAAIx+I,EAAGC,GACd,IAAI+9I,EAAOR,UAAUx9I,GAEjBs+I,EAAOd,UAAUv9I,GAErB,GAAI49I,YAAYG,EAAMh+I,IAAM69I,YAAYS,EAAMr+I,GAS5C,MARa,WAAT+9I,IACFh+I,EAAI1V,SAAS0V,EAAG,KAGL,WAATs+I,IACFr+I,EAAI3V,SAAS2V,EAAG,KAGXD,EAAIC,EAGb,GAAI29I,sBAAsB59I,IAAM69I,YAAYS,EAAMr+I,GAGhD,OAFAD,EAAIA,EAAEljB,MAAM,IACV,IAAMmjB,EACDD,EAGT,GAAI69I,YAAYG,EAAMh+I,IAAM49I,sBAAsB39I,GAGhD,OAFAA,EAAIA,EAAEnjB,MAAM,IACV,GAAKkjB,EAAIC,EAAE,GACNA,EAGT,GAAI29I,sBAAsB59I,IAAM49I,sBAAsB39I,GAAI,CAMxD,IALA,IAAI5iB,EAAI,EACJ4gK,EAAOj+I,EAAE5iB,OACTmhK,EAAOt+I,EAAE7iB,OACT8gK,EAAS,GAEN7gK,EAAI4gK,GAAQ5gK,EAAIkhK,IACA,kBAATv+I,EAAE3iB,IAAmB2iB,EAAE3iB,aAAckE,UAA4B,kBAAT0e,EAAE5iB,IAAmB4iB,EAAE5iB,aAAckE,QACvG28J,EAAO7gK,GAAK2iB,EAAE3iB,GAAK4iB,EAAE5iB,GAErB6gK,EAAO7gK,QAAcqC,IAATugB,EAAE5iB,GAAmB2iB,EAAE3iB,GAAK2iB,EAAE3iB,IAAM4iB,EAAE5iB,GAGpDA,GAAK,EAGP,OAAO6gK,CACT,CAEA,OAAO,CACT,CAEA,SAASO,IAAIz+I,EAAGC,GACd,IAII9b,EAMA9G,EACAojB,EAXAu9I,EAAOR,UAAUx9I,GAEjBs+I,EAAOd,UAAUv9I,GAIrB,GAAI49I,YAAYG,EAAMh+I,IAAM69I,YAAYS,EAAMr+I,GAC5C,OAAOD,EAAIC,EAMb,GAAI29I,sBAAsB59I,IAAM69I,YAAYS,EAAMr+I,GAAI,CAIpD,IAHAQ,EAAMT,EAAE5iB,OACR+G,EAAMypG,iBAAiB,UAAWntF,GAE7BpjB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8G,EAAI9G,GAAK2iB,EAAE3iB,GAAK4iB,EAGlB,OAAO9b,CACT,CAEA,GAAI05J,YAAYG,EAAMh+I,IAAM49I,sBAAsB39I,GAAI,CAIpD,IAHAQ,EAAMR,EAAE7iB,OACR+G,EAAMypG,iBAAiB,UAAWntF,GAE7BpjB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8G,EAAI9G,GAAK2iB,EAAIC,EAAE5iB,GAGjB,OAAO8G,CACT,CAEA,OAAO,CACT,CAEA,SAASw9G,IAAI3hG,EAAGC,GACd,IAII9b,EAMA9G,EACAojB,EAXAu9I,EAAOR,UAAUx9I,GAEjBs+I,EAAOd,UAAUv9I,GAIrB,GAAI49I,YAAYG,EAAMh+I,IAAM69I,YAAYS,EAAMr+I,GAC5C,OAAOD,EAAIC,EAMb,GAAI29I,sBAAsB59I,IAAM69I,YAAYS,EAAMr+I,GAAI,CAIpD,IAHAQ,EAAMT,EAAE5iB,OACR+G,EAAMypG,iBAAiB,UAAWntF,GAE7BpjB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8G,EAAI9G,GAAK2iB,EAAE3iB,GAAK4iB,EAGlB,OAAO9b,CACT,CAEA,GAAI05J,YAAYG,EAAMh+I,IAAM49I,sBAAsB39I,GAAI,CAIpD,IAHAQ,EAAMR,EAAE7iB,OACR+G,EAAMypG,iBAAiB,UAAWntF,GAE7BpjB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8G,EAAI9G,GAAK2iB,EAAIC,EAAE5iB,GAGjB,OAAO8G,CACT,CAEA,OAAO,CACT,CAEA,SAASu6J,IAAI1+I,EAAGC,GASd,MARiB,kBAAND,IACTA,EAAI1V,SAAS0V,EAAG,KAGD,kBAANC,IACTA,EAAI3V,SAAS2V,EAAG,KAGXD,EAAIC,CACb,CAEA,IAAI0+I,QAAUz4J,IACV04J,QAAUJ,IACVK,QAAUJ,IACVK,QAAUn9C,IACVo9C,QAAUL,IAEd,SAASM,MAAM/6J,EAAKrE,EAAKC,GACvB,GAAID,EAAMC,EAAK,CACb,IAAIkO,EAAKlO,EACTA,EAAMD,EACNA,EAAMmO,CACR,CAEA,OAAOlN,KAAKjB,IAAIiB,KAAKhB,IAAIoE,EAAKrE,GAAMC,EACtC,CAEA,SAASo/J,iBAAiB76J,GACxB,OAAOA,EAAM6qG,SACf,CAEA,IAAIiwD,mBAAqBD,iBAEzB,SAASE,iBAAiB/6J,GACxB,OAAOA,EAAM6qG,SACf,CAEA,IAAImwD,mBAAqBH,iBACrBI,kBAAoB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAExC,SAASjiK,OAAOkiK,EAAMC,GACpB,GAAoB,kBAATD,GAAqBA,aAAgB/9J,OAE9C,OADAg+J,EAAOA,GAAQ,EACR1+J,KAAK8jC,IAAI26H,EAAOC,GAOzB,IAAIliK,EAJCkiK,IACHA,EAAOF,mBAIT,IAAI5+I,EAAM5f,KAAKjB,IAAI0/J,EAAKliK,OAAQmiK,EAAKniK,QACjC4nH,EAAc,EAElB,IAAK3nH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB2nH,GAAenkH,KAAKC,IAAIy+J,EAAKliK,GAAKiiK,EAAKjiK,GAAI,GAG7C,OAAOwD,KAAKyB,KAAK0iH,EACnB,CAEA,SAASw6C,UAAUC,GACjB,OAAO99C,IAAI89C,EAAKriK,OAAOqiK,GACzB,CAEA,SAASC,SAASt7J,GAChB,IAKI4jB,EACAtK,EANA5P,EAAI1J,EAAI,GACRwJ,EAAIxJ,EAAI,GACR6b,EAAI7b,EAAI,GACRvE,EAAMgB,KAAKhB,IAAIiO,EAAGF,EAAGqS,GACrBrgB,EAAMiB,KAAKjB,IAAIkO,EAAGF,EAAGqS,GAGrB5E,GAAKxb,EAAMD,GAAO,EAEtB,GAAIC,IAAQD,EACVooB,EAAI,EAEJtK,EAAI,MACC,CACL,IAAI0C,EAAIvgB,EAAMD,EAGd,OAFA8d,EAAIrC,EAAI,GAAM+E,GAAK,EAAIvgB,EAAMD,GAAOwgB,GAAKvgB,EAAMD,GAEvCC,GACN,KAAKiO,EACHka,GAAKpa,EAAIqS,GAAKG,GAAKxS,EAAIqS,EAAI,EAAI,GAC/B,MAEF,KAAKrS,EACHoa,GAAK/H,EAAInS,GAAKsS,EAAI,EAClB,MAEF,KAAKH,EACH+H,GAAKla,EAAIF,GAAKwS,EAAI,EAOtB4H,GAAK,CACP,CAEA,MAAO,CAACA,EAAGtK,EAAGrC,EAAGjX,EAAI,GACvB,CAEA,SAASu7J,QAAQ7kJ,EAAGiF,EAAGG,GAGrB,OAFIA,EAAI,IAAGA,GAAK,GACZA,EAAI,IAAGA,GAAK,GACZA,EAAI,EAAI,EAAUpF,EAAc,GAATiF,EAAIjF,GAASoF,EACpCA,EAAI,GAAcH,EAClBG,EAAI,EAAI,EAAUpF,GAAKiF,EAAIjF,IAAM,EAAI,EAAIoF,GAAK,EAC3CpF,CACT,CAEA,SAAS8kJ,SAASx7J,GAChB,IAGI0J,EACAF,EACAqS,EALA+H,EAAI5jB,EAAI,GACRsZ,EAAItZ,EAAI,GACRiX,EAAIjX,EAAI,GAKZ,GAAU,IAANsZ,EACF5P,EAAIuN,EAEJ4E,EAAI5E,EAEJzN,EAAIyN,MACC,CACL,IAAI0E,EAAI1E,EAAI,GAAMA,GAAK,EAAIqC,GAAKrC,EAAIqC,EAAIrC,EAAIqC,EACxC5C,EAAI,EAAIO,EAAI0E,EAChBjS,EAAI6xJ,QAAQ7kJ,EAAGiF,EAAGiI,EAAI,EAAI,GAC1Bpa,EAAI+xJ,QAAQ7kJ,EAAGiF,EAAGiI,GAClB/H,EAAI0/I,QAAQ7kJ,EAAGiF,EAAGiI,EAAI,EAAI,EAC5B,CAEA,MAAO,CAACla,EAAGF,EAAGqS,EAAG7b,EAAI,GACvB,CAEA,SAASy7J,OAAO3/I,EAAG4/I,EAAMC,EAAMC,EAAQC,GAQrC,QAPevgK,IAAXsgK,QAAmCtgK,IAAXugK,IAC1BD,EAASF,EACTG,EAASF,EACTD,EAAO,EACPC,EAAO,GAGLA,EAAOD,EAAM,CACf,IAAII,EAAQH,EACZA,EAAOD,EACPA,EAAOI,CACT,CAEA,GAAIhgJ,GAAK4/I,EACP,OAAOE,EAGT,GAAI9/I,GAAK6/I,EACP,OAAOE,EAGT,IAMI5iK,EANA0oH,EAAOg6C,IAASD,EAAO,GAAK5/I,EAAI4/I,IAASC,EAAOD,GAEpD,IAAKE,EAAO5iK,OACV,OAAO4iK,GAAUC,EAASD,GAAUj6C,EAItC,IAAItlG,EAAMu/I,EAAO5iK,OACb+G,EAAMypG,iBAAiB,UAAWntF,GAEtC,IAAKpjB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8G,EAAI9G,GAAK2iK,EAAO3iK,IAAM4iK,EAAO5iK,GAAK2iK,EAAO3iK,IAAM0oH,EAGjD,OAAO5hH,CACT,CAEA,SAASjH,OAAO0C,EAAKC,GAWnB,QAVYH,IAARG,SACUH,IAARE,GACFA,EAAM,EACNC,EAAM,IAENA,EAAMD,EACNA,OAAMF,IAING,EAAIzC,OAAQ,CACd,IAAIC,EACAojB,EAAM5gB,EAAIzC,OAETwC,IACHA,EAAMguG,iBAAiB,UAAWntF,IAGpC,IAAItc,EAAMypG,iBAAiB,UAAWntF,GAClC0/I,EAAMvxD,OAAO1xG,SAEjB,IAAKG,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8G,EAAI9G,GAAKuC,EAAIvC,GAAK8iK,GAAOtgK,EAAIxC,GAAKuC,EAAIvC,IAGxC,OAAO8G,CACT,CAOA,YALYzE,IAARE,IACFA,EAAM,GAIDA,EADIgvG,OAAO1xG,UACG2C,EAAMD,EAC7B,CAEA,SAASwgK,WAAWx9C,EAAQy9C,EAAYC,EAAa/qD,GACnD,IAAIl4G,EACAojB,EAAMmiG,EAAOxlH,OACbiU,EAAOo/G,UAAU5L,aACrBxzG,EAAKq+G,cAAcna,EAAQ90F,GAC3B,IACI8/I,EACAC,EAFAC,EAAiB,CAAC,EAAG,GAIzB,IAAKpjK,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBkjK,EAAgBF,GAAcA,EAAWhjK,GAAKgjK,EAAWhjK,GAAKojK,EAC9DD,EAAiBF,GAAeA,EAAYjjK,GAAKijK,EAAYjjK,GAAKojK,EAClEpvJ,EAAKy+G,YAAYlN,EAAOvlH,GAAG,GAAIulH,EAAOvlH,GAAG,GAAImjK,EAAe,GAAK59C,EAAOvlH,GAAG,GAAImjK,EAAe,GAAK59C,EAAOvlH,GAAG,GAAIkjK,EAAc,GAAK39C,EAAOvlH,GAAG,GAAIkjK,EAAc,GAAK39C,EAAOvlH,GAAG,GAAIA,GAAG,GAGxL,OAAOgU,CACT,CAEA,SAASqvJ,mBAAmBhvI,KAAM5vB,KAAM6+J,UAEtC,SAASC,KAAKC,GACZ,OAAOA,CACT,CAEA,IAAKnvI,KAAK+qF,WAAWyvB,aAAa+d,eAChC,OAAO2W,KAGT,IAAIx8J,IAAMtC,KAAKqI,EACX22J,cAAgB,qBAAqBxiK,KAAK8F,KAE1C28J,cAA0C,IAA3B38J,IAAIC,QAAQ,UAE3B28J,SAAWtvI,KAAK5vB,KAAK0kD,GACrBzjC,UACAk+I,cACA19J,QACAgzI,OACA2qB,aAAeP,SACnBO,aAAaC,YAAcD,aAAa/jC,eACxC5/H,OAAOysB,eAAek3I,aAAc,QAAS,CAC3ClhK,IAAK,WACH,OAAOkhK,aAAatjJ,CACtB,IAEF8T,KAAKsiF,KAAKonD,cAAgB,EAAI1pI,KAAKsiF,KAAKyI,WAAWrB,UACnD1pF,KAAKsiF,KAAKqnD,iBAAmB,EAC7B,IAAI+F,QAAU1vI,KAAK5vB,KAAK0O,GAAKkhB,KAAKsiF,KAAKyI,WAAWrB,UAC9CimD,SAAW3vI,KAAK5vB,KAAKmyD,GAAKviC,KAAKsiF,KAAKyI,WAAWrB,UAC/Cn2G,MAAQysB,KAAK5vB,KAAKsuF,GAAK1+D,KAAK5vB,KAAKsuF,GAAK,EACtCv+E,OAAS6f,KAAK5vB,KAAK6pH,GAAKj6F,KAAK5vB,KAAK6pH,GAAK,EACvCjvH,KAAOg1B,KAAK5vB,KAAK24G,GACjB6mD,OACAC,QACAC,QACAC,SACAC,OACAC,QACAC,UACAC,SACAC,OACAC,kBACAh0F,SACAvK,SACAw+F,YACAvhH,MACAwhH,UACAC,SACA1uB,KACA2tB,YACAgB,eACAC,aAEAC,oBAAsBC,KAAK,oCAAsCl+J,IAAM,0BAA0B,GAEjGm+J,QAAU5B,SAASvyC,GAAKtsH,KAAKlE,EAAER,OAAS,EACxColK,QAAU/lK,KAAKqF,OAAyB,IAAjBrF,KAAKqF,KAAKk1E,GAEjCyrF,OAAS,SAAgBC,EAAMC,GACjC,IAAIC,EACAllK,EACAmlK,EAAYpmK,KAAK0tH,GAAG/sH,OAASX,KAAK0tH,GAAG/sH,OAAS,EAC9C0lK,EAAYl1D,iBAAiB,UAAWi1D,GAExC3lB,EAAar8I,KAAKK,MADf,EACqBg5G,MAI5B,IAHA0oD,EAAU,EACVllK,EAAI,EAEGklK,EAAU1lB,GAAY,CAE3B,IAAKx/I,EAAI,EAAGA,EAAImlK,EAAWnlK,GAAK,EAC9BolK,EAAUplK,KAAOilK,EAAY,EAANA,EAAU/zD,OAAO1xG,SAG1C0lK,GAAW,CACb,CAGA,IAAIG,EAfG,EAeO7oD,KACV6L,EAAOg9C,EAAUliK,KAAKK,MAAM6hK,GAC5B5+J,EAAMypG,iBAAiB,UAAWi1D,GAEtC,GAAIA,EAAY,EAAG,CACjB,IAAKnlK,EAAI,EAAGA,EAAImlK,EAAWnlK,GAAK,EAC9ByG,EAAIzG,GAAKjB,KAAK0tH,GAAGzsH,GAAKolK,EAAUplK,KAAOilK,EAAY,EAANA,EAAU/zD,OAAO1xG,UAAY6oH,EAI5E,OAAO5hH,CACT,CAEA,OAAO1H,KAAK0tH,GAAK24C,EAAU,KAAOH,EAAY,EAANA,EAAU/zD,OAAO1xG,UAAY6oH,CACvE,EAAE1rE,KAAK59C,MAgBP,SAASumK,eAAejjK,EAAMorF,GAC5B,OAAOm2E,OAAOvhK,EAAMorF,GAAU,EAChC,CAEA,SAAS83E,gBAAgBljK,EAAMorF,GAC7B,OAAOq2E,QAAQzhK,EAAMorF,GAAU,EACjC,CApBI+1E,aAAaI,SACfA,OAASJ,aAAaI,OAAOjnH,KAAK6mH,cAClCK,QAAUD,QAGRJ,aAAaM,UACfA,QAAUN,aAAaM,QAAQnnH,KAAK6mH,cACpCO,SAAWD,SAGTN,aAAaQ,SACfA,OAASR,aAAaQ,OAAOrnH,KAAK6mH,eAWhCzkK,KAAK0gI,iBACPgkC,YAAc1kK,KAAK0gI,eAAe9iF,KAAK59C,OAGrCA,KAAKymK,oBACPf,eAAiB1lK,KAAKymK,kBAAkB7oH,KAAK59C,OAG/C,IAAIu3G,KAAOtiF,KAAKsiF,KAAKyI,WAAWV,iBAAiB1hE,KAAK3oB,KAAKsiF,KAAKyI,WAAWV,kBAsLvE7B,KACAipD,SACA39J,MACAyB,KACAm8J,UACAC,UACAC,cA1LJ,SAASC,OAAOC,EAAOC,GACrB,IAAIC,EAAO,CAACD,EAAM,GAAKD,EAAM,GAAIC,EAAM,GAAKD,EAAM,GAAIC,EAAM,GAAKD,EAAM,IACnEG,EAAQ9iK,KAAKolD,MAAMy9G,EAAK,GAAI7iK,KAAKyB,KAAKohK,EAAK,GAAKA,EAAK,GAAKA,EAAK,GAAKA,EAAK,KAAOz0D,UAEpF,MAAO,EADIpuG,KAAKolD,MAAMy9G,EAAK,GAAIA,EAAK,IAAMz0D,UAC7B00D,EAAO,EACtB,CAEA,SAASC,QAAQ1jJ,EAAG4/I,EAAMC,EAAM8D,EAAMC,GACpC,OAAOC,UAAU3F,WAAYl+I,EAAG4/I,EAAMC,EAAM8D,EAAMC,EACpD,CAEA,SAASE,OAAO9jJ,EAAG4/I,EAAMC,EAAM8D,EAAMC,GACnC,OAAOC,UAAU5F,UAAWj+I,EAAG4/I,EAAMC,EAAM8D,EAAMC,EACnD,CAEA,SAASG,KAAK/jJ,EAAG4/I,EAAMC,EAAM8D,EAAMC,GACjC,OAAOC,UAAU1F,aAAcn+I,EAAG4/I,EAAMC,EAAM8D,EAAMC,EACtD,CAEA,SAASC,UAAU//J,EAAIkc,EAAG4/I,EAAMC,EAAM8D,EAAMC,QAC7BpkK,IAATmkK,GACFA,EAAO/D,EACPgE,EAAO/D,GAEP7/I,GAAKA,EAAI4/I,IAASC,EAAOD,GAGvB5/I,EAAI,EACNA,EAAI,EACKA,EAAI,IACbA,EAAI,GAGN,IAAI0tG,EAAO5pH,EAAGkc,GAEd,GAAI09I,sBAAsBiG,GAAO,CAC/B,IAAIK,EACAC,EAASN,EAAKzmK,OACd+G,EAAMypG,iBAAiB,UAAWu2D,GAEtC,IAAKD,EAAO,EAAGA,EAAOC,EAAQD,GAAQ,EACpC//J,EAAI+/J,IAASJ,EAAKI,GAAQL,EAAKK,IAASt2C,EAAOi2C,EAAKK,GAGtD,OAAO//J,CACT,CAEA,OAAQ2/J,EAAOD,GAAQj2C,EAAOi2C,CAChC,CAEA,SAASO,WAAWlqD,GAClB,IAAIgqD,EAEA3+J,EACAslH,EAFAs5C,EAASriK,KAAKlE,EAAER,OAIpB,GAAK0E,KAAKlE,EAAER,QAA+B,kBAAd0E,KAAKlE,EAAE,GAOlC,GAHA2H,GAAS,GACT20G,GAAQxoF,KAAKsiF,KAAKyI,WAAWrB,WAElBt5G,KAAKlE,EAAE,GAAGsiB,EACnB3a,EAAQ,EACRslH,EAAU/oH,KAAKlE,EAAE,GAAGsiB,MACf,CACL,IAAKgkJ,EAAO,EAAGA,EAAOC,EAAS,EAAGD,GAAQ,EAAG,CAC3C,GAAIhqD,IAASp4G,KAAKlE,EAAEsmK,GAAMhkJ,EAAG,CAC3B3a,EAAQ2+J,EAAO,EACfr5C,EAAU/oH,KAAKlE,EAAEsmK,GAAMhkJ,EACvB,KACF,CAAO,GAAIg6F,EAAOp4G,KAAKlE,EAAEsmK,GAAMhkJ,GAAKg6F,EAAOp4G,KAAKlE,EAAEsmK,EAAO,GAAGhkJ,EAAG,CACzDg6F,EAAOp4G,KAAKlE,EAAEsmK,GAAMhkJ,EAAIpe,KAAKlE,EAAEsmK,EAAO,GAAGhkJ,EAAIg6F,GAC/C30G,EAAQ2+J,EAAO,EACfr5C,EAAU/oH,KAAKlE,EAAEsmK,EAAO,GAAGhkJ,IAE3B3a,EAAQ2+J,EAAO,EACfr5C,EAAU/oH,KAAKlE,EAAEsmK,GAAMhkJ,GAGzB,KACF,CACF,EAEe,IAAX3a,IACFA,EAAQ2+J,EAAO,EACfr5C,EAAU/oH,KAAKlE,EAAEsmK,GAAMhkJ,EAE3B,MAhCA3a,EAAQ,EACRslH,EAAU,EAkCZ,IAAIw5C,EAAQ,CAAC,EAGb,OAFAA,EAAM9+J,MAAQA,EACd8+J,EAAMnqD,KAAO2Q,EAAUn5F,KAAKsiF,KAAKyI,WAAWrB,UACrCipD,CACT,CAEA,SAASp6J,IAAIo+B,GACX,IAAIg8H,EACAH,EACAC,EAEJ,IAAKriK,KAAKlE,EAAER,QAA+B,kBAAd0E,KAAKlE,EAAE,GAClC,MAAM,IAAIhB,MAAM,yCAA2CyrC,GAG7DA,GAAO,EACPg8H,EAAQ,CACNnqD,KAAMp4G,KAAKlE,EAAEyqC,GAAKnoB,EAAIwR,KAAKsiF,KAAKyI,WAAWrB,UAC3C51G,MAAO,IAET,IAAIrB,EAAM5G,OAAOZ,UAAUggB,eAAelf,KAAKqE,KAAKlE,EAAEyqC,GAAM,KAAOvmC,KAAKlE,EAAEyqC,GAAK3qB,EAAI5b,KAAKlE,EAAEyqC,EAAM,GAAGhhB,EAGnG,IAFA88I,EAAShgK,EAAI/G,OAER8mK,EAAO,EAAGA,EAAOC,EAAQD,GAAQ,EACpCG,EAAMH,GAAQ//J,EAAI+/J,GAClBG,EAAM7+J,MAAM0+J,GAAQ//J,EAAI+/J,GAG1B,OAAOG,CACT,CAEA,SAASC,aAAa52G,EAAI62G,GAKxB,OAJKA,IACHA,EAAM7yI,KAAKsiF,KAAKyI,WAAWrB,WAGtB1tD,EAAK62G,CACd,CAEA,SAASC,aAAatkJ,EAAGqkJ,GASvB,OARKrkJ,GAAW,IAANA,IACRA,EAAIg6F,MAGDqqD,IACHA,EAAM7yI,KAAKsiF,KAAKyI,WAAWrB,WAGtBl7F,EAAIqkJ,CACb,CAEA,SAAS/I,WAAWv+J,GAClB2xG,OAAO61D,WAAWC,SAAWznK,EAC/B,CAEA,SAASovI,mBACP,OAAO36G,KAAK26G,kBACd,CAEA,SAAS3kI,UAAUi4G,EAAMr6G,GACvB,MAAqB,kBAAVE,WACG9F,IAAR4F,EACKE,MAAMkC,UAAUi4G,GAGlBn6G,MAAMkC,UAAUi4G,EAAMr6G,GAGxB,EACT,CAEA,SAAS3B,OAAOg8G,EAAMr6G,GACpB,MAAqB,kBAAVE,WACG9F,IAAR4F,EACKE,MAAM7B,OAAOg8G,GAGfn6G,MAAM7B,OAAOg8G,EAAMr6G,GAGrB,EACT,CAEA,SAASq/J,cAAcC,GACrB1qD,KAA2B,IAApB0qD,EAAwB,EAAI/jK,KAAKK,MAAMg5G,KAAO0qD,GAAmBA,EACxEp/J,MAAQ27J,YAAYjnD,KACtB,CASA,IAAI30G,MAAQmsB,KAAK5vB,KAAKumC,IAClBw8H,aAAenzI,KAAKggH,YAAahgH,KAAKggH,UAAUt0I,QAChDyqI,OACA68B,SAAW7jK,KAAKK,MAAsB,IAAhBL,KAAK3D,UAC3Bu/G,WAAa/qF,KAAK+qF,WAEtB,SAASqoD,kBAAkBjE,GAIzB,OAFAr7J,MAAQq7J,EAEJpkK,KAAKsoK,oBAAsBrzI,KAAK+qF,WAAWsR,SAA6B,iBAAlBtxH,KAAKytH,SACtD1kH,OAGa,iBAAlB/I,KAAKytH,WACPk5C,UAAY3mK,KAAK2mK,UACjBC,UAAY5mK,KAAK4mK,UACjBC,cAAgB7mK,KAAK6mK,eAGlBrB,YACHh7J,KAAOyqB,KAAKm9G,eAAe5nI,KAC3Bg7J,UAAYvwI,KAAKm9G,eACjBqzB,SAAWxwI,KAAKsiF,KAAK4G,cACrB+mD,QAAUM,UAAUN,QAAQtnH,KAAK4nH,WACjCL,UAAYK,UAAUL,UAAUvnH,KAAK4nH,WACrCJ,SAAWI,UAAUJ,SAASxnH,KAAK4nH,WACnCH,OAASG,UAAUH,OAAOznH,KAAK4nH,WAC/BzuB,KAAOyuB,UAAUzuB,KAAOyuB,UAAUzuB,KAAKn5F,KAAK4nH,WAAa,KACzDF,kBAAoBF,UAGjB9+I,YACHA,UAAY2O,KAAKm9G,eAAe,wBAChCoyB,cAAgBl+I,UAEZA,YACFi/I,YAAcj/I,UAAUi/I,cAOX,IAAbhB,UAAmBz9J,UACrBA,QAAU0+J,UAAU,4BAGjB1rB,SACHA,OAAS0rB,UAAU,KAGrB4C,aAAenzI,KAAKggH,YAAahgH,KAAKggH,UAAUt0I,WAE9ByqI,SAChBA,OAASn2G,KAAKggH,UAAU,GAAG7C,gBAG7B30B,KAAOz9G,KAAKu3G,KAAKsZ,cAAgB7wH,KAAKu3G,KAAKyI,WAAWrB,UAElD2lD,cACFvF,WAAWkJ,SAAWxqD,MAGpB4mD,gBACFqC,SAAWhB,eAAejoD,OAG5BmoD,sBACA5lK,KAAKsoK,kBAAoBrzI,KAAK+qF,WAAWsR,QAGzCq0C,aAAeA,aAAal4C,WAAaozC,UAAUC,MAAQ6E,aAAaxkJ,EAAIwkJ,aAE9E,CAIA,OADA0C,kBAAkBE,yBAA2B,CAAC/D,cAAee,YAAa9nD,KAAMipD,SAAU/B,QAASC,SAAUp8J,MAAO4M,OAAQnV,KAAM6kK,QAASE,SAAUC,OAAQI,OAAQC,kBAAmBJ,QAASC,UAAWpuB,KAAMzlE,SAAUvK,SAAU/iB,MAAOyhH,SAAUK,QAASC,OAAQC,OAAQO,eAAgBC,gBAAiBjvD,KAAMuvD,OAAQK,QAASI,OAAQC,KAAMG,WAAYn6J,IAAKhD,KAAMm8J,UAAWC,UAAWC,cAAegB,aAAcE,aAAcn4B,iBAAkB3kI,UAAW/D,OAAQghK,cAAep/J,MAAOk3G,YACleqoD,iBACT,CAKA,OAHAhsF,GAAG4nF,mBAAqBA,mBACxB5nF,GAAGksF,yBAA2B,CAAC5iJ,OAAQC,SAAUuE,eAAgB82I,MAAO7qF,OAAQkrF,QAASrzH,IAAKi0H,QAASC,QAASC,QAASC,QAASC,QAASC,MAAOE,mBAAoBC,iBAAkBC,mBAAoBI,UAAWE,SAAUE,SAAUC,OAAQ3iK,OAAQkjK,WAAYzC,eACvQ7kF,GAAG+lC,WAAaA,WACT/lC,EACT,CAh2BwB,GAk2BpBmsF,YAAc,WAChB,IAAInsF,EAAK,CACTA,gBAGA,SAAyBzG,GACvB,IAAI6yF,EAAa,EACbC,EAAY,GA+BhB9yF,EAAU+yB,SAASwV,cAAgBg0B,wBAAwBv8D,EAAU+yB,UACrE/yB,EAAU+yB,SAASqX,WAAWV,iBAAiBzB,oBAAoBjoC,EAAU+yB,UAC7E/yB,EAAU+yB,SAASqX,WAAW2oD,eA/B9B,WACEF,GAAc,CAChB,EA8BA7yF,EAAU+yB,SAASqX,WAAW4oD,cA5B9B,WAGqB,KAFnBH,GAAc,IAahB,WACE,IAAI7nK,EACAojB,EAAM0kJ,EAAU/nK,OAEpB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB8nK,EAAU9nK,GAAGynH,UAGfqgD,EAAU/nK,OAAS,CACrB,CAnBIkoK,EAEJ,EAuBAjzF,EAAU+yB,SAASqX,WAAW8oD,2BArB9B,SAAoCC,IACK,IAAnCL,EAAU9gK,QAAQmhK,IACpBL,EAAUljK,KAAKujK,EAEnB,CAkBF,GAEA,OA1CA1sF,EAAG+lC,WAAa4+C,kBAAkB5+C,WA0C3B/lC,CACT,CA9CkB,GAgDd2sF,qBAAuB,WACzB,SAASC,EAAclyB,EAAM1xI,GAC3BrF,KAAKkpK,MAAQnyB,EACb/2I,KAAKmpK,MAAQ9jK,CACf,CAgDA,OA9CAvE,OAAOysB,eAAe07I,EAAc/oK,UAAW,WAAY,CACzDqD,IAAK,WAKH,OAJIvD,KAAKkpK,MAAM9tI,KAAKj6B,GAClBnB,KAAKkpK,MAAM9tI,KAAK62F,WAGXjyH,KAAKkpK,MAAM9tI,IACpB,IAEFt6B,OAAOysB,eAAe07I,EAAc/oK,UAAW,cAAe,CAC5DqD,IAAK,WAKH,OAJIvD,KAAKkpK,MAAM1xG,GAAGr2D,GAChBnB,KAAKkpK,MAAM1xG,GAAGy6D,WAGS,IAAlBjyH,KAAKkpK,MAAM1xG,GAAGr2C,CACvB,IAGgB,SAAqBkxH,GACrC,IAEIzxI,EAFAwoK,EAAmB/3D,iBAAiBghC,EAAY2D,SAASr1I,QAGzDqjB,EAAMquH,EAAY2D,SAASr1I,OAE/B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBwoK,EAAiBxoK,GAAK,IAAIqoK,EAAc52B,EAAY2D,SAASp1I,GAAIyxI,EAAYr7B,gBAAgBp2G,IAiB/F,OAdmB,SAAsBX,GAGvC,IAFAW,EAAI,EAEGA,EAAIojB,GAAK,CACd,GAAIquH,EAAYr7B,gBAAgBp2G,GAAGo9G,KAAO/9G,EACxC,OAAOmpK,EAAiBxoK,GAG1BA,GAAK,CACP,CAEA,OAAO,IACT,CAGF,CAGF,CArD2B,GAuDvByoK,4BAA8B,WAChC,IAAIC,EAA6B,CAC/B57C,GAAI,EACJvsG,EAAG,EACHgwG,KAAM,GAEJo4C,EAA+B,CACjC77C,GAAI,CAAC,EAAG,EAAG,GACXvsG,EAAG,CAAC,EAAG,EAAG,GACVgwG,KAAM,GAGR,SAASq4C,EAAiBC,EAAiBvF,EAAU5gK,GACnDxC,OAAOysB,eAAek8I,EAAiB,WAAY,CACjDlmK,IAAK,WACH,OAAO2gK,EAASuC,kBAAkBvC,EAAS3sD,KAAK2G,aAClD,IAEFurD,EAAgB3D,QAAU5B,EAASl2C,UAAYk2C,EAASl2C,UAAUrtH,OAAS,EAE3E8oK,EAAgBj8J,IAAM,SAAUY,GAC9B,IAAKq7J,EAAgB3D,QACnB,OAAO,EAGT,IAAI/8J,EAAQ,GAGVA,EADE,MAAOm7J,EAASl2C,UAAU5/G,EAAM,GAC1B81J,EAASl2C,UAAU5/G,EAAM,GAAG6S,EAC3B,MAAOijJ,EAASl2C,UAAU5/G,EAAM,GACjC81J,EAASl2C,UAAU5/G,EAAM,GAAGwc,EAE5Bs5I,EAASl2C,UAAU5/G,EAAM,GAAG6S,EAGtC,IAAIyoJ,EAAqB,mBAATpmK,EAA4B,IAAIwB,OAAOiE,GAASjI,OAAO25B,OAAO,CAAC,EAAG1xB,GAIlF,OAFA2gK,EAAUjsD,KAAOymD,EAASl2C,UAAU5/G,EAAM,GAAGqV,EAAIygJ,EAASjvI,KAAKsiF,KAAKyI,WAAWrB,UAC/E+qD,EAAU3gK,MAAiB,mBAATzF,EAA4ByF,EAAM,GAAKA,EAClD2gK,CACT,EAEAD,EAAgB/E,YAAcR,EAASxjC,eACvC+oC,EAAgBE,YAAczF,EAAS0F,eACvCH,EAAgB/D,eAAiBxB,EAASuC,kBAC1CgD,EAAgBI,cAAgB3F,EAAS2F,aAC3C,CAyDA,SAASC,IACP,OAAOR,CACT,CAEA,OAAO,SAAUpF,GACf,OAAKA,EAIqB,mBAAtBA,EAASz2C,SAhEf,SAAyCy2C,GAClCA,GAAc,OAAQA,IACzBA,EAAWoF,GAGb,IAAIn4C,EAAO,EAAI+yC,EAAS/yC,KACpBxpH,EAAMu8J,EAASx2C,GAAKyD,EACpBs4C,EAAkB,IAAI3kK,OAAO6C,GAIjC,OAFA8hK,EAAgB1gK,MAAQpB,EACxB6hK,EAAiBC,EAAiBvF,EAAU,kBACrC,WAcL,OAbIA,EAAS/iK,GACX+iK,EAASjyC,WAGXtqH,EAAMu8J,EAAS/iJ,EAAIgwG,EAEfs4C,EAAgB1gK,QAAUpB,KAC5B8hK,EAAkB,IAAI3kK,OAAO6C,IAEboB,MAAQpB,EACxB6hK,EAAiBC,EAAiBvF,EAAU,mBAGvCuF,CACT,CACF,CAsCWM,CAAgC7F,GApC3C,SAA2CA,GACpCA,GAAc,OAAQA,IACzBA,EAAWqF,GAGb,IAAIp4C,EAAO,EAAI+yC,EAAS/yC,KACpBntG,EAAMkgJ,EAAS7+J,MAAQ6+J,EAAS7+J,KAAKuZ,GAAKslJ,EAASx2C,GAAG/sH,OACtD8oK,EAAkBt4D,iBAAiB,UAAWntF,GAC9CgmJ,EAAW74D,iBAAiB,UAAWntF,GAG3C,OAFAylJ,EAAgB1gK,MAAQihK,EACxBR,EAAiBC,EAAiBvF,EAAU,oBACrC,WACDA,EAAS/iK,GACX+iK,EAASjyC,WAGX,IAAK,IAAIrxH,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAC5BopK,EAASppK,GAAKsjK,EAAS/iJ,EAAEvgB,GAAKuwH,EAC9Bs4C,EAAgB7oK,GAAKopK,EAASppK,GAGhC,OAAO6oK,CACT,CACF,CAgBSQ,CAAkC/F,GAPhC4F,CAQX,CACF,CAtHkC,GAwH9BI,6BACK,SAAU5jJ,GACf,SAAS6jJ,EAAclqK,GACrB,OAAQA,GACN,IAAK,QACL,IAAK,QACL,IAAK,aACL,KAAK,EACH,OAAOkqK,EAAcnmH,MAEvB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,gBACL,KAAK,GACH,OAAOmmH,EAAcpjG,SAEvB,IAAK,gBACH,OAAOojG,EAAcC,UAEvB,IAAK,gBACH,OAAOD,EAAcE,UAEvB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,KAAK,EACH,OAAOF,EAAc74F,SAEvB,IAAK,kBACH,OAAO64F,EAAcG,UAEvB,IAAK,kBACH,OAAOH,EAAcI,UAEvB,IAAK,kBACH,OAAOJ,EAAcK,UAEvB,IAAK,cACL,IAAK,cACL,IAAK,eACL,IAAK,mBACL,KAAK,EACH,OAAOL,EAAc5E,YAEvB,IAAK,UACL,IAAK,UACL,KAAK,GACH,OAAO4E,EAAclyB,QAEvB,QACE,OAAO,KAEb,CAkBA,IAAIwyB,EAEAC,EAEAC,EAEAC,EA8CJ,OApEA9pK,OAAOysB,eAAe48I,EAAe,WAAY,CAC/C5mK,IAAK8lK,4BAA4B/iJ,EAAUjV,GAAKiV,EAAU45G,MAE5Dp/H,OAAOysB,eAAe48I,EAAe,YAAa,CAChD5mK,IAAK8lK,4BAA4B/iJ,EAAU45G,IAAM55G,EAAUjV,KAE7DvQ,OAAOysB,eAAe48I,EAAe,YAAa,CAChD5mK,IAAK8lK,4BAA4B/iJ,EAAU05G,MAE7Cl/H,OAAOysB,eAAe48I,EAAe,YAAa,CAChD5mK,IAAK8lK,4BAA4B/iJ,EAAU25G,MAE7Cn/H,OAAOysB,eAAe48I,EAAe,QAAS,CAC5C5mK,IAAK8lK,4BAA4B/iJ,EAAUrF,KAWzCqF,EAAUjI,EACZusJ,EAAoBvB,4BAA4B/iJ,EAAUjI,IAE1DosJ,EAAMpB,4BAA4B/iJ,EAAU4tD,IAC5Cw2F,EAAMrB,4BAA4B/iJ,EAAUw5G,IAExCx5G,EAAUy5G,KACZ4qC,EAAMtB,4BAA4B/iJ,EAAUy5G,MAIhDj/H,OAAOysB,eAAe48I,EAAe,WAAY,CAC/C5mK,IAAK,WACH,OAAI+iB,EAAUjI,EACLusJ,IAGF,CAACH,IAAOC,IAAOC,EAAMA,IAAQ,EACtC,IAEF7pK,OAAOysB,eAAe48I,EAAe,YAAa,CAChD5mK,IAAK8lK,4BAA4B/iJ,EAAU4tD,MAE7CpzE,OAAOysB,eAAe48I,EAAe,YAAa,CAChD5mK,IAAK8lK,4BAA4B/iJ,EAAUw5G,MAE7Ch/H,OAAOysB,eAAe48I,EAAe,YAAa,CAChD5mK,IAAK8lK,4BAA4B/iJ,EAAUy5G,MAE7Cj/H,OAAOysB,eAAe48I,EAAe,cAAe,CAClD5mK,IAAK8lK,4BAA4B/iJ,EAAU/C,KAE7CziB,OAAOysB,eAAe48I,EAAe,UAAW,CAC9C5mK,IAAK8lK,4BAA4B/iJ,EAAUqY,KAE7C79B,OAAOysB,eAAe48I,EAAe,OAAQ,CAC3C5mK,IAAK8lK,4BAA4B/iJ,EAAUktE,MAE7C1yF,OAAOysB,eAAe48I,EAAe,WAAY,CAC/C5mK,IAAK8lK,4BAA4B/iJ,EAAUkgE,MAE7C1lF,OAAOysB,eAAe48I,EAAe,cAAe,CAClD5mK,IAAK8lK,4BAA4B/iJ,EAAUywC,MAEtCozG,CACT,EAGEp4B,yBAA2B,WAC7B,SAAS84B,EAAUptD,GACjB,IAAIqtD,EAAa,IAAIpgH,OAWrB,YATaznD,IAATw6G,EACez9G,KAAK8oJ,MAAMvZ,eAAeC,MAAM9O,eAAejjB,GAErDhzD,MAAMqgH,GAEE9qK,KAAK8oJ,MAAMvZ,eAAeC,MAChCpP,cAAc0qC,GAGtBA,CACT,CAEA,SAASC,EAAWrjK,EAAK+1G,GACvB,IAAIqtD,EAAa9qK,KAAK6qK,UAAUptD,GAIhC,OAHAqtD,EAAWnjE,MAAM,IAAM,EACvBmjE,EAAWnjE,MAAM,IAAM,EACvBmjE,EAAWnjE,MAAM,IAAM,EAChB3nG,KAAKgrK,WAAWF,EAAYpjK,EACrC,CAEA,SAASw9J,EAAQx9J,EAAK+1G,GACpB,IAAIqtD,EAAa9qK,KAAK6qK,UAAUptD,GAChC,OAAOz9G,KAAKgrK,WAAWF,EAAYpjK,EACrC,CAEA,SAASujK,EAAavjK,EAAK+1G,GACzB,IAAIqtD,EAAa9qK,KAAK6qK,UAAUptD,GAIhC,OAHAqtD,EAAWnjE,MAAM,IAAM,EACvBmjE,EAAWnjE,MAAM,IAAM,EACvBmjE,EAAWnjE,MAAM,IAAM,EAChB3nG,KAAKkrK,YAAYJ,EAAYpjK,EACtC,CAEA,SAASy9J,EAAUz9J,EAAK+1G,GACtB,IAAIqtD,EAAa9qK,KAAK6qK,UAAUptD,GAChC,OAAOz9G,KAAKkrK,YAAYJ,EAAYpjK,EACtC,CAEA,SAASsjK,EAAW9rH,EAAQx3C,GAC1B,GAAI1H,KAAK8oJ,MAAM7T,WAAaj1I,KAAK8oJ,MAAM7T,UAAUt0I,OAAQ,CACvD,IAAIC,EACAojB,EAAMhkB,KAAK8oJ,MAAM7T,UAAUt0I,OAE/B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK8oJ,MAAM7T,UAAUr0I,GAAG2uI,eAAeC,MAAMpP,cAAclhF,EAE/D,CAEA,OAAOA,EAAOu7E,kBAAkB/yH,EAAI,GAAIA,EAAI,GAAIA,EAAI,IAAM,EAC5D,CAEA,SAASwjK,EAAYhsH,EAAQx3C,GAC3B,GAAI1H,KAAK8oJ,MAAM7T,WAAaj1I,KAAK8oJ,MAAM7T,UAAUt0I,OAAQ,CACvD,IAAIC,EACAojB,EAAMhkB,KAAK8oJ,MAAM7T,UAAUt0I,OAE/B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK8oJ,MAAM7T,UAAUr0I,GAAG2uI,eAAeC,MAAMpP,cAAclhF,EAE/D,CAEA,OAAOA,EAAOs7E,aAAa9yH,EAC7B,CAEA,SAAS09J,EAAS19J,GAChB,IAAIojK,EAAa,IAAIpgH,OAKrB,GAJAogH,EAAWr1C,QAEXz1H,KAAK8oJ,MAAMvZ,eAAeC,MAAMpP,cAAc0qC,GAE1C9qK,KAAK8oJ,MAAM7T,WAAaj1I,KAAK8oJ,MAAM7T,UAAUt0I,OAAQ,CACvD,IAAIC,EACAojB,EAAMhkB,KAAK8oJ,MAAM7T,UAAUt0I,OAE/B,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBZ,KAAK8oJ,MAAM7T,UAAUr0I,GAAG2uI,eAAeC,MAAMpP,cAAc0qC,GAG7D,OAAOA,EAAWtwC,aAAa9yH,EACjC,CAEA,OAAOojK,EAAWtwC,aAAa9yH,EACjC,CAEA,SAASyjK,IACP,MAAO,CAAC,EAAG,EAAG,EAAG,EACnB,CAEA,OAAO,SAAUl2I,GACf,IAAIm2I,EAUJ,SAAS3M,EAAmBx+J,GAC1B,OAAQA,GACN,IAAK,0BACL,IAAK,WACL,KAAK,EACH,OAAOw+J,EAAmB/rB,eAE5B,KAAK,EACL,KAAK,EACL,IAAK,YACL,IAAK,YACL,IAAK,uBACH,OAAO04B,EAET,KAAK,EACL,IAAK,qBACL,IAAK,UACL,IAAK,UACH,OAAO3M,EAAmB3kB,OAE5B,IAAK,uBACH,OAAO2kB,EAAmB5rB,cAE5B,QACE,OAAO,KAEb,CAEA4rB,EAAmBoM,UAAYA,EAC/BpM,EAAmByM,YAAcA,EACjCzM,EAAmBuM,WAAaA,EAChCvM,EAAmByG,QAAUA,EAC7BzG,EAAmBsM,WAAaA,EAChCtM,EAAmB0G,UAAYA,EAC/B1G,EAAmBwM,aAAeA,EAClCxM,EAAmB4G,OAASH,EAC5BzG,EAAmB2G,SAAWA,EAC9B3G,EAAmB0M,YAAcA,EACjC1M,EAAmB7uB,iBAAmB36G,EAAK26G,iBAAiBhyF,KAAK3oB,GACjEwpI,EAAmB3V,MAAQ7zH,EAE3B,IAAIo2I,EAAwB97D,cAD5B67D,EAAqBlB,6BAA6Bj1I,EAAKs6G,eAAeC,OACR,eAuC9D,OAtCA1uI,OAAOwqK,iBAAiB7M,EAAoB,CAC1C2J,UAAW,CACT7kK,IAAK,WACH,OAAO0xB,EAAKggH,UAAUt0I,MACxB,GAEFyqI,OAAQ,CACN7nI,IAAK,WACH,OAAO0xB,EAAKggH,UAAU,GAAG7C,cAC3B,GAEFrrE,SAAUwoC,cAAc67D,EAAoB,YAC5CpnH,MAAOurD,cAAc67D,EAAoB,SACzC95F,SAAUi+B,cAAc67D,EAAoB,YAC5CnzB,QAAS1oC,cAAc67D,EAAoB,WAC3C7F,YAAa8F,EACbE,aAAcF,EACd/kJ,UAAW,CACT/iB,IAAK,WACH,OAAO6nK,CACT,GAEFrF,OAAQ,CACNxiK,IAAK,WACH,OAAO0xB,EAAK65G,SACd,KAGJ2vB,EAAmB+M,UAAYv2I,EAAK5vB,KAAK6mC,GACzCuyH,EAAmB31J,MAAQmsB,EAAK5vB,KAAKumC,IACrC6yH,EAAmBp+I,OAAS4U,EAAK5vB,KAAK8xG,MACtCsnD,EAAmBrpJ,OAA0B,IAAjB6f,EAAK5vB,KAAK0kD,GAAW90B,EAAK5vB,KAAKkmB,EAAI,IAC/DkzI,EAAmBj2J,MAAyB,IAAjBysB,EAAK5vB,KAAK0kD,GAAW90B,EAAK5vB,KAAKsqC,EAAI,IAC9D8uH,EAAmBkG,QAAU1vI,EAAK5vB,KAAK0O,GAAKkhB,EAAKsiF,KAAKyI,WAAWrB,UACjE8/C,EAAmBmG,SAAW3vI,EAAK5vB,KAAKmyD,GAAKviC,EAAKsiF,KAAKyI,WAAWrB,UAClE8/C,EAAmBgN,MAAQx2I,EAAK5vB,KAAK24G,GACrCygD,EAAmBnsB,sBAtFnB,SAAgCD,GAC9BosB,EAAmB1nB,KAAO,IAAIiyB,qBAAqB32B,EAAap9G,EAClE,EAqFAwpI,EAAmBhsB,yBAnFnB,SAAmC/B,GACjC+tB,EAAmB3kB,OAASpJ,CAC9B,EAkFO+tB,CACT,CACF,CAzL+B,GA2L3BiN,qBACK,SAAUC,EAAmBC,GAClC,OAAO,SAAUjkK,GAGf,OAFAA,OAAc1E,IAAR0E,EAAoB,EAAIA,IAEnB,EACFgkK,EAGFC,EAAoBjkK,EAAM,EACnC,CACF,EAGEkkK,kBACK,SAAUC,EAAcjC,GAC7B,IAAI8B,EAAoB,CACtBF,MAAOK,GAaT,OAVA,SAAwBnkK,GAGtB,OAFAA,OAAc1E,IAAR0E,EAAoB,EAAIA,IAEnB,EACFgkK,EAGF9B,EAAcliK,EAAM,EAC7B,CAGF,EAGEqqI,2BAA6B,WA4C/B,SAAS+5B,EAAqB1mK,EAAMoiI,EAAUoiC,EAAe50I,GAC3D,SAAS+2I,EAAe/rK,GAKtB,IAJA,IAAIywI,EAAUrrI,EAAKsrI,GACf/vI,EAAI,EACJojB,EAAM0sH,EAAQ/vI,OAEXC,EAAIojB,GAAK,CACd,GAAI/jB,IAASywI,EAAQ9vI,GAAGo9G,IAAM/9G,IAASywI,EAAQ9vI,GAAG+oF,IAAM1pF,IAASywI,EAAQ9vI,GAAG0nI,GAC1E,OAAsB,IAAlBoI,EAAQ9vI,GAAGmpD,GACN6mF,EAAehwI,GAGjBgwI,EAAehwI,KAGxBA,GAAK,CACP,CAEA,MAAM,IAAIT,KACZ,CAEA,IAGIS,EAHAqrK,EAAiBP,qBAAqBM,EAAgBnC,GAEtDj5B,EAAiB,GAEjB5sH,EAAM3e,EAAKsrI,GAAGhwI,OAElB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACF,IAAlByE,EAAKsrI,GAAG/vI,GAAGmpD,GACb6mF,EAAeprI,KAAKumK,EAAqB1mK,EAAKsrI,GAAG/vI,GAAI6mI,EAASmJ,eAAehwI,GAAI6mI,EAASmJ,eAAehwI,GAAGipK,cAAe50I,IAE3H27G,EAAeprI,KAAK0mK,EAAqBzkC,EAASmJ,eAAehwI,GAAIyE,EAAKsrI,GAAG/vI,GAAGmpD,GAAI90B,EAAMg3I,IA2B9F,MAvBgB,uBAAZ5mK,EAAKskF,IACP7oF,OAAOysB,eAAey+I,EAAgB,QAAS,CAC7CzoK,IAAK,WACH,OAAOqtI,EAAe,IACxB,IAIJ9vI,OAAOwqK,iBAAiBU,EAAgB,CACtCG,cAAe,CACb5oK,IAAK,WACH,OAAO8B,EAAK+mK,EACd,GAEFX,MAAO,CACL1iK,MAAO1D,EAAK24G,IAEd6rD,cAAe,CACb9gK,MAAOkjK,KAGXD,EAAeK,QAAsB,IAAZhnK,EAAK06E,GAC9BisF,EAAejG,OAASiG,EAAeK,QAChCL,CACT,CAEA,SAASE,EAAqBv4I,EAASrwB,EAAM2xB,EAAM40I,GACjD,IAAIyC,EAAqBjD,4BAA4B11I,EAAQtV,GAc7D,OAJIsV,EAAQtV,EAAEkuJ,kBACZ54I,EAAQtV,EAAEkuJ,iBAAiBV,kBAAkB,GAAIhC,IATnD,WACE,OAAa,KAATvmK,EACK2xB,EAAKsiF,KAAK4G,cAAcxqF,EAAQtV,EAAE8C,GAGpCmrJ,GACT,CAOF,CAEA,MA1HS,CACP95B,uBAGF,SAAgCv9G,EAAM40I,GACpC,GAAI50I,EAAKm+G,eAAgB,CACvB,IAEIxyI,EAFAgwI,EAAiB,GACjB47B,EAAcv3I,EAAK5vB,KAAKsrI,GAExB3sH,EAAMiR,EAAKm+G,eAAexC,eAAejwI,OAE7C,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBgwI,EAAeprI,KAAKumK,EAAqBS,EAAY5rK,GAAIq0B,EAAKm+G,eAAexC,eAAehwI,GAAIipK,EAAe50I,IAGjH,IAAIy7G,EAAUz7G,EAAK5vB,KAAKsrI,IAAM,GAE1Bq7B,EAAiB,SAAwB/rK,GAI3C,IAHAW,EAAI,EACJojB,EAAM0sH,EAAQ/vI,OAEPC,EAAIojB,GAAK,CACd,GAAI/jB,IAASywI,EAAQ9vI,GAAGo9G,IAAM/9G,IAASywI,EAAQ9vI,GAAG+oF,IAAM1pF,IAASywI,EAAQ9vI,GAAG0nI,GAC1E,OAAOsI,EAAehwI,GAGxBA,GAAK,CACP,CAEA,OAAO,IACT,EAOA,OALAE,OAAOysB,eAAey+I,EAAgB,gBAAiB,CACrDzoK,IAAK,WACH,OAAOmtI,EAAQ/vI,MACjB,IAEKqrK,CACT,CAEA,OAAO,IACT,EAkFF,CA5HiC,GA8H7BS,mBACK,SAA8Bv4C,EAAOw4C,EAAM7C,GAChD,IAAIzuI,EAAOsxI,EAAKx9C,GAEhB,SAASy8C,EAAkBhkK,GACzB,MAAY,UAARA,GAA2B,UAARA,GAA2B,SAARA,GAA0B,SAARA,GAA0B,sBAARA,GAAuC,IAARA,EACpGgkK,EAAkB/2J,KAGpB,IACT,CAEA,IAAIq3J,EAAiBP,qBAAqBC,EAAmB9B,GAsC7D,OApCAzuI,EAAKmxI,iBAAiBV,kBAAkB,OAAQI,IAChDnrK,OAAOwqK,iBAAiBK,EAAmB,CACzC/2J,KAAM,CACJrR,IAAK,WAKH,OAJI63B,EAAKj6B,GACPi6B,EAAK62F,WAGA72F,CACT,GAEF84F,MAAO,CACL3wH,IAAK,WAKH,OAJI63B,EAAKj6B,GACPi6B,EAAK62F,WAGA72F,CACT,GAEFqwI,MAAO,CACL1iK,MAAOmrH,EAAMlW,IAEfsqB,GAAI,CACFv/H,MAAOmrH,EAAMoU,IAEfqkC,cAAe,CACb5jK,MAAOmrH,EAAMoU,IAEf3+C,GAAI,CACF5gF,MAAOmrH,EAAMvqC,IAEfkgF,cAAe,CACb9gK,MAAO8gK,KAGJ8B,CACT,EAGE15B,yBAA2B,WAC7B,SAAS26B,EAAgBv1D,EAAQq1D,EAAM7C,GACrC,IACIjpK,EADA8G,EAAM,GAENsc,EAAMqzF,EAASA,EAAO12G,OAAS,EAEnC,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACH,OAAjBy2G,EAAOz2G,GAAGmpD,GACZriD,EAAIlC,KAAKqnK,EAAsBx1D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IACzB,OAAjBxyD,EAAOz2G,GAAGmpD,GACnBriD,EAAIlC,KAAKsnK,EAAqBz1D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IACxB,OAAjBxyD,EAAOz2G,GAAGmpD,GACnBriD,EAAIlC,KAAKunK,EAAuB11D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IAC1B,OAAjBxyD,EAAOz2G,GAAGmpD,GACnBriD,EAAIlC,KAAKwnK,EAAqB31D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IACxB,OAAjBxyD,EAAOz2G,GAAGmpD,KACO,OAAjBstD,EAAOz2G,GAAGmpD,GACnBriD,EAAIlC,KAAKynK,EAAwB51D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IAC3B,OAAjBxyD,EAAOz2G,GAAGmpD,GACnBriD,EAAIlC,KAAK0nK,EAAqB71D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IACxB,OAAjBxyD,EAAOz2G,GAAGmpD,GACnBriD,EAAIlC,KAAKinK,mBAAmBp1D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IACtB,OAAjBxyD,EAAOz2G,GAAGmpD,GACnBriD,EAAIlC,KAAK2nK,EAAqB91D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IACxB,OAAjBxyD,EAAOz2G,GAAGmpD,GACnBriD,EAAIlC,KAAK4nK,EAAwB/1D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IAC3B,OAAjBxyD,EAAOz2G,GAAGmpD,GACnBriD,EAAIlC,KAAK6nK,EAAyBh2D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IAC5B,OAAjBxyD,EAAOz2G,GAAGmpD,GACnBriD,EAAIlC,KAAK8nK,EAA6Bj2D,EAAOz2G,GAAI8rK,EAAK9rK,GAAIipK,IAE1DniK,EAAIlC,MAA6B6xG,EAAOz2G,GAAI8rK,EAAK9rK,GAuJrD,WACE,OAAO,IACT,KArJA,OAAO8G,CACT,CAkCA,SAASmlK,EAAsB34C,EAAOw4C,EAAM7C,GAC1C,IAAI8B,EAAoB,SAA4B5iK,GAClD,OAAQA,GACN,IAAK,qBACL,IAAK,WACL,KAAK,EACH,OAAO4iK,EAAkB7kK,QAK3B,QACE,OAAO6kK,EAAkBrlJ,UAE/B,EAEAqlJ,EAAkB9B,cAAgB6B,qBAAqBC,EAAmB9B,GAC1E,IAAI/iK,EAjDN,SAAkCotH,EAAOw4C,EAAM7C,GAC7C,IAAI0D,EAEA5B,EAAoB,SAA4B5iK,GAIlD,IAHA,IAAInI,EAAI,EACJojB,EAAMupJ,EAAW5sK,OAEdC,EAAIojB,GAAK,CACd,GAAIupJ,EAAW3sK,GAAG6qK,QAAU1iK,GAASwkK,EAAW3sK,GAAG+oF,KAAO5gF,GAASwkK,EAAW3sK,GAAG+rK,gBAAkB5jK,GAASwkK,EAAW3sK,GAAG0nI,KAAOv/H,GAASwkK,EAAW3sK,GAAGgrC,MAAQ7iC,EAC9J,OAAOwkK,EAAW3sK,GAGpBA,GAAK,CACP,CAEA,MAAqB,kBAAVmI,EACFwkK,EAAWxkK,EAAQ,GAGrB,IACT,EAEA4iK,EAAkB9B,cAAgB6B,qBAAqBC,EAAmB9B,GAC1E0D,EAAaX,EAAgB14C,EAAMt0G,GAAI8sJ,EAAK9sJ,GAAI+rJ,EAAkB9B,eAClE8B,EAAkBQ,cAAgBoB,EAAW5sK,OAC7C,IAAIyqK,EAAqBoC,EAA0Bt5C,EAAMt0G,GAAGs0G,EAAMt0G,GAAGjf,OAAS,GAAI+rK,EAAK9sJ,GAAG8sJ,EAAK9sJ,GAAGjf,OAAS,GAAIgrK,EAAkB9B,eAIjI,OAHA8B,EAAkBrlJ,UAAY8kJ,EAC9BO,EAAkBgB,cAAgBz4C,EAAMu5C,IACxC9B,EAAkBF,MAAQv3C,EAAMlW,GACzB2tD,CACT,CAmBgB+B,CAAyBx5C,EAAOw4C,EAAMf,EAAkB9B,eAClEuB,EAAqBoC,EAA0Bt5C,EAAMt0G,GAAGs0G,EAAMt0G,GAAGjf,OAAS,GAAI+rK,EAAK9sJ,GAAG8sJ,EAAK9sJ,GAAGjf,OAAS,GAAIgrK,EAAkB9B,eAajI,OAZA8B,EAAkB7kK,QAAUA,EAC5B6kK,EAAkBrlJ,UAAY8kJ,EAC9BtqK,OAAOysB,eAAeo+I,EAAmB,QAAS,CAChDpoK,IAAK,WACH,OAAO2wH,EAAMlW,EACf,IAGF2tD,EAAkBQ,cAAgBj4C,EAAMk4C,GACxCT,EAAkBgB,cAAgBz4C,EAAMoU,GACxCqjC,EAAkB3tD,GAAKkW,EAAMlW,GAC7B2tD,EAAkBhiF,GAAKuqC,EAAMvqC,GACtBgiF,CACT,CAEA,SAASmB,EAAqB54C,EAAOw4C,EAAM7C,GACzC,SAAS8B,EAAkBhkK,GACzB,MAAY,UAARA,GAA2B,UAARA,EACdgkK,EAAkB15J,MAGf,YAARtK,GAA6B,YAARA,EAChBgkK,EAAkB1zB,QAGpB,IACT,CAkBA,OAhBAn3I,OAAOwqK,iBAAiBK,EAAmB,CACzC15J,MAAO,CACL1O,IAAK8lK,4BAA4BqD,EAAKvqK,IAExC81I,QAAS,CACP10I,IAAK8lK,4BAA4BqD,EAAK/tI,IAExC8sI,MAAO,CACL1iK,MAAOmrH,EAAMlW,IAEfr0B,GAAI,CACF5gF,MAAOmrH,EAAMvqC,MAGjB+iF,EAAKvqK,EAAEoqK,iBAAiBV,kBAAkB,QAAShC,IACnD6C,EAAK/tI,EAAE4tI,iBAAiBV,kBAAkB,UAAWhC,IAC9C8B,CACT,CAEA,SAAS2B,EAA6Bp5C,EAAOw4C,EAAM7C,GACjD,SAAS8B,EAAkBhkK,GACzB,MAAY,gBAARA,GAAiC,gBAARA,EACpBgkK,EAAkBgC,WAGf,cAARhmK,GAA+B,cAARA,EAClBgkK,EAAkBiC,SAGf,YAARjmK,GAA6B,YAARA,EAChBgkK,EAAkB1zB,QAGpB,IACT,CA2BA,OAzBAn3I,OAAOwqK,iBAAiBK,EAAmB,CACzCgC,WAAY,CACVpqK,IAAK8lK,4BAA4BqD,EAAKzrJ,IAExC2sJ,SAAU,CACRrqK,IAAK8lK,4BAA4BqD,EAAK9hJ,IAExCqtH,QAAS,CACP10I,IAAK8lK,4BAA4BqD,EAAK/tI,IAExCr7B,KAAM,CACJC,IAAK,WACH,MAAO,GACT,GAEFkoK,MAAO,CACL1iK,MAAOmrH,EAAMlW,IAEfr0B,GAAI,CACF5gF,MAAOmrH,EAAMvqC,MAGjB+iF,EAAKzrJ,EAAEsrJ,iBAAiBV,kBAAkB,cAAehC,IACzD6C,EAAK9hJ,EAAE2hJ,iBAAiBV,kBAAkB,YAAahC,IACvD6C,EAAK/tI,EAAE4tI,iBAAiBV,kBAAkB,UAAWhC,IAC9C8B,CACT,CAUA,SAASoB,EAAuB74C,EAAOw4C,EAAM7C,GAC3C,IAUIjpK,EAVAqrK,EAAiBP,qBAAqBC,EAAmB9B,GAEzDgE,EAAqBnC,qBAAqBoC,EAAQ7B,GAEtD,SAAS8B,EAAoBntK,GAC3BE,OAAOysB,eAAeugJ,EAAQ55C,EAAMvwG,EAAE/iB,GAAGo9G,GAAI,CAC3Cz6G,IAAK8lK,4BAA4BqD,EAAK/oJ,EAAE+5H,UAAU98I,GAAGyd,IAEzD,CAGA,IAAI2F,EAAMkwG,EAAMvwG,EAAIuwG,EAAMvwG,EAAEhjB,OAAS,EACjCmtK,EAAS,CAAC,EAEd,IAAKltK,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxBmtK,EAAoBntK,GACpB8rK,EAAK/oJ,EAAE+5H,UAAU98I,GAAGyd,EAAEkuJ,iBAAiBsB,GAGzC,SAASlC,EAAkBhkK,GACzB,MAAY,UAARA,GAA2B,UAARA,EACdgkK,EAAkB15J,MAGf,YAARtK,GAA6B,YAARA,EAChBgkK,EAAkB1zB,QAGf,iBAARtwI,GAAkC,iBAARA,EACrBgkK,EAAkB7P,YAGpB,IACT,CA2BA,OAzBAh7J,OAAOwqK,iBAAiBK,EAAmB,CACzC15J,MAAO,CACL1O,IAAK8lK,4BAA4BqD,EAAKvqK,IAExC81I,QAAS,CACP10I,IAAK8lK,4BAA4BqD,EAAK/tI,IAExCm9H,YAAa,CACXv4J,IAAK8lK,4BAA4BqD,EAAK/8H,IAExClgC,KAAM,CACJlM,IAAK,WACH,OAAOuqK,CACT,GAEFrC,MAAO,CACL1iK,MAAOmrH,EAAMlW,IAEfr0B,GAAI,CACF5gF,MAAOmrH,EAAMvqC,MAGjB+iF,EAAKvqK,EAAEoqK,iBAAiBV,kBAAkB,QAASI,IACnDS,EAAK/tI,EAAE4tI,iBAAiBV,kBAAkB,UAAWI,IACrDS,EAAK/8H,EAAE48H,iBAAiBV,kBAAkB,eAAgBI,IACnDN,CACT,CAEA,SAASqB,EAAqB94C,EAAOw4C,EAAM7C,GACzC,SAAS8B,EAAkBhkK,GACzB,OAAIA,IAAQusH,EAAMtpG,EAAE09G,IAAc,QAAR3gI,GAAyB,QAARA,EAClCgkK,EAAkB9iK,IAGvBlB,IAAQusH,EAAMjzG,EAAEqnH,GACXqjC,EAAkB14J,MAGvBtL,IAAQusH,EAAMv1F,EAAE2pG,GACXqjC,EAAkB78G,OAGpB,IACT,CAEA,IAAIm9G,EAAiBP,qBAAqBC,EAAmB9B,GAuB7D,OArBA8B,EAAkBgB,cAAgBz4C,EAAMoU,GACxCokC,EAAKzrJ,EAAEsrJ,iBAAiBV,kBAAkB,QAASI,IACnDS,EAAK9hJ,EAAE2hJ,iBAAiBV,kBAAkB,MAAOI,IACjDS,EAAK/tI,EAAE4tI,iBAAiBV,kBAAkB,SAAUI,IACpDN,EAAkBgB,cAAgBz4C,EAAMoU,GACxCqjC,EAAkB9B,cAAgBA,EAClC/oK,OAAOwqK,iBAAiBK,EAAmB,CACzC14J,MAAO,CACL1P,IAAK8lK,4BAA4BqD,EAAKzrJ,IAExCpY,IAAK,CACHtF,IAAK8lK,4BAA4BqD,EAAK9hJ,IAExCkkC,OAAQ,CACNvrD,IAAK8lK,4BAA4BqD,EAAK/tI,IAExC8sI,MAAO,CACL1iK,MAAOmrH,EAAMlW,MAGjB2tD,EAAkBhiF,GAAKuqC,EAAMvqC,GACtBgiF,CACT,CAEA,SAAS6B,EAA0Bt5C,EAAOw4C,EAAM7C,GAC9C,SAAS8B,EAAkB5iK,GACzB,OAAImrH,EAAM3wG,EAAE+kH,KAAOv/H,GAAmB,iBAAVA,EACnB4iK,EAAkBpG,YAGvBrxC,EAAMv1F,EAAE2pG,KAAOv/H,GAAmB,YAAVA,EACnB4iK,EAAkB1zB,QAGvB/jB,EAAM71G,EAAEiqH,KAAOv/H,GAAmB,aAAVA,EACnB4iK,EAAkBr6F,SAGvB4iD,EAAM7iH,EAAEi3H,KAAOv/H,GAAmB,aAAVA,GAAkC,yBAAVA,EAC3C4iK,EAAkB5kG,SAGvBmtD,EAAMjzG,EAAEqnH,KAAOv/H,GAAmB,UAAVA,EACnB4iK,EAAkB3nH,MAGvBkwE,EAAM1gC,IAAM0gC,EAAM1gC,GAAG80C,KAAOv/H,GAAmB,SAAVA,EAChC4iK,EAAkBxhH,KAGvB+pE,EAAM1tC,IAAM0tC,EAAM1tC,GAAG8hD,KAAOv/H,GAAmB,cAAVA,EAChC4iK,EAAkBqC,SAGpB,IACT,CAEA,IAAI/B,EAAiBP,qBAAqBC,EAAmB9B,GA2C7D,OAzCA6C,EAAKpmJ,UAAU0iH,OAAOrqG,EAAE4tI,iBAAiBV,kBAAkB,UAAWI,IACtES,EAAKpmJ,UAAU0iH,OAAO3qH,EAAEkuJ,iBAAiBV,kBAAkB,WAAYI,IACvES,EAAKpmJ,UAAU0iH,OAAOzlH,EAAEgpJ,iBAAiBV,kBAAkB,eAAgBI,IAC3ES,EAAKpmJ,UAAU0iH,OAAO/nH,EAAEsrJ,iBAAiBV,kBAAkB,QAASI,IACpES,EAAKpmJ,UAAU0iH,OAAO33H,EAAEk7J,iBAAiBV,kBAAkB,WAAYI,IAEnES,EAAKpmJ,UAAU0iH,OAAOx1C,KACxBk5E,EAAKpmJ,UAAU0iH,OAAOx1C,GAAG+4E,iBAAiBV,kBAAkB,OAAQI,IACpES,EAAKpmJ,UAAU0iH,OAAOxiD,GAAG+lF,iBAAiBV,kBAAkB,aAAcI,KAG5ES,EAAKpmJ,UAAUkxC,GAAG+0G,iBAAiBV,kBAAkB,UAAWI,IAChEnrK,OAAOwqK,iBAAiBK,EAAmB,CACzC1zB,QAAS,CACP10I,IAAK8lK,4BAA4BqD,EAAKpmJ,UAAU0iH,OAAOrqG,IAEzD2yC,SAAU,CACR/tE,IAAK8lK,4BAA4BqD,EAAKpmJ,UAAU0iH,OAAO3qH,IAEzDknJ,YAAa,CACXhiK,IAAK8lK,4BAA4BqD,EAAKpmJ,UAAU0iH,OAAOzlH,IAEzDygC,MAAO,CACLzgD,IAAK8lK,4BAA4BqD,EAAKpmJ,UAAU0iH,OAAO/nH,IAEzD8lD,SAAU,CACRxjE,IAAK8lK,4BAA4BqD,EAAKpmJ,UAAU0iH,OAAO33H,IAEzD84C,KAAM,CACJ5mD,IAAK8lK,4BAA4BqD,EAAKpmJ,UAAU0iH,OAAOx1C,KAEzDw6E,SAAU,CACRzqK,IAAK8lK,4BAA4BqD,EAAKpmJ,UAAU0iH,OAAOxiD,KAEzDilF,MAAO,CACL1iK,MAAOmrH,EAAMlW,MAGjB2tD,EAAkB5hH,GAAK,KACvB4hH,EAAkBhiF,GAAKuqC,EAAMvqC,GAC7BgiF,EAAkB9B,cAAgBA,EAC3B8B,CACT,CAEA,SAASsB,EAAwB/4C,EAAOw4C,EAAM7C,GAC5C,SAAS8B,EAAkB5iK,GACzB,OAAImrH,EAAM71G,EAAEiqH,KAAOv/H,EACV4iK,EAAkBr6F,SAGvB4iD,EAAMjzG,EAAEqnH,KAAOv/H,EACV4iK,EAAkB1iK,KAGpB,IACT,CAEA,IAAIgjK,EAAiBP,qBAAqBC,EAAmB9B,GAE7D8B,EAAkBgB,cAAgBz4C,EAAMoU,GACxC,IAAIltG,EAAsB,OAAfsxI,EAAKx9C,GAAGnlE,GAAc2iH,EAAKx9C,GAAG9zF,KAAOsxI,EAAKx9C,GAerD,OAdA9zF,EAAKna,EAAEsrJ,iBAAiBV,kBAAkB,OAAQI,IAClD7wI,EAAK/c,EAAEkuJ,iBAAiBV,kBAAkB,WAAYI,IACtDnrK,OAAOwqK,iBAAiBK,EAAmB,CACzC1iK,KAAM,CACJ1F,IAAK8lK,4BAA4BjuI,EAAKna,IAExCqwD,SAAU,CACR/tE,IAAK8lK,4BAA4BjuI,EAAK/c,IAExCotJ,MAAO,CACL1iK,MAAOmrH,EAAMlW,MAGjB2tD,EAAkBhiF,GAAKuqC,EAAMvqC,GACtBgiF,CACT,CAEA,SAASuB,EAAqBh5C,EAAOw4C,EAAM7C,GACzC,SAAS8B,EAAkB5iK,GACzB,OAAImrH,EAAM71G,EAAEiqH,KAAOv/H,EACV4iK,EAAkBr6F,SAGvB4iD,EAAM7iH,EAAEi3H,KAAOv/H,EACV4iK,EAAkB5kG,SAGvBmtD,EAAM5tE,GAAGgiF,KAAOv/H,EACX4iK,EAAkBxlD,OAGvB+N,EAAMn9D,GAAGuxE,KAAOv/H,GAAmB,kCAAVA,EACpB4iK,EAAkBsC,YAGvB/5C,EAAMuC,GAAG6R,KAAOv/H,EACX4iK,EAAkBuC,gBAGvBh6C,EAAMp9D,IAAOo9D,EAAMp9D,GAAGwxE,KAAOv/H,GAAmB,kCAAVA,EAItCmrH,EAAM/hC,IAAM+hC,EAAM/hC,GAAGm2C,KAAOv/H,EACvB4iK,EAAkBwC,eAGpB,KAPExC,EAAkByC,WAQ7B,CAEA,IAAInC,EAAiBP,qBAAqBC,EAAmB9B,GAEzDzuI,EAAsB,OAAfsxI,EAAKx9C,GAAGnlE,GAAc2iH,EAAKx9C,GAAG9zF,KAAOsxI,EAAKx9C,GAwCrD,OAvCAy8C,EAAkBgB,cAAgBz4C,EAAMoU,GACxCltG,EAAK27B,GAAGw1G,iBAAiBV,kBAAkB,eAAgBI,IAC3D7wI,EAAKq7F,GAAG81C,iBAAiBV,kBAAkB,kBAAmBI,IAC9D7wI,EAAKkrB,GAAGimH,iBAAiBV,kBAAkB,SAAUI,IACrD7wI,EAAK/c,EAAEkuJ,iBAAiBV,kBAAkB,WAAYI,IACtD7wI,EAAK/pB,EAAEk7J,iBAAiBV,kBAAkB,WAAYI,IAElD/3C,EAAMp9D,KACR17B,EAAK07B,GAAGy1G,iBAAiBV,kBAAkB,eAAgBI,IAC3D7wI,EAAK+2D,GAAGo6E,iBAAiBV,kBAAkB,kBAAmBI,KAGhEnrK,OAAOwqK,iBAAiBK,EAAmB,CACzCr6F,SAAU,CACR/tE,IAAK8lK,4BAA4BjuI,EAAK/c,IAExC0oD,SAAU,CACRxjE,IAAK8lK,4BAA4BjuI,EAAK/pB,IAExC80G,OAAQ,CACN5iH,IAAK8lK,4BAA4BjuI,EAAKkrB,KAExC2nH,YAAa,CACX1qK,IAAK8lK,4BAA4BjuI,EAAK27B,KAExCm3G,eAAgB,CACd3qK,IAAK8lK,4BAA4BjuI,EAAKq7F,KAExC23C,YAAa,CACX7qK,IAAK8lK,4BAA4BjuI,EAAK07B,KAExCq3G,eAAgB,CACd5qK,IAAK8lK,4BAA4BjuI,EAAK+2D,KAExCs5E,MAAO,CACL1iK,MAAOmrH,EAAMlW,MAGjB2tD,EAAkBhiF,GAAKuqC,EAAMvqC,GACtBgiF,CACT,CAEA,SAASwB,EAAqBj5C,EAAOw4C,EAAM7C,GACzC,SAAS8B,EAAkB5iK,GACzB,OAAImrH,EAAM71G,EAAEiqH,KAAOv/H,EACV4iK,EAAkBr6F,SAGvB4iD,EAAM7iH,EAAEi3H,KAAOv/H,EACV4iK,EAAkBh1C,UAGvBzC,EAAMjzG,EAAEqnH,KAAOv/H,GAAmB,SAAVA,GAA8B,0BAAVA,EACvC4iK,EAAkB1iK,KAGpB,IACT,CAEA,IAAIgjK,EAAiBP,qBAAqBC,EAAmB9B,GAEzDzuI,EAAsB,OAAfsxI,EAAKx9C,GAAGnlE,GAAc2iH,EAAKx9C,GAAG9zF,KAAOsxI,EAAKx9C,GAoBrD,OAnBAy8C,EAAkBgB,cAAgBz4C,EAAMoU,GACxCltG,EAAK/c,EAAEkuJ,iBAAiBV,kBAAkB,WAAYI,IACtD7wI,EAAKna,EAAEsrJ,iBAAiBV,kBAAkB,OAAQI,IAClD7wI,EAAK/pB,EAAEk7J,iBAAiBV,kBAAkB,WAAYI,IACtDnrK,OAAOwqK,iBAAiBK,EAAmB,CACzCr6F,SAAU,CACR/tE,IAAK8lK,4BAA4BjuI,EAAK/c,IAExCs4G,UAAW,CACTpzH,IAAK8lK,4BAA4BjuI,EAAK/pB,IAExCpI,KAAM,CACJ1F,IAAK8lK,4BAA4BjuI,EAAKna,IAExCwqJ,MAAO,CACL1iK,MAAOmrH,EAAMlW,MAGjB2tD,EAAkBhiF,GAAKuqC,EAAMvqC,GACtBgiF,CACT,CAEA,SAASyB,EAAwBl5C,EAAOw4C,EAAM7C,GAC5C,SAAS8B,EAAkB5iK,GACzB,OAAImrH,EAAM7iH,EAAEi3H,KAAOv/H,GAAmB,oBAAVA,EACnB4iK,EAAkB79F,OAGpB,IACT,CAEA,IAAIm+F,EAAiBP,qBAAqBC,EAAmB9B,GAEzDzuI,EAAOsxI,EAYX,OAXAf,EAAkBgB,cAAgBz4C,EAAMoU,GACxCltG,EAAKilD,GAAGksF,iBAAiBV,kBAAkB,SAAUI,IACrDnrK,OAAOwqK,iBAAiBK,EAAmB,CACzC79F,OAAQ,CACNvqE,IAAK8lK,4BAA4BjuI,EAAKilD,KAExCorF,MAAO,CACL1iK,MAAOmrH,EAAMlW,MAGjB2tD,EAAkBhiF,GAAKuqC,EAAMvqC,GACtBgiF,CACT,CAEA,SAAS0B,EAAyBn5C,EAAOw4C,EAAM7C,GAC7C,SAAS8B,EAAkB5iK,GACzB,OAAImrH,EAAM/xH,EAAEmmI,KAAOv/H,GAAmB,WAAVA,EACnB4iK,EAAkBvjC,OAGvBlU,EAAMv1F,EAAE2pG,KAAOv/H,GAAmB,WAAVA,EACnB4iK,EAAkB78G,OAGpB,IACT,CAEA,IAAIm9G,EAAiBP,qBAAqBC,EAAmB9B,GAEzDzuI,EAAOsxI,EAgBX,OAfAf,EAAkBgB,cAAgBz4C,EAAMoU,GACxCltG,EAAKj5B,EAAEoqK,iBAAiBV,kBAAkB,SAAUI,IACpD7wI,EAAKuD,EAAE4tI,iBAAiBV,kBAAkB,SAAUI,IACpDnrK,OAAOwqK,iBAAiBK,EAAmB,CACzCvjC,OAAQ,CACN7kI,IAAK8lK,4BAA4BjuI,EAAKj5B,IAExC2sD,OAAQ,CACNvrD,IAAK8lK,4BAA4BjuI,EAAKuD,IAExC8sI,MAAO,CACL1iK,MAAOmrH,EAAMlW,MAGjB2tD,EAAkBhiF,GAAKuqC,EAAMvqC,GACtBgiF,CACT,CAEA,OAAO,SAAUt0D,EAAQq1D,EAAM7C,GAC7B,IAAI0D,EAEJ,SAASc,EAAmBtlK,GAC1B,GAAqB,kBAAVA,EAGT,OAAc,KAFdA,OAAkB9F,IAAV8F,EAAsB,EAAIA,GAGzB8gK,EAGF0D,EAAWxkK,EAAQ,GAM5B,IAHA,IAAInI,EAAI,EACJojB,EAAMupJ,EAAW5sK,OAEdC,EAAIojB,GAAK,CACd,GAAIupJ,EAAW3sK,GAAG6qK,QAAU1iK,EAC1B,OAAOwkK,EAAW3sK,GAGpBA,GAAK,CACP,CAEA,OAAO,IACT,CAUA,OAJAytK,EAAmBxE,cAAgB6B,qBAAqB2C,GAJxD,WACE,OAAOxE,CACT,IAGA0D,EAAaX,EAAgBv1D,EAAQq1D,EAAM2B,EAAmBxE,eAC9DwE,EAAmBlC,cAAgBoB,EAAW5sK,OAC9C0tK,EAAmB5C,MAAQ,WACpB4C,CACT,CACF,CAnnB+B,GAqnB3Bn8B,wBACK,SAAUj9G,GACf,IAAIq5I,EAEJ,SAAS7P,EAAmBx+J,GAC1B,MACO,uBADCA,EAEGw+J,EAAmB8P,WAGnB,IAEb,CAyBA,OAvBAztK,OAAOysB,eAAekxI,EAAoB,aAAc,CACtDl7J,IAAK,WACH0xB,EAAK4yH,aAAa51B,WAClB,IAAIu8C,EAAcv5I,EAAK4yH,aAAa7F,YAAYv+H,EAiBhD,OAfK6qJ,GAAeE,IAAgBF,EAAYvlK,SAC9CulK,EAAc,IAAI/pJ,OAAOiqJ,IAGbzlK,MAAQylK,GAAe,IAAIjqJ,OAAOiqJ,GAE9C1tK,OAAOysB,eAAe+gJ,EAAa,QAAS,CAC1C/qK,IAAK,WACH,MAAO,CACLuuB,UAAWmD,EAAK4yH,aAAa7F,YAAYplE,GAE7C,KAIG0xF,CACT,IAEK7P,CACT,EAGF,SAASgQ,QAAQrnK,GAAmV,OAAtOqnK,QAArD,oBAAXp5E,QAAoD,kBAApBA,OAAOkc,SAAmC,SAAiBnqG,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXiuF,QAAyBjuF,EAAIhH,cAAgBi1F,QAAUjuF,IAAQiuF,OAAOn1F,UAAY,gBAAkBkH,CAAK,EAAYqnK,QAAQrnK,EAAM,CAEzX,IAAIssI,iBAAmB,WACrB,IAyCIg7B,EAAuB,SAA8Bz5I,GACvD,SAAS02I,EAAkB5iK,GACzB,MAAc,YAAVA,EACK4iK,EAAkBgD,mBAGpB,IACT,CAIA,OAFAhD,EAAkBF,MAAQ,UAC1BE,EAAkBgD,iBAnDU,SAAiC15I,GAC7D,IAAI25I,EAAsB,GACtBC,EAAkB55I,EAAK0+G,iBAQ3B,SAASoP,EAAeh6I,GACtB,GAAI8lK,EAAgB9lK,GAIlB,OAHA6lK,EAAsB7lK,EAGW,WAA7B0lK,QAFJI,EAAkBA,EAAgB9lK,IAGzBg6I,EAGF8rB,EAGT,IAAIC,EAAoB/lK,EAAMnB,QAAQgnK,GAEtC,IAA2B,IAAvBE,EAA0B,CAC5B,IAAIhmK,EAAQ+E,SAAS9E,EAAM7B,OAAO4nK,EAAoBF,EAAoBjuK,QAAS,IAGnF,MAAiC,WAA7B8tK,QAFJI,EAAkBA,EAAgB/lK,IAGzBi6I,EAGF8rB,CACT,CAEA,MAAO,EACT,CAEA,OAlCA,WAGE,OAFAD,EAAsB,GACtBC,EAAkB55I,EAAK0+G,iBAChBoP,CACT,CA+BF,CAYuCgsB,CAAwB95I,GACtD02I,CACT,EAEA,OAAO,SAAU12I,GACf,SAASo5I,EAAmBtlK,GAC1B,MAAc,SAAVA,EACKslK,EAAmBW,cAGrB,IACT,CAIA,OAFAX,EAAmB5C,MAAQ,OAC3B4C,EAAmBW,cAAgBN,EAAqBz5I,GACjDo5I,CACT,CACF,CArEuB,GAuEnBd,WAAa,CACfp5B,MAAOpC,yBACPrB,QAASsB,2BACTz6B,KAAM46B,wBACNje,MAAO+d,yBACPznI,KAAM0nI,wBACN+8B,QAASv7B,kBAGX,SAASw7B,aAAa5rK,GACpB,OAAOiqK,WAAWjqK,IAAS,IAC7B,CAEA,IAAI6rK,kBAgFK,CACLC,kBAhFF,SAA2Bn6I,EAAM5vB,EAAM+1B,GACjC/1B,EAAKqI,IACP0tB,EAAKj6B,GAAI,EACTi6B,EAAK1tB,GAAI,EACT0tB,EAAK6oI,mBAAqBjD,kBAAkBiD,mBAC5C7oI,EAAKm2F,gBAAgB/rH,KAAK41B,EAAK6oI,mBAAmBhvI,EAAM5vB,EAAM+1B,GAAMwiB,KAAKxiB,IAE7E,EA0EEwuI,eA3DF,SAAwBv8C,GACtB,IACIuK,EAAK53H,KAAK0gI,eAAerT,GACzBoT,EAAKzgI,KAAK0gI,eAAerT,GAFhB,KAGTvjB,EAAQ,EAEZ,GAAI8tB,EAAGj3H,OAAQ,CACb,IAAIC,EAEJ,IAAKA,EAAI,EAAGA,EAAIg3H,EAAGj3H,OAAQC,GAAK,EAC9BkpG,GAAS1lG,KAAKC,IAAIo8H,EAAG7/H,GAAKg3H,EAAGh3H,GAAI,GAGnCkpG,EAA2B,IAAnB1lG,KAAKyB,KAAKikG,EACpB,MACEA,EAAQ,EAGV,OAAOA,CACT,EAyCE28D,kBAvCF,SAA2Bp5C,GACzB,QAAiBpqH,IAAbjD,KAAKgyH,IACP,OAAOhyH,KAAKgyH,IAGd,IAII00C,EAIE9lK,EARF0gI,GAAS,KAET1J,EAAK53H,KAAK0gI,eAAerT,GACzBoT,EAAKzgI,KAAK0gI,eAAerT,EAAWiU,GAGxC,GAAI1J,EAAGj3H,OAIL,IAHA+lK,EAAWv1D,iBAAiB,UAAWymB,EAAGj3H,QAGrCC,EAAI,EAAGA,EAAIg3H,EAAGj3H,OAAQC,GAAK,EAI9B8lK,EAAS9lK,IAAM6/H,EAAG7/H,GAAKg3H,EAAGh3H,IAAM0gI,OAGlColC,GAAYjmC,EAAK7I,GAAM0J,EAGzB,OAAOolC,CACT,EAcEhmC,eA1EF,SAAwBrT,GAUtB,OATAA,GAAYrtH,KAAKi1B,KAAK+qF,WAAWrB,WACjC0O,GAAYrtH,KAAKwtH,cAEAxtH,KAAKqvK,eAAe5gD,YACnCzuH,KAAKqvK,eAAetoI,UAAY/mC,KAAKqvK,eAAe5gD,UAAYpB,EAAWrtH,KAAKqvK,eAAetoI,UAAY,EAC3G/mC,KAAKqvK,eAAetmK,MAAQ/I,KAAKotH,iBAAiBC,EAAUrtH,KAAKqvK,gBACjErvK,KAAKqvK,eAAe5gD,UAAYpB,GAG3BrtH,KAAKqvK,eAAetmK,KAC7B,EAgEEumK,qBAbF,WACE,OAAOtvK,KAAK0tH,EACd,EAYE6+C,iBAVF,SAA0B1C,GACxB7pK,KAAK6pK,cAAgBA,CACvB,GAYF,SAAS0F,uBACP,SAASxK,EAAQzhK,EAAMorF,EAAU8gF,GAC/B,IAAKxvK,KAAKmB,IAAMnB,KAAKguH,UACnB,OAAOhuH,KAAK0tH,GAGdpqH,EAAOA,EAAOA,EAAKE,cAAgB,GACnC,IAQIisK,EACAC,EAmBA9uK,EACAojB,EACA2rJ,EA9BAzxD,EAAel+G,KAAKu3G,KAAKsZ,cACzB7C,EAAYhuH,KAAKguH,UACjB4hD,EAAe5hD,EAAUA,EAAUrtH,OAAS,GAAG8iB,EAEnD,GAAIy6F,GAAgB0xD,EAClB,OAAO5vK,KAAK0tH,GA2Bd,GArBK8hD,EAcHE,EAAgBE,GAHdH,EAHG/gF,EAGatqF,KAAK8jC,IAAI0nI,EAAe5vK,KAAKi1B,KAAKsiF,KAAKyI,WAAWrB,UAAYjwB,GAF9DtqF,KAAKhB,IAAI,EAAGwsK,EAAe5vK,KAAKi1B,KAAK5vB,KAAK0O,QARvD26E,GAAYA,EAAWs/B,EAAUrtH,OAAS,KAC7C+tF,EAAWs/B,EAAUrtH,OAAS,GAIhC8uK,EAAgBG,GADhBF,EAAgB1hD,EAAUA,EAAUrtH,OAAS,EAAI+tF,GAAUjrE,IAgBhD,aAATngB,GAGF,GAFiBc,KAAKK,OAAOy5G,EAAewxD,GAAiBD,GAE5C,IAAM,EACrB,OAAOzvK,KAAK0gI,gBAAgB+uC,GAAiBvxD,EAAewxD,GAAiBD,EAAgBC,GAAiB1vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,OAE3I,IAAa,WAATr7G,EAAmB,CAC5B,IAAIusK,EAAQ7vK,KAAK0gI,eAAegvC,EAAgB1vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,GAC5EmxD,EAAO9vK,KAAK0gI,eAAekvC,EAAe5vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,GAC1EpkF,EAAUv6B,KAAK0gI,iBAAiBxiB,EAAewxD,GAAiBD,EAAgBC,GAAiB1vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,GAEjIoxD,EAAU3rK,KAAKK,OAAOy5G,EAAewxD,GAAiBD,GAE1D,GAAIzvK,KAAK0tH,GAAG/sH,OAAQ,CAIlB,IAFAqjB,GADA2rJ,EAAM,IAAIrvK,MAAMuvK,EAAMlvK,SACZA,OAELC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB+uK,EAAI/uK,IAAMkvK,EAAKlvK,GAAKivK,EAAMjvK,IAAMmvK,EAAUx1I,EAAQ35B,GAGpD,OAAO+uK,CACT,CAEA,OAAQG,EAAOD,GAASE,EAAUx1I,CACpC,CAAO,GAAa,aAATj3B,EAAqB,CAC9B,IAAI0sK,EAAYhwK,KAAK0gI,eAAekvC,EAAe5vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,GAC/EsxD,EAAgBjwK,KAAK0gI,gBAAgBkvC,EAAe,MAAS5vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,GAEjG,GAAI3+G,KAAK0tH,GAAG/sH,OAAQ,CAIlB,IAFAqjB,GADA2rJ,EAAM,IAAIrvK,MAAM0vK,EAAUrvK,SAChBA,OAELC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB+uK,EAAI/uK,GAAKovK,EAAUpvK,IAAMovK,EAAUpvK,GAAKqvK,EAAcrvK,MAAQs9G,EAAe0xD,GAAgB5vK,KAAKu3G,KAAKyI,WAAWrB,WAAa,KAGjI,OAAOgxD,CACT,CAEA,OAAOK,GAA4C9xD,EAAe0xD,GAAgB,MAA9DI,EAAYC,EAClC,EAEA,OAAOjwK,KAAK0gI,iBAAiBxiB,EAAewxD,GAAiBD,EAAgBC,GAAiB1vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,EAChI,CAEA,SAASkmD,EAAOvhK,EAAMorF,EAAU8gF,GAC9B,IAAKxvK,KAAKmB,EACR,OAAOnB,KAAK0tH,GAGdpqH,EAAOA,EAAOA,EAAKE,cAAgB,GACnC,IAQIisK,EACAG,EAmBAhvK,EACAojB,EACA2rJ,EA9BAzxD,EAAel+G,KAAKu3G,KAAKsZ,cACzB7C,EAAYhuH,KAAKguH,UACjB0hD,EAAgB1hD,EAAU,GAAGvqG,EAEjC,GAAIy6F,GAAgBwxD,EAClB,OAAO1vK,KAAK0tH,GA2Bd,GArBK8hD,EAcHI,EAAeF,GAHbD,EAHG/gF,EAGatqF,KAAK8jC,IAAIloC,KAAKi1B,KAAKsiF,KAAKyI,WAAWrB,UAAYjwB,GAF/CtqF,KAAKhB,IAAI,EAAGpD,KAAKi1B,KAAK5vB,KAAKmyD,GAAKk4G,OAR7ChhF,GAAYA,EAAWs/B,EAAUrtH,OAAS,KAC7C+tF,EAAWs/B,EAAUrtH,OAAS,GAIhC8uK,GADAG,EAAe5hD,EAAUt/B,GAAUjrE,GACJisJ,GAepB,aAATpsK,GAGF,GAFiBc,KAAKK,OAAOirK,EAAgBxxD,GAAgBuxD,GAE5C,IAAM,EACrB,OAAOzvK,KAAK0gI,iBAAiBgvC,EAAgBxxD,GAAgBuxD,EAAgBC,GAAiB1vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,OAE3H,IAAa,WAATr7G,EAAmB,CAC5B,IAAIusK,EAAQ7vK,KAAK0gI,eAAegvC,EAAgB1vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,GAC5EmxD,EAAO9vK,KAAK0gI,eAAekvC,EAAe5vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,GAC1EpkF,EAAUv6B,KAAK0gI,gBAAgB+uC,GAAiBC,EAAgBxxD,GAAgBuxD,EAAgBC,GAAiB1vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,GACjJoxD,EAAU3rK,KAAKK,OAAOirK,EAAgBxxD,GAAgBuxD,GAAiB,EAE3E,GAAIzvK,KAAK0tH,GAAG/sH,OAAQ,CAIlB,IAFAqjB,GADA2rJ,EAAM,IAAIrvK,MAAMuvK,EAAMlvK,SACZA,OAELC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB+uK,EAAI/uK,GAAK25B,EAAQ35B,IAAMkvK,EAAKlvK,GAAKivK,EAAMjvK,IAAMmvK,EAG/C,OAAOJ,CACT,CAEA,OAAOp1I,GAAWu1I,EAAOD,GAASE,CACpC,CAAO,GAAa,aAATzsK,EAAqB,CAC9B,IAAI4sK,EAAalwK,KAAK0gI,eAAegvC,EAAgB1vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,GACjFwxD,EAAiBnwK,KAAK0gI,gBAAgBgvC,EAAgB,MAAS1vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,GAEnG,GAAI3+G,KAAK0tH,GAAG/sH,OAAQ,CAIlB,IAFAqjB,GADA2rJ,EAAM,IAAIrvK,MAAM4vK,EAAWvvK,SACjBA,OAELC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB+uK,EAAI/uK,GAAKsvK,EAAWtvK,IAAMsvK,EAAWtvK,GAAKuvK,EAAevvK,KAAO8uK,EAAgBxxD,GAAgB,KAGlG,OAAOyxD,CACT,CAEA,OAAOO,GAAcA,EAAaC,IAAmBT,EAAgBxxD,GAAgB,IACvF,EAEA,OAAOl+G,KAAK0gI,gBAAgB+uC,IAAkBC,EAAgBxxD,GAAgBuxD,EAAgBC,IAAkB1vK,KAAKu3G,KAAKyI,WAAWrB,UAAW,EAClJ,CAEA,SAASsmD,EAAOz8J,EAAO4nK,GACrB,IAAKpwK,KAAKmB,EACR,OAAOnB,KAAK0tH,GAMd,GAHAllH,EAAyB,IAAhBA,GAAS,KAClB4nK,EAAUhsK,KAAKK,MAAM2rK,GAAW,KAEjB,EACb,OAAOpwK,KAAK0tH,GAGd,IAMI3kH,EAQAsnK,EAdAh9D,EAAcrzG,KAAKu3G,KAAKsZ,cAAgB7wH,KAAKu3G,KAAKyI,WAAWrB,UAC7DuO,EAAY7Z,EAAc7qG,EAE1B8nK,EAAkBF,EAAU,GADjB/8D,EAAc7qG,EACmB0kH,IAAckjD,EAAU,GAAK,EACzExvK,EAAI,EACJK,EAAI,EAWR,IAPE8H,EADE/I,KAAK0tH,GAAG/sH,OACFwwG,iBAAiB,UAAWnxG,KAAK0tH,GAAG/sH,QAEpC,EAKHC,EAAIwvK,GAAS,CAGlB,GAFAC,EAAcrwK,KAAK0gI,eAAexT,EAAYtsH,EAAI0vK,GAE9CtwK,KAAK0tH,GAAG/sH,OACV,IAAKM,EAAI,EAAGA,EAAIjB,KAAK0tH,GAAG/sH,OAAQM,GAAK,EACnC8H,EAAM9H,IAAMovK,EAAYpvK,QAG1B8H,GAASsnK,EAGXzvK,GAAK,CACP,CAEA,GAAIZ,KAAK0tH,GAAG/sH,OACV,IAAKM,EAAI,EAAGA,EAAIjB,KAAK0tH,GAAG/sH,OAAQM,GAAK,EACnC8H,EAAM9H,IAAMmvK,OAGdrnK,GAASqnK,EAGX,OAAOrnK,CACT,CAEA,SAASwnK,EAAwB9yD,GAC1Bz9G,KAAKwwK,0BACRxwK,KAAKwwK,wBAA0B,CAC7BrvJ,EAAG,IAAIupC,SAKX,IAAIxL,EAASl/C,KAAKwwK,wBAAwBrvJ,EAG1C,GAFA+9B,EAAO+6E,eAAej6H,KAAK4xC,IAAI+1D,OAE3B3nG,KAAK6/H,uBAAyB,EAAG,CACnC,IAAI4wC,EAASzwK,KAAKujB,EAAEm9G,eAAejjB,GACnCv+D,EAAO+K,WAAWwmH,EAAO,GAAKzwK,KAAKujB,EAAE4tG,MAAOs/C,EAAO,GAAKzwK,KAAKujB,EAAE4tG,KAAMs/C,EAAO,GAAKzwK,KAAKujB,EAAE4tG,KAC1F,CAEA,GAAInxH,KAAK6/H,uBAAyB,EAAG,CACnC,IAAI77E,EAAQhkD,KAAKihB,EAAEy/G,eAAejjB,GAClCv+D,EAAO8E,MAAMA,EAAM,GAAKhkD,KAAKihB,EAAEkwG,KAAMntE,EAAM,GAAKhkD,KAAKihB,EAAEkwG,KAAMntE,EAAM,GAAKhkD,KAAKihB,EAAEkwG,KACjF,CAEA,GAAInxH,KAAKwzF,IAAMxzF,KAAK6/H,uBAAyB,EAAG,CAC9C,IAAI11E,EAAOnqD,KAAKwzF,GAAGktC,eAAejjB,GAC9BuwD,EAAWhuK,KAAKwmF,GAAGk6C,eAAejjB,GACtCv+D,EAAOq5E,cAAcpuE,EAAOnqD,KAAKwzF,GAAG29B,KAAM68C,EAAWhuK,KAAKwmF,GAAG2qC,KAC/D,CAEA,GAAInxH,KAAKqR,GAAKrR,KAAK6/H,uBAAyB,EAAG,CAC7C,IAAI94D,EAAW/mE,KAAKqR,EAAEqvH,eAAejjB,GACrCv+D,EAAOgL,QAAQ6c,EAAW/mE,KAAKqR,EAAE8/G,KACnC,MAAO,IAAKnxH,KAAKqR,GAAKrR,KAAK6/H,uBAAyB,EAAG,CACrD,IAAI6wC,EAAY1wK,KAAKkgI,GAAGQ,eAAejjB,GACnCkzD,EAAY3wK,KAAKigI,GAAGS,eAAejjB,GACnCmzD,EAAY5wK,KAAKggI,GAAGU,eAAejjB,GACnC/9D,EAAc1/C,KAAK+2D,GAAG2pE,eAAejjB,GACzCv+D,EAAOm5E,SAASq4C,EAAY1wK,KAAKkgI,GAAG/O,MAAMiH,QAAQu4C,EAAY3wK,KAAKigI,GAAG9O,MAAMgH,QAAQy4C,EAAY5wK,KAAKggI,GAAG7O,MAAMkH,SAAS34E,EAAY,GAAK1/C,KAAK+2D,GAAGo6D,MAAMiH,QAAQ14E,EAAY,GAAK1/C,KAAK+2D,GAAGo6D,MAAMgH,QAAQz4E,EAAY,GAAK1/C,KAAK+2D,GAAGo6D,KAChO,CAEA,GAAInxH,KAAKqF,KAAKgZ,GAAKre,KAAKqF,KAAKgZ,EAAE4C,EAAG,CAChC,IAAI4vJ,EAAY7wK,KAAKk0E,GAAGwsD,eAAejjB,GACnCqzD,EAAY9wK,KAAK8/H,GAAGY,eAAejjB,GAEvC,GAAIz9G,KAAKqF,KAAKgZ,EAAEyzB,EAAG,CACjB,IAAIi/H,EAAY/wK,KAAK+/H,GAAGW,eAAejjB,GACvCv+D,EAAO+K,UAAU4mH,EAAY7wK,KAAKk0E,GAAGi9C,KAAM2/C,EAAY9wK,KAAK8/H,GAAG3O,MAAO4/C,EAAY/wK,KAAK+/H,GAAG5O,KAC5F,MACEjyE,EAAO+K,UAAU4mH,EAAY7wK,KAAKk0E,GAAGi9C,KAAM2/C,EAAY9wK,KAAK8/H,GAAG3O,KAAM,EAEzE,KAAO,CACL,IAAI7/C,EAAWtxE,KAAKqe,EAAEqiH,eAAejjB,GACrCv+D,EAAO+K,UAAUqnB,EAAS,GAAKtxE,KAAKqe,EAAE8yG,KAAM7/C,EAAS,GAAKtxE,KAAKqe,EAAE8yG,MAAO7/C,EAAS,GAAKtxE,KAAKqe,EAAE8yG,KAC/F,CAEA,OAAOjyE,CACT,CAEA,SAAS8xH,IACP,OAAOhxK,KAAKmhB,EAAEspC,MAAM,IAAIC,OAC1B,CAEA,IAAIm2E,EAAuBnB,yBAAyBmB,qBAEpDnB,yBAAyBmB,qBAAuB,SAAU5rG,EAAM5vB,EAAMqrE,GACpE,IAAIt1C,EAAOylG,EAAqB5rG,EAAM5vB,EAAMqrE,GAS5C,OAPIt1C,EAAKu3F,kBAAkBhyH,OACzBy6B,EAAKslG,eAAiB6vC,EAAwB3yH,KAAKxiB,GAEnDA,EAAKslG,eAAiBswC,EAA8BpzH,KAAKxiB,GAG3DA,EAAKmxI,iBAAmB4C,kBAAkB5C,iBACnCnxI,CACT,EAEA,IAAI61I,EAAkB3+C,gBAAgBC,QAEtCD,gBAAgBC,QAAU,SAAUt9F,EAAM5vB,EAAM/B,EAAM6tH,EAAMzgD,GAC1D,IAAIt1C,EAAO61I,EAAgBh8I,EAAM5vB,EAAM/B,EAAM6tH,EAAMzgD,GAI/Ct1C,EAAKu2F,GACPv2F,EAAKslG,eAAiByuC,kBAAkBzuC,eAAe9iF,KAAKxiB,GAE5DA,EAAKslG,eAAiByuC,kBAAkBG,qBAAqB1xH,KAAKxiB,GAGpEA,EAAKmxI,iBAAmB4C,kBAAkB5C,iBAC1CnxI,EAAK2pI,QAAUA,EACf3pI,EAAKypI,OAASA,EACdzpI,EAAK6pI,OAASA,EACd7pI,EAAKqrI,kBAAoB0I,kBAAkB1I,kBAAkB7oH,KAAKxiB,GAClEA,EAAKwuI,eAAiBuF,kBAAkBvF,eAAehsH,KAAKxiB,GAC5DA,EAAK0qI,QAAqB,IAAXzgK,EAAKke,EAAUle,EAAKlE,EAAER,OAAS,EAC9Cy6B,EAAKuxI,cAAgBtnK,EAAKijI,GAC1B,IAAIv/H,EAAQ,EAiBZ,OAfa,IAATzF,IACFyF,EAAQooG,iBAAiB,UAAsB,IAAX9rG,EAAKke,EAAUle,EAAKlE,EAAE,GAAG8f,EAAEtgB,OAAS0E,EAAKlE,EAAER,SAGjFy6B,EAAKi0I,eAAiB,CACpB5gD,UAAW7f,oBACX7nE,UAAW,EACXh+B,MAAOA,GAETomK,kBAAkBC,kBAAkBn6I,EAAM5vB,EAAM+1B,GAE5CA,EAAKj6B,GACPuvE,EAAUohD,mBAAmB12F,GAGxBA,CACT,EAwBA,IAAI81I,EAAmCx8C,qBAAqBy8C,yBACxDC,EAA4C18C,qBAAqB28C,kCAErE,SAASC,IAAoB,CAE7BA,EAAiBpxK,UAAY,CAC3B2zH,SAAU,SAAkBz4F,EAAMqiF,GAC5Bz9G,KAAKmB,GACPnB,KAAKiyH,WAGP,IAMIrxH,EANAqzH,EAAYj0H,KAAKmhB,OAERle,IAATw6G,IACFwW,EAAYj0H,KAAK0gI,eAAejjB,EAAM,IAIxC,IAAIz5F,EAAMiwG,EAAU/L,QAChB2L,EAAWI,EAAU74F,GACrB+qF,EAAS8N,EAAU9yG,EACnBzZ,EAAM2pG,iBAAiBrtF,GAE3B,IAAKpjB,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EAEtB8G,EAAI9G,GADO,MAATw6B,GAAyB,MAATA,EACT,CAACy4F,EAASjzH,GAAG,GAAKulH,EAAOvlH,GAAG,GAAIizH,EAASjzH,GAAG,GAAKulH,EAAOvlH,GAAG,IAE3D,CAACizH,EAASjzH,GAAG,GAAIizH,EAASjzH,GAAG,IAI1C,OAAO8G,CACT,EACAy+G,OAAQ,SAAgB1I,GACtB,OAAOz9G,KAAK6zH,SAAS,IAAKpW,EAC5B,EACAmmD,WAAY,SAAoBnmD,GAC9B,OAAOz9G,KAAK6zH,SAAS,IAAKpW,EAC5B,EACAomD,YAAa,SAAqBpmD,GAChC,OAAOz9G,KAAK6zH,SAAS,IAAKpW,EAC5B,EACA8zD,SAAU,WACR,OAAOvxK,KAAKmhB,EAAEhf,CAChB,EACAqvK,YAAa,SAAqBloD,EAAM7L,GACtC,IAAIwW,EAAYj0H,KAAKmhB,OAERle,IAATw6G,IACFwW,EAAYj0H,KAAK0gI,eAAejjB,EAAM,IAGnCz9G,KAAKyxK,kBACRzxK,KAAKyxK,gBAAkBxkD,IAAIvC,kBAAkBuJ,IAW/C,IARA,IAMI3tE,EANAskE,EAAiB5qH,KAAKyxK,gBACtBhpD,EAAUmC,EAAenC,QACzB6B,EAAYM,EAAejC,YAAcW,EACzC1oH,EAAI,EACJojB,EAAMykG,EAAQ9nH,OACd+wK,EAAoB,EAGjB9wK,EAAIojB,GAAK,CACd,GAAI0tJ,EAAoBjpD,EAAQ7nH,GAAG2nH,YAAc+B,EAAW,CAC1D,IAAIqnD,EAAY/wK,EACZgxK,EAAW39C,EAAU9xH,GAAKvB,IAAMojB,EAAM,EAAI,EAAIpjB,EAAI,EAClD2tH,GAAejE,EAAYonD,GAAqBjpD,EAAQ7nH,GAAG2nH,YAC/DjiE,EAAK2mE,IAAIV,kBAAkB0H,EAAU9yG,EAAEwwJ,GAAY19C,EAAU9yG,EAAEywJ,GAAW39C,EAAUt1F,EAAEgzI,GAAY19C,EAAUrzH,EAAEgxK,GAAWrjD,EAAa9F,EAAQ7nH,IAC9I,KACF,CACE8wK,GAAqBjpD,EAAQ7nH,GAAG2nH,YAGlC3nH,GAAK,CACP,CAMA,OAJK0lD,IACHA,EAAK2tE,EAAU9xH,EAAI,CAAC8xH,EAAU9yG,EAAE,GAAG,GAAI8yG,EAAU9yG,EAAE,GAAG,IAAM,CAAC8yG,EAAU9yG,EAAE8yG,EAAU/L,QAAU,GAAG,GAAI+L,EAAU9yG,EAAE8yG,EAAU/L,QAAU,GAAG,KAGlI5hE,CACT,EACAurH,aAAc,SAAsBvoD,EAAM7L,EAAMq0D,GAElC,GAARxoD,EAEFA,EAAOtpH,KAAKmhB,EAAEhf,EACG,GAARmnH,IAETA,EAAO,MAGT,IAAIL,EAAMjpH,KAAKwxK,YAAYloD,EAAM7L,GAC7ByL,EAAMlpH,KAAKwxK,YAAYloD,EAAO,KAAO7L,GACrCs0D,EAAU7oD,EAAI,GAAKD,EAAI,GACvB+oD,EAAU9oD,EAAI,GAAKD,EAAI,GACvBgpD,EAAY7tK,KAAKyB,KAAKzB,KAAKC,IAAI0tK,EAAS,GAAK3tK,KAAKC,IAAI2tK,EAAS,IAEnE,OAAkB,IAAdC,EACK,CAAC,EAAG,GAGmB,YAAfH,EAA2B,CAACC,EAAUE,EAAWD,EAAUC,GAAa,EAAED,EAAUC,EAAWF,EAAUE,EAE5H,EACAC,cAAe,SAAuB5oD,EAAM7L,GAC1C,OAAOz9G,KAAK6xK,aAAavoD,EAAM7L,EAAM,UACvC,EACA00D,aAAc,SAAsB7oD,EAAM7L,GACxC,OAAOz9G,KAAK6xK,aAAavoD,EAAM7L,EAAM,SACvC,EACA8uD,iBAAkB4C,kBAAkB5C,iBACpC7rC,eAAgByuC,kBAAkBG,sBAEpCpgE,gBAAgB,CAACoiE,GAAmBJ,GACpChiE,gBAAgB,CAACoiE,GAAmBF,GACpCA,EAA0ClxK,UAAUwgI,eA5IpD,SAA6BrT,GAmB3B,OAjBKrtH,KAAKqvK,iBACRrvK,KAAKqvK,eAAiB,CACpB+C,WAAYp+C,UAAUvpE,MAAMzqD,KAAK0tH,IACjC3mF,UAAW,EACXsrI,SAAUzjE,sBAIdye,GAAYrtH,KAAKi1B,KAAK+qF,WAAWrB,WACjC0O,GAAYrtH,KAAKwtH,cAEAxtH,KAAKqvK,eAAegD,WACnCryK,KAAKqvK,eAAetoI,UAAY/mC,KAAKqvK,eAAegD,SAAWhlD,EAAWrtH,KAAK+wH,SAAShqF,UAAY,EACpG/mC,KAAKqvK,eAAegD,SAAWhlD,EAC/BrtH,KAAK20H,iBAAiBtH,EAAUrtH,KAAKqvK,eAAe+C,WAAYpyK,KAAKqvK,iBAGhErvK,KAAKqvK,eAAe+C,UAC7B,EAyHAhB,EAA0ClxK,UAAU+jK,mBAAqBjD,kBAAkBiD,mBAC3F,IAAIqO,EAAuB59C,qBAAqB8hB,aAEhD9hB,qBAAqB8hB,aAAe,SAAUvhH,EAAM5vB,EAAM/B,EAAMoE,EAAK6qK,GACnE,IAAIn3I,EAAOk3I,EAAqBr9I,EAAM5vB,EAAM/B,EAAMoE,EAAK6qK,GAcvD,OAbAn3I,EAAKuxI,cAAgBtnK,EAAKijI,GAC1BltG,EAAKo2F,MAAO,EAEC,IAATluH,EACF6rK,kBAAkBC,kBAAkBn6I,EAAM5vB,EAAKihD,GAAIlrB,GACjC,IAAT93B,GACT6rK,kBAAkBC,kBAAkBn6I,EAAM5vB,EAAKgtF,GAAIj3D,GAGjDA,EAAKj6B,GACP8zB,EAAK68F,mBAAmB12F,GAGnBA,CACT,CACF,CAEA,SAASo3I,eACPjD,sBACF,CAEA,SAASkD,eAWP9wB,aAAazhJ,UAAUwyK,mBAAqB,SAAU5tB,EAAct6I,GAClE,IAAI+iH,EAAWvtH,KAAK2yK,oBAAoBnoK,GAExC,GAAIs6I,EAAarhI,IAAM8pG,EAAU,CAC/B,IAAIw5B,EAAU,CAAC,EAIf,OAHA/mJ,KAAK8iJ,SAASiE,EAASjC,GACvBiC,EAAQtjI,EAAI8pG,EAASxsH,WACrBgmJ,EAAQ/tC,YAAa,EACd+tC,CACT,CAEA,OAAOjC,CACT,EAEAnD,aAAazhJ,UAAU6iJ,eAAiB,WACtC,IAAI6vB,EAAc5yK,KAAK2kJ,kBACnBkuB,EAAiB7yK,KAAKovK,oBAE1B,OADApvK,KAAK2xH,GAAKihD,GAAeC,EAClB7yK,KAAK2xH,EACd,EAEAgwB,aAAazhJ,UAAUkvK,kBA/BvB,WACE,OAAIpvK,KAAKqF,KAAKse,EAAEjW,GACd1N,KAAK2yK,oBAAsB3R,kBAAkBiD,mBAAmBrmH,KAAK59C,KAA1CghK,CAAgDhhK,KAAKi1B,KAAMj1B,KAAKqF,KAAKse,EAAG3jB,MACnGA,KAAK4xH,UAAU5xH,KAAK0yK,mBAAmB90H,KAAK59C,QACrC,GAGF,IACT,CAwBF,CAEA,SAAS8yK,aACPL,cACF,CAEA,SAASM,sBAAuB,CAEhCA,oBAAoB7yK,UAAY,CAC9B8yK,gBAAiB,SAAyBC,EAAUC,GAClD,IAEIC,EACAvyK,EAHAwyK,EAAU79D,SAAS,WAKvB,IAJA69D,EAAQpuD,aAAa,SAAUiuD,GAI1BryK,EAAI,EAAGA,EAAIsyK,EAAIvyK,OAAQC,GAAK,GAC/BuyK,EAAc59D,SAAS,gBACXyP,aAAa,KAAMkuD,EAAItyK,IACnCwyK,EAAQrhG,YAAYohG,GACpBC,EAAQrhG,YAAYohG,GAGtB,OAAOC,CACT,GAGF,IAAIC,kBAAoB,mFAExB,SAASC,cAAc5tK,EAAQi0I,EAAe1kH,EAAMgJ,EAAI5d,GACtDrgB,KAAK25I,cAAgBA,EACrB,IAAIP,EAAgB7jC,SAAS,iBAC7B6jC,EAAcp0B,aAAa,OAAQ,UACnCo0B,EAAcp0B,aAAa,8BAA+B,aAC1Do0B,EAAcp0B,aAAa,SAAUquD,kBAAoB,QACzDrzK,KAAKuzK,aAAen6B,EACpBA,EAAcp0B,aAAa,SAAU/mF,EAAK,WAC1Cv4B,EAAOqsE,YAAYqnE,IACnBA,EAAgB7jC,SAAS,kBACXyP,aAAa,OAAQ,UACnCo0B,EAAcp0B,aAAa,8BAA+B,QAC1Do0B,EAAcp0B,aAAa,SAAU,2CACrCo0B,EAAcp0B,aAAa,SAAU/mF,EAAK,WAC1Cv4B,EAAOqsE,YAAYqnE,GACnBp5I,KAAKwzK,aAAep6B,EACpB,IAAIg6B,EAAUpzK,KAAKgzK,gBAAgB/0I,EAAI,CAAC5d,EAAQ4d,EAAK,UAAWA,EAAK,YACrEv4B,EAAOqsE,YAAYqhG,EACrB,CAcA,SAASK,cAAc/tK,EAAQi0I,EAAe1kH,EAAMgJ,GAClDj+B,KAAK25I,cAAgBA,EACrB,IAAIP,EAAgB7jC,SAAS,iBAC7B6jC,EAAcp0B,aAAa,OAAQ,UACnCo0B,EAAcp0B,aAAa,8BAA+B,QAC1Do0B,EAAcp0B,aAAa,SAAU,2CACrCo0B,EAAcp0B,aAAa,SAAU/mF,GACrCv4B,EAAOqsE,YAAYqnE,GACnBp5I,KAAKwzK,aAAep6B,CACtB,CAUA,SAASs6B,gBAAgBv6B,EAAKQ,EAAe1kH,GAC3Cj1B,KAAK2zK,aAAc,EACnB3zK,KAAK25I,cAAgBA,EACrB35I,KAAKi1B,KAAOA,EACZj1B,KAAKm1H,MAAQ,EACf,CAgIA,SAASy+C,iBAAiBluK,EAAQi0I,EAAe1kH,EAAMgJ,GACrDj+B,KAAK25I,cAAgBA,EACrB,IAAIP,EAAgB7jC,SAAS,iBAC7B6jC,EAAcp0B,aAAa,OAAQ,UACnCo0B,EAAcp0B,aAAa,8BAA+B,aAC1Do0B,EAAcp0B,aAAa,SAAU,wFACrCt/G,EAAOqsE,YAAYqnE,GACnB,IAAIy6B,EAAsBt+D,SAAS,uBACnCs+D,EAAoB7uD,aAAa,8BAA+B,QAChE6uD,EAAoB7uD,aAAa,SAAU/mF,GAC3Cj+B,KAAKwzK,aAAeK,EACpB,IAAIC,EAAUv+D,SAAS,WACvBu+D,EAAQ9uD,aAAa,OAAQ,SAC7B6uD,EAAoB9hG,YAAY+hG,GAChC9zK,KAAK8zK,QAAUA,EACf,IAAIC,EAAUx+D,SAAS,WACvBw+D,EAAQ/uD,aAAa,OAAQ,SAC7B6uD,EAAoB9hG,YAAYgiG,GAChC/zK,KAAK+zK,QAAUA,EACf,IAAIC,EAAUz+D,SAAS,WACvBy+D,EAAQhvD,aAAa,OAAQ,SAC7B6uD,EAAoB9hG,YAAYiiG,GAChCh0K,KAAKg0K,QAAUA,EACftuK,EAAOqsE,YAAY8hG,EACrB,CAgBA,SAASI,mBAAmBvuK,EAAQi0I,EAAe1kH,EAAMgJ,GACvDj+B,KAAK25I,cAAgBA,EACrB,IAAI/I,EAAiB5wI,KAAK25I,cAAc/I,eACpCijC,EAAsBt+D,SAAS,wBAE/Bq7B,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,KACzRnhB,KAAK8zK,QAAU9zK,KAAKk0K,aAAa,UAAWL,KAI1CjjC,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,KACzRnhB,KAAK+zK,QAAU/zK,KAAKk0K,aAAa,UAAWL,KAI1CjjC,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,KACzRnhB,KAAKg0K,QAAUh0K,KAAKk0K,aAAa,UAAWL,KAI1CjjC,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,GAAWyvH,EAAe,IAAIvyH,EAAEld,GAAgC,IAA3ByvI,EAAe,IAAIvyH,EAAE8C,KACzRnhB,KAAKm0K,QAAUn0K,KAAKk0K,aAAa,UAAWL,KAI1C7zK,KAAK8zK,SAAW9zK,KAAK+zK,SAAW/zK,KAAKg0K,SAAWh0K,KAAKm0K,WACvDN,EAAoB7uD,aAAa,8BAA+B,QAChEt/G,EAAOqsE,YAAY8hG,KAGjBjjC,EAAe,GAAGvyH,EAAEld,GAA+B,IAA1ByvI,EAAe,GAAGvyH,EAAE8C,GAAWyvH,EAAe,GAAGvyH,EAAEld,GAA+B,IAA1ByvI,EAAe,GAAGvyH,EAAE8C,GAAWyvH,EAAe,GAAGvyH,EAAEld,GAA+B,IAA1ByvI,EAAe,GAAGvyH,EAAE8C,GAAWyvH,EAAe,GAAGvyH,EAAEld,GAA+B,IAA1ByvI,EAAe,GAAGvyH,EAAE8C,GAAWyvH,EAAe,GAAGvyH,EAAEld,GAA+B,IAA1ByvI,EAAe,GAAGvyH,EAAE8C,MAC/Q0yJ,EAAsBt+D,SAAS,wBACXyP,aAAa,8BAA+B,QAChE6uD,EAAoB7uD,aAAa,SAAU/mF,GAC3Cv4B,EAAOqsE,YAAY8hG,GACnB7zK,KAAKo0K,gBAAkBp0K,KAAKk0K,aAAa,UAAWL,GACpD7zK,KAAKq0K,gBAAkBr0K,KAAKk0K,aAAa,UAAWL,GACpD7zK,KAAKs0K,gBAAkBt0K,KAAKk0K,aAAa,UAAWL,GAExD,CA4EA,SAASU,oBAAoB7uK,EAAQi0I,EAAe1kH,EAAMgJ,EAAI5d,GAC5D,IAAIm0J,EAAmB76B,EAAcjpE,UAAUsvC,WAAWyvB,aAAa8d,WACnEA,EAAa5T,EAAct0I,KAAKshJ,IAAM6tB,EAC1C9uK,EAAOs/G,aAAa,IAAKuoC,EAAW7/I,GAAK8mK,EAAiB9mK,GAC1DhI,EAAOs/G,aAAa,IAAKuoC,EAAW5/I,GAAK6mK,EAAiB7mK,GAC1DjI,EAAOs/G,aAAa,QAASuoC,EAAW/kJ,OAASgsK,EAAiBhsK,OAClE9C,EAAOs/G,aAAa,SAAUuoC,EAAWn4I,QAAUo/J,EAAiBp/J,QACpEpV,KAAK25I,cAAgBA,EACrB,IAAI86B,EAAiBl/D,SAAS,kBAC9Bk/D,EAAezvD,aAAa,KAAM,eAClCyvD,EAAezvD,aAAa,SAAU/mF,EAAK,kBAC3Cw2I,EAAezvD,aAAa,eAAgB,KAC5ChlH,KAAKy0K,eAAiBA,EACtB/uK,EAAOqsE,YAAY0iG,GACnB,IAAIC,EAAWn/D,SAAS,YACxBm/D,EAAS1vD,aAAa,KAAM,MAC5B0vD,EAAS1vD,aAAa,KAAM,KAC5B0vD,EAAS1vD,aAAa,KAAM/mF,EAAK,kBACjCy2I,EAAS1vD,aAAa,SAAU/mF,EAAK,kBACrCj+B,KAAK00K,SAAWA,EAChBhvK,EAAOqsE,YAAY2iG,GACnB,IAAIC,EAAUp/D,SAAS,WACvBo/D,EAAQ3vD,aAAa,cAAe,WACpC2vD,EAAQ3vD,aAAa,gBAAiB,KACtC2vD,EAAQ3vD,aAAa,SAAU/mF,EAAK,kBACpCj+B,KAAK20K,QAAUA,EACfjvK,EAAOqsE,YAAY4iG,GACnB,IAAIC,EAAcr/D,SAAS,eAC3Bq/D,EAAY5vD,aAAa,KAAM/mF,EAAK,kBACpC22I,EAAY5vD,aAAa,MAAO/mF,EAAK,kBACrC22I,EAAY5vD,aAAa,WAAY,MACrC4vD,EAAY5vD,aAAa,SAAU/mF,EAAK,kBACxCv4B,EAAOqsE,YAAY6iG,GACnB,IAAIxB,EAAUpzK,KAAKgzK,gBAAgB/0I,EAAI,CAACA,EAAK,iBAAkB5d,IAC/D3a,EAAOqsE,YAAYqhG,EACrB,CAlWAlkE,gBAAgB,CAAC6jE,qBAAsBO,eAEvCA,cAAcpzK,UAAUq3E,YAAc,SAAU+oD,GAC9C,GAAIA,GAAetgI,KAAK25I,cAAcvoB,KAAM,CAC1C,IAAIyjD,EAAa70K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EACpD2zJ,EAAa90K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EACpD82H,EAAUj4I,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAI,IACzDnhB,KAAKuzK,aAAavuD,aAAa,SAAUquD,kBAAoB,IAAMp7B,EAAU,MAC7Ej4I,KAAKwzK,aAAaxuD,aAAa,SAAU8vD,EAAW,GAAKD,EAAW,GAAK,UAAYA,EAAW,GAAK,KAAOC,EAAW,GAAKD,EAAW,IAAM,UAAYA,EAAW,GAAK,KAAOC,EAAW,GAAKD,EAAW,IAAM,UAAYA,EAAW,GAAK,aAC/O,CACF,EAaApB,cAAcvzK,UAAUq3E,YAAc,SAAU+oD,GAC9C,GAAIA,GAAetgI,KAAK25I,cAAcvoB,KAAM,CAC1C,IAAIn/G,EAAQjS,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAC/C82H,EAAUj4I,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EACrDnhB,KAAKwzK,aAAaxuD,aAAa,SAAU,WAAa/yG,EAAM,GAAK,YAAcA,EAAM,GAAK,YAAcA,EAAM,GAAK,UAAYgmI,EAAU,KAC3I,CACF,EASAy7B,gBAAgBxzK,UAAU4yK,WAAa,WACrC,IACIl+J,EACAmgK,EACAn0K,EACAojB,EAJAgxJ,EAAeh1K,KAAKi1B,KAAKi+G,aAAap+D,UAAY90E,KAAKi1B,KAAKi+G,aAAa+hC,WAmB7E,IAbiD,IAA7Cj1K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,GACzC6C,EAAMhkB,KAAKi1B,KAAKo9G,YAAYr7B,gBAAgBr2G,OAC5CC,EAAI,GAGJojB,EAAU,GADVpjB,EAAIZ,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAI,IAIjD4zJ,EAAYx/D,SAAS,MACXyP,aAAa,OAAQ,QAC/B+vD,EAAU/vD,aAAa,iBAAkB,SACzC+vD,EAAU/vD,aAAa,oBAAqB,GAEpCpkH,EAAIojB,EAAKpjB,GAAK,EACpBgU,EAAO2gG,SAAS,QAChBw/D,EAAUhjG,YAAYn9D,GACtB5U,KAAKm1H,MAAM3vH,KAAK,CACd6Y,EAAGzJ,EACHhP,EAAGhF,IAIP,GAAkD,IAA9CZ,KAAK25I,cAAc/I,eAAe,IAAIvyH,EAAE8C,EAAS,CACnD,IAAI41H,EAAOxhC,SAAS,QAChBt3E,EAAKk2E,kBACT4iC,EAAK/xB,aAAa,KAAM/mF,GACxB84G,EAAK/xB,aAAa,YAAa,SAC/B+xB,EAAKhlE,YAAYgjG,GACjB/0K,KAAKi1B,KAAK+qF,WAAWC,KAAKluC,YAAYglE,GACtC,IAAI5lI,EAAIokG,SAAS,KAGjB,IAFApkG,EAAE6zG,aAAa,OAAQ,OAAShW,kBAAoB,IAAM/wE,EAAK,KAExD+2I,EAAa,IAClB7jK,EAAE4gE,YAAYijG,EAAa,IAG7Bh1K,KAAKi1B,KAAKi+G,aAAanhE,YAAY5gE,GACnCnR,KAAK07I,OAAS3E,EACdg+B,EAAU/vD,aAAa,SAAU,OACnC,MAAO,GAAkD,IAA9ChlH,KAAK25I,cAAc/I,eAAe,IAAIvyH,EAAE8C,GAAyD,IAA9CnhB,KAAK25I,cAAc/I,eAAe,IAAIvyH,EAAE8C,EAAS,CAC7G,GAAkD,IAA9CnhB,KAAK25I,cAAc/I,eAAe,IAAIvyH,EAAE8C,EAG1C,IAFA6zJ,EAAeh1K,KAAKi1B,KAAKi+G,aAAap+D,UAAY90E,KAAKi1B,KAAKi+G,aAAa+hC,WAElED,EAAar0K,QAClBX,KAAKi1B,KAAKi+G,aAAargE,YAAYmiG,EAAa,IAIpDh1K,KAAKi1B,KAAKi+G,aAAanhE,YAAYgjG,GACnC/0K,KAAKi1B,KAAKi+G,aAAagiC,gBAAgB,QACvCH,EAAU/vD,aAAa,SAAU,OACnC,CAEAhlH,KAAK2zK,aAAc,EACnB3zK,KAAKm1K,WAAaJ,CACpB,EAEArB,gBAAgBxzK,UAAUq3E,YAAc,SAAU+oD,GAKhD,IAAI1/H,EAJCZ,KAAK2zK,aACR3zK,KAAK8yK,aAIP,IACI/7B,EACAniI,EAFAoP,EAAMhkB,KAAKm1H,MAAMx0H,OAIrB,IAAKC,EAAI,EAAGA,EAAIojB,EAAKpjB,GAAK,EACxB,IAAyB,IAArBZ,KAAKm1H,MAAMv0H,GAAGgF,IAChBmxI,EAAO/2I,KAAKi1B,KAAKo9G,YAAY2D,SAASh2I,KAAKm1H,MAAMv0H,GAAGgF,GACpDgP,EAAO5U,KAAKm1H,MAAMv0H,GAAGyd,GAEjBiiH,GAAetgI,KAAK25I,cAAcvoB,MAAQ2lB,EAAK37G,KAAKg2F,OACtDx8G,EAAKowG,aAAa,IAAK+xB,EAAKN,UAG1BnW,GAAetgI,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,MAAQpxH,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,MAAQpxH,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,MAAQpxH,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,MAAQ2lB,EAAK37G,KAAKg2F,MAAM,CAC7N,IAAIgkD,EAEJ,GAAiD,IAA7Cp1K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,GAAwD,MAA7CnhB,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAW,CACtG,IAAIF,EAAmG,IAA/F7c,KAAKjB,IAAInD,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAGnhB,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,GAC9FyJ,EAAmG,IAA/FxmB,KAAKhB,IAAIpD,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAGnhB,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,GAC9FvC,EAAIhK,EAAKygK,iBACbD,EAAiB,SAAWx2J,EAAIqC,EAAI,IACpC,IAGIhgB,EAHAq0K,EAAa12J,GAAKgM,EAAI3J,GACtBkgG,EAAU,EAA+C,EAA3CnhH,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAQnhB,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAI,IACxGo0J,EAAQnxK,KAAKK,MAAM6wK,EAAan0D,GAGpC,IAAKlgH,EAAI,EAAGA,EAAIs0K,EAAOt0K,GAAK,EAC1Bm0K,GAAkB,KAAkD,EAA3Cp1K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAQnhB,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAI,IAAO,IAG5Hi0J,GAAkB,KAAW,GAAJx2J,EAAS,MACpC,MACEw2J,EAAiB,KAAkD,EAA3Cp1K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAQnhB,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAI,IAGpHvM,EAAKowG,aAAa,mBAAoBowD,EACxC,CAYJ,IARI90C,GAAetgI,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,OACxDpxH,KAAKm1K,WAAWnwD,aAAa,eAA2D,EAA3ChlH,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,IAGlFm/G,GAAetgI,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,OACxDpxH,KAAKm1K,WAAWnwD,aAAa,UAAWhlH,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,IAG/B,IAA9CnhB,KAAK25I,cAAc/I,eAAe,IAAIvyH,EAAE8C,GAAyD,IAA9CnhB,KAAK25I,cAAc/I,eAAe,IAAIvyH,EAAE8C,KACzFm/G,GAAetgI,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,MAAM,CAC9D,IAAIn/G,EAAQjS,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EACnDnhB,KAAKm1K,WAAWnwD,aAAa,SAAU,OAAShT,QAAmB,IAAX//F,EAAM,IAAY,IAAM+/F,QAAmB,IAAX//F,EAAM,IAAY,IAAM+/F,QAAmB,IAAX//F,EAAM,IAAY,IAC5I,CAEJ,EA4BA2hK,iBAAiB1zK,UAAUq3E,YAAc,SAAU+oD,GACjD,GAAIA,GAAetgI,KAAK25I,cAAcvoB,KAAM,CAC1C,IAAIokD,EAASx1K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAChDs0J,EAASz1K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAChDu0J,EAAS11K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAChDw0J,EAASD,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACpDI,EAASF,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACpDK,EAASH,EAAO,GAAK,IAAMD,EAAO,GAAK,IAAMD,EAAO,GACxDx1K,KAAK8zK,QAAQ9uD,aAAa,cAAe2wD,GACzC31K,KAAK+zK,QAAQ/uD,aAAa,cAAe4wD,GACzC51K,KAAKg0K,QAAQhvD,aAAa,cAAe6wD,EAC3C,CACF,EA2CA5B,mBAAmB/zK,UAAUg0K,aAAe,SAAU5wK,EAAMuwK,GAC1D,IAAI93B,EAASxmC,SAASjyG,GAGtB,OAFAy4I,EAAO/2B,aAAa,OAAQ,SAC5B6uD,EAAoB9hG,YAAYgqE,GACzBA,CACT,EAEAk4B,mBAAmB/zK,UAAU41K,cAAgB,SAAUC,EAAYC,EAAYC,EAAOC,EAAaC,GAcjG,IAbA,IAEI7sD,EAMA91G,EARA4P,EAAM,EAGNjgB,EAAMiB,KAAKjB,IAAI4yK,EAAYC,GAC3B5yK,EAAMgB,KAAKhB,IAAI2yK,EAAYC,GAC3B9tJ,EAAQ5nB,MAAMU,KAAK,KAAM,CAC3BL,OALa,MAQXyN,EAAM,EACNgoK,EAAcD,EAAcD,EAC5BG,EAAaL,EAAaD,EAEvB3yJ,GAAO,KAIV5P,GAHF81G,EAAOlmG,EAAM,MAEDjgB,EACGkzK,EAAa,EAAIF,EAAcD,EACnC5sD,GAAQlmH,EACJizK,EAAa,EAAIH,EAAcC,EAE/BD,EAAcE,EAAchyK,KAAKC,KAAKilH,EAAOysD,GAAcM,EAAY,EAAIJ,GAG1F/tJ,EAAM9Z,GAAOoF,EACbpF,GAAO,EACPgV,GAAO,IAAM,IAGf,OAAO8E,EAAMjiB,KAAK,IACpB,EAEAguK,mBAAmB/zK,UAAUq3E,YAAc,SAAU+oD,GACnD,GAAIA,GAAetgI,KAAK25I,cAAcvoB,KAAM,CAC1C,IAAIzpH,EACAipI,EAAiB5wI,KAAK25I,cAAc/I,eAEpC5wI,KAAKo0K,kBAAoB9zC,GAAesQ,EAAe,GAAGvyH,EAAE+yG,MAAQwf,EAAe,GAAGvyH,EAAE+yG,MAAQwf,EAAe,GAAGvyH,EAAE+yG,MAAQwf,EAAe,GAAGvyH,EAAE+yG,MAAQwf,EAAe,GAAGvyH,EAAE+yG,QAC9KzpH,EAAM3H,KAAK81K,cAAcllC,EAAe,GAAGvyH,EAAE8C,EAAGyvH,EAAe,GAAGvyH,EAAE8C,EAAGyvH,EAAe,GAAGvyH,EAAE8C,EAAGyvH,EAAe,GAAGvyH,EAAE8C,EAAGyvH,EAAe,GAAGvyH,EAAE8C,GACzInhB,KAAKo0K,gBAAgBpvD,aAAa,cAAer9G,GACjD3H,KAAKq0K,gBAAgBrvD,aAAa,cAAer9G,GACjD3H,KAAKs0K,gBAAgBtvD,aAAa,cAAer9G,IAG/C3H,KAAK8zK,UAAYxzC,GAAesQ,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,QAC3KzpH,EAAM3H,KAAK81K,cAAcllC,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,GAC9InhB,KAAK8zK,QAAQ9uD,aAAa,cAAer9G,IAGvC3H,KAAK+zK,UAAYzzC,GAAesQ,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,QAC3KzpH,EAAM3H,KAAK81K,cAAcllC,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,GAC9InhB,KAAK+zK,QAAQ/uD,aAAa,cAAer9G,IAGvC3H,KAAKg0K,UAAY1zC,GAAesQ,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,QAC3KzpH,EAAM3H,KAAK81K,cAAcllC,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,GAC9InhB,KAAKg0K,QAAQhvD,aAAa,cAAer9G,IAGvC3H,KAAKm0K,UAAY7zC,GAAesQ,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,MAAQwf,EAAe,IAAIvyH,EAAE+yG,QAC3KzpH,EAAM3H,KAAK81K,cAAcllC,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,EAAGyvH,EAAe,IAAIvyH,EAAE8C,GAC9InhB,KAAKm0K,QAAQnvD,aAAa,cAAer9G,GAE7C,CACF,EAuCAunG,gBAAgB,CAAC6jE,qBAAsBwB,qBAEvCA,oBAAoBr0K,UAAUq3E,YAAc,SAAU+oD,GACpD,GAAIA,GAAetgI,KAAK25I,cAAcvoB,KAAM,CAK1C,IAJIkP,GAAetgI,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,OACxDpxH,KAAKy0K,eAAezvD,aAAa,eAAgBhlH,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAI,GAG1Fm/G,GAAetgI,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,KAAM,CAC9D,IAAIvxF,EAAM7/B,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EACjDnhB,KAAK20K,QAAQ3vD,aAAa,cAAerQ,SAASvwG,KAAKkd,MAAe,IAATue,EAAI,IAAWz7B,KAAKkd,MAAe,IAATue,EAAI,IAAWz7B,KAAKkd,MAAe,IAATue,EAAI,KACvH,CAMA,IAJIygG,GAAetgI,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,OACxDpxH,KAAK20K,QAAQ3vD,aAAa,gBAAiBhlH,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAI,KAGpFm/G,GAAetgI,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,MAAQpxH,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE+yG,KAAM,CAC7G,IAAIiY,EAAWrpI,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAClD+yC,GAASl0D,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAI,IAAMqxF,UAC1D9kG,EAAI27H,EAAWjlI,KAAKwwD,IAAIV,GACxBvmD,EAAI07H,EAAWjlI,KAAKywD,IAAIX,GAC5Bl0D,KAAK00K,SAAS1vD,aAAa,KAAMt3G,GACjC1N,KAAK00K,SAAS1vD,aAAa,KAAMr3G,EACnC,CACF,CACF,EAEA,IAAI2oK,iBAAmB,GAEvB,SAASC,gBAAgBC,EAAY78B,EAAe1kH,GAClDj1B,KAAK2zK,aAAc,EACnB3zK,KAAK25I,cAAgBA,EACrB35I,KAAKw2K,WAAaA,EAClBx2K,KAAKi1B,KAAOA,EACZA,EAAK0lH,aAAeplC,SAAS,KAC7BtgF,EAAK0lH,aAAa5oE,YAAY98C,EAAKi+G,cACnCj+G,EAAK0lH,aAAa5oE,YAAY98C,EAAK2lH,oBACnC3lH,EAAKg+G,YAAch+G,EAAK0lH,YAC1B,CAqGA,SAAS87B,sBAAsB/wK,EAAQi0I,EAAe1kH,EAAMgJ,GAE1Dv4B,EAAOs/G,aAAa,IAAK,SACzBt/G,EAAOs/G,aAAa,IAAK,SACzBt/G,EAAOs/G,aAAa,QAAS,QAC7Bt/G,EAAOs/G,aAAa,SAAU,QAC9BhlH,KAAK25I,cAAgBA,EACrB,IAAI86B,EAAiBl/D,SAAS,kBAC9Bk/D,EAAezvD,aAAa,SAAU/mF,GACtCv4B,EAAOqsE,YAAY0iG,GACnBz0K,KAAKy0K,eAAiBA,CACxB,CA6BA,SAASiC,kBAAmB,CAwC5B,SAASC,mBAAmBvtK,EAAGuwI,GAC7B35I,KAAKkjH,KAAKy2B,EACZ,CAIA,SAASi9B,kBAAkBxjC,GACzBpzI,KAAKkjH,KAAKkwB,EACZ,CA+BA,OA1NAmjC,gBAAgBr2K,UAAU22K,WAAa,SAAU9/B,GAI/C,IAHA,IAAIn2I,EAAI,EACJojB,EAAMsyJ,iBAAiB31K,OAEpBC,EAAIojB,GAAK,CACd,GAAIsyJ,iBAAiB11K,KAAOm2I,EAC1B,OAAOu/B,iBAAiB11K,GAG1BA,GAAK,CACP,CAEA,OAAO,IACT,EAEA21K,gBAAgBr2K,UAAU42K,gBAAkB,SAAU//B,EAAMggC,GAC1D,IAAInqG,EAAamqE,EAAK7D,aAAatmE,WAEnC,GAAKA,EAAL,CAQA,IAJA,IAYIoqG,EAZAliG,EAAWlI,EAAWkI,SACtBl0E,EAAI,EACJojB,EAAM8wD,EAASn0E,OAEZC,EAAIojB,GACL8wD,EAASl0E,KAAOm2I,EAAK7D,cAIzBtyI,GAAK,EAKHA,GAAKojB,EAAM,IACbgzJ,EAAYliG,EAASl0E,EAAI,IAG3B,IAAIq2K,EAAU1hE,SAAS,OACvB0hE,EAAQjyD,aAAa,OAAQ,IAAM+xD,GAE/BC,EACFpqG,EAAW6iF,aAAawnB,EAASD,GAEjCpqG,EAAWmF,YAAYklG,EA1BzB,CA4BF,EAEAV,gBAAgBr2K,UAAUg3K,iBAAmB,SAAUjiJ,EAAM8hH,GAC3D,IAAK/2I,KAAK62K,WAAW9/B,GAAO,CAC1B,IAAIggC,EAAW5iE,kBACXunC,EAASnmC,SAAS,QACtBmmC,EAAO12B,aAAa,KAAM+xB,EAAK5D,SAC/BuI,EAAO12B,aAAa,YAAa,SAEjCsxD,iBAAiB9wK,KAAKuxI,GAEtB,IAAI92B,EAAOhrF,EAAK+qF,WAAWC,KAC3BA,EAAKluC,YAAY2pE,GACjB,IAAIvoI,EAASoiG,SAAS,UACtBpiG,EAAO6xG,aAAa,KAAM+xD,GAC1B/2K,KAAK82K,gBAAgB//B,EAAMggC,GAC3B5jK,EAAO4+D,YAAYglE,EAAK7D,cACxBjzB,EAAKluC,YAAY5+D,GACjB,IAAI8jK,EAAU1hE,SAAS,OACvB0hE,EAAQjyD,aAAa,OAAQ,IAAM+xD,GACnCr7B,EAAO3pE,YAAYklG,GACnBlgC,EAAK1xI,KAAKk1E,IAAK,EACfw8D,EAAKtzB,MACP,CAEAxuF,EAAKgnH,SAASlF,EAAK5D,QACrB,EAEAojC,gBAAgBr2K,UAAU4yK,WAAa,WAMrC,IALA,IAAIlnI,EAAM5rC,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAC7CsmH,EAAWznI,KAAKi1B,KAAKsiF,KAAKkwB,SAC1B7mI,EAAI,EACJojB,EAAMyjH,EAAS9mI,OAEZC,EAAIojB,GACLyjH,EAAS7mI,IAAM6mI,EAAS7mI,GAAGyE,KAAKumC,MAAQA,GAC1C5rC,KAAKk3K,iBAAiBl3K,KAAKi1B,KAAMwyG,EAAS7mI,IAG5CA,GAAK,EAGPZ,KAAK2zK,aAAc,CACrB,EAEA4C,gBAAgBr2K,UAAUq3E,YAAc,WACjCv3E,KAAK2zK,aACR3zK,KAAK8yK,YAET,EAeA2D,sBAAsBv2K,UAAUq3E,YAAc,SAAU+oD,GACtD,GAAIA,GAAetgI,KAAK25I,cAAcvoB,KAAM,CAE1C,IACI+lD,EADqB,GACbn3K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAO/Ci2J,EAAap3K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EACpDk2J,EAAuB,GAAdD,EAAkB,EAAID,EAE/BG,EAAuB,GAAdF,EAAkB,EAAID,EAEnCn3K,KAAKy0K,eAAezvD,aAAa,eAAgBqyD,EAAS,IAAMC,GAKhE,IAAIC,EAAuD,GAA5Cv3K,KAAK25I,cAAc/I,eAAe,GAAGvyH,EAAE8C,EAAS,OAAS,YAExEnhB,KAAKy0K,eAAezvD,aAAa,WAAYuyD,EAC/C,CACF,EAIAb,gBAAgBx2K,UAAUgjH,KAAO,SAAUkwB,GACzCpzI,KAAKozI,eAAiBA,EACtBpzI,KAAKsD,KAAOqyI,YAAYC,iBACxB51I,KAAKk/C,OAAS,IAAIwL,OAClB1qD,KAAKi4I,SAAW,EAChBj4I,KAAKoxH,MAAO,EACZpxH,KAAKu3I,QAAS,CAChB,EAEAm/B,gBAAgBx2K,UAAUq3E,YAAc,SAAUigG,GAIhD,GAHAx3K,KAAKu3I,QAAS,EACdv3I,KAAKoxH,MAAO,EAERomD,GAAcx3K,KAAKozI,eAAehiB,KAAM,CAC1C,IAAIwf,EAAiB5wI,KAAKozI,eAAexC,eACrC6/B,EAAS7/B,EAAe,GAAGvyH,EAAE8C,EAC7BmwD,EAAWs/D,EAAe,GAAGvyH,EAAE8C,EAC/Bs2J,EAA2C,IAA1B7mC,EAAe,GAAGvyH,EAAE8C,EACrCu2J,EAAc9mC,EAAe,GAAGvyH,EAAE8C,EAClCw2J,EAAaF,EAAiBC,EAAc9mC,EAAe,GAAGvyH,EAAE8C,EAChEgpC,EAAOymF,EAAe,GAAGvyH,EAAE8C,EAC3B6sJ,EAAWp9B,EAAe,GAAGvyH,EAAE8C,EAC/B4lD,EAAW6pE,EAAe,GAAGvyH,EAAE8C,EACnCnhB,KAAKk/C,OAAOu2E,QACZz1H,KAAKk/C,OAAO+K,WAAWwmH,EAAO,IAAKA,EAAO,GAAIA,EAAO,IACrDzwK,KAAKk/C,OAAO8E,MAAmB,IAAb2zH,EAAiC,IAAdD,EAAoB,GACzD13K,KAAKk/C,OAAOgL,QAAQ6c,EAAWyrC,WAC/BxyG,KAAKk/C,OAAOq5E,cAAcpuE,EAAOqoD,WAAYw7D,EAAW,IAAMx7D,WAC9DxyG,KAAKk/C,OAAO+K,UAAUqnB,EAAS,GAAIA,EAAS,GAAI,GAChDtxE,KAAKoxH,MAAO,EAERpxH,KAAKi4I,UAAYrH,EAAe,GAAGvyH,EAAE8C,IACvCnhB,KAAKi4I,QAAUrH,EAAe,GAAGvyH,EAAE8C,EACnCnhB,KAAKu3I,QAAS,EAElB,CACF,EAMAroC,gBAAgB,CAACwnE,iBAAkBC,oBAMnCznE,gBAAgB,CAACwnE,iBAAkBE,mBAEnCv4D,iBAAiB,SAAUg1C,gBAC3Bh1C,iBAAiB,OAAQi3C,gBACzBj3C,iBAAiB,MAAOsuC,aAExB5vB,eAAeE,iBAAiB,KAAMG,cACtCL,eAAeE,iBAAiB,KAAMI,wBACtCN,eAAeE,iBAAiB,KAAM6D,kBACtC/D,eAAeE,iBAAiB,KAAM8D,sBACtChE,eAAeE,iBAAiB,KAAMqG,gBACtCvG,eAAeE,iBAAiB,KAAMuJ,oBAEtCzxB,qBAAqByzD,aACrBvzD,wBAAwBi6D,cACxBsD,eACAM,aAEA94B,iBAAiB,GAAIs5B,eAAe,GACpCt5B,iBAAiB,GAAIy5B,eAAe,GACpCz5B,iBAAiB,GAAI05B,iBAAiB,GACtC15B,iBAAiB,GAAI45B,kBAAkB,GACvC55B,iBAAiB,GAAIi6B,oBAAoB,GACzCj6B,iBAAiB,GAAIu6B,qBAAqB,GAC1Cv6B,iBAAiB,GAAIu8B,iBAAiB,GACtCv8B,iBAAiB,GAAIy8B,uBAAuB,GAC5Cz8B,iBAAiB,GAAI28B,oBAAoB,GACzC7lB,eAAe,GAAI8lB,mBAEZp7C,MAET,EA1rnBiEh2G,OAAOC,QAAUsC,wCCWrE,IAAI08D,EAAG/6C,EAAQ,MAAS81C,EAAG91C,EAAQ,MAAa,SAASrrB,EAAEkF,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEphB,EAAE,EAAEA,EAAEzB,UAAUC,OAAOwB,IAAIqhB,GAAG,WAAW2B,mBAAmBzkB,UAAUyB,IAAI,MAAM,yBAAyBohB,EAAE,WAAWC,EAAE,gHAAgH,CAAC,IAAIy4D,EAAG,IAAI27F,IAAI78F,EAAG,CAAC,EAAE,SAASO,EAAG/3D,EAAEC,GAAGwkE,EAAGzkE,EAAEC,GAAGwkE,EAAGzkE,EAAE,UAAUC,EAAE,CACxb,SAASwkE,EAAGzkE,EAAEC,GAAW,IAARu3D,EAAGx3D,GAAGC,EAAMD,EAAE,EAAEA,EAAEC,EAAE7iB,OAAO4iB,IAAI04D,EAAGhuC,IAAIzqB,EAAED,GAAG,CAC5D,IAAIqgE,IAAK,qBAAqBj+D,QAAQ,qBAAqBA,OAAOC,UAAU,qBAAqBD,OAAOC,SAAS8F,eAAeq7D,EAAGjmF,OAAOZ,UAAUggB,eAAeq8D,EAAG,8VAA8ViH,EACpgB,CAAC,EAAEtG,EAAG,CAAC,EACiN,SAAS/7D,EAAEoC,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,EAAE9Z,GAAGnR,KAAK63K,gBAAgB,IAAIr0J,GAAG,IAAIA,GAAG,IAAIA,EAAExjB,KAAK83K,cAAcn0J,EAAE3jB,KAAK+3K,mBAAmBntJ,EAAE5qB,KAAKg4K,gBAAgB71K,EAAEnC,KAAK8rK,aAAavoJ,EAAEvjB,KAAKsD,KAAKkgB,EAAExjB,KAAKi4K,YAAYhtJ,EAAEjrB,KAAKk4K,kBAAkB/mK,CAAC,CAAC,IAAI2gC,EAAE,CAAC,EACpb,uIAAuI9jC,MAAM,KAAKT,SAAQ,SAASgW,GAAGuuB,EAAEvuB,GAAG,IAAIpC,EAAEoC,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAehW,SAAQ,SAASgW,GAAG,IAAIC,EAAED,EAAE,GAAGuuB,EAAEtuB,GAAG,IAAIrC,EAAEqC,EAAE,GAAE,EAAGD,EAAE,GAAG,MAAK,GAAG,EAAG,IAAG,CAAC,kBAAkB,YAAY,aAAa,SAAShW,SAAQ,SAASgW,GAAGuuB,EAAEvuB,GAAG,IAAIpC,EAAEoC,EAAE,GAAE,EAAGA,EAAE/f,cAAc,MAAK,GAAG,EAAG,IAC1e,CAAC,cAAc,4BAA4B,YAAY,iBAAiB+J,SAAQ,SAASgW,GAAGuuB,EAAEvuB,GAAG,IAAIpC,EAAEoC,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,8OAA8OvV,MAAM,KAAKT,SAAQ,SAASgW,GAAGuuB,EAAEvuB,GAAG,IAAIpC,EAAEoC,EAAE,GAAE,EAAGA,EAAE/f,cAAc,MAAK,GAAG,EAAG,IACxb,CAAC,UAAU,WAAW,QAAQ,YAAY+J,SAAQ,SAASgW,GAAGuuB,EAAEvuB,GAAG,IAAIpC,EAAEoC,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,YAAYhW,SAAQ,SAASgW,GAAGuuB,EAAEvuB,GAAG,IAAIpC,EAAEoC,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,OAAO,OAAO,OAAO,QAAQhW,SAAQ,SAASgW,GAAGuuB,EAAEvuB,GAAG,IAAIpC,EAAEoC,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,SAAShW,SAAQ,SAASgW,GAAGuuB,EAAEvuB,GAAG,IAAIpC,EAAEoC,EAAE,GAAE,EAAGA,EAAE/f,cAAc,MAAK,GAAG,EAAG,IAAG,IAAImjF,EAAG,gBAAgB,SAASH,EAAGjjE,GAAG,OAAOA,EAAE,GAAG3jB,aAAa,CAIxZ,SAAS6mF,EAAGljE,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAEknB,EAAE5xB,eAAesD,GAAGsuB,EAAEtuB,GAAG,MAAQ,OAAOoH,EAAE,IAAIA,EAAEtnB,KAAKqgB,KAAK,EAAEH,EAAE7iB,SAAS,MAAM6iB,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,MAP9I,SAAYD,EAAEC,EAAErhB,EAAEwhB,GAAG,GAAG,OAAOH,GAAG,qBAAqBA,GADqE,SAAYD,EAAEC,EAAErhB,EAAEwhB,GAAG,GAAG,OAAOxhB,GAAG,IAAIA,EAAEmB,KAAK,OAAM,EAAG,cAAckgB,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAGG,IAAc,OAAOxhB,GAASA,EAAE01K,gBAAmD,WAAnCt0J,EAAEA,EAAE/f,cAAcnD,MAAM,EAAE,KAAsB,UAAUkjB,GAAE,QAAQ,OAAM,EAAG,CAC/Tm2D,CAAGn2D,EAAEC,EAAErhB,EAAEwhB,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOxhB,EAAE,OAAOA,EAAEmB,MAAM,KAAK,EAAE,OAAOkgB,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAO7Z,MAAM6Z,GAAG,KAAK,EAAE,OAAO7Z,MAAM6Z,IAAI,EAAEA,EAAE,OAAM,CAAE,CAOtEkjE,CAAGljE,EAAErhB,EAAEyoB,EAAEjH,KAAKxhB,EAAE,MAAMwhB,GAAG,OAAOiH,EARxK,SAAYrH,GAAG,QAAGwjE,EAAG/lF,KAAKk8E,EAAG35D,KAAewjE,EAAG/lF,KAAKwiF,EAAGjgE,KAAeg5D,EAAG16E,KAAK0hB,GAAU25D,EAAG35D,IAAG,GAAGigE,EAAGjgE,IAAG,GAAS,GAAE,CAQwDk2D,CAAGj2D,KAAK,OAAOrhB,EAAEohB,EAAE2xJ,gBAAgB1xJ,GAAGD,EAAEyhG,aAAaxhG,EAAE,GAAGrhB,IAAIyoB,EAAEotJ,gBAAgBz0J,EAAEqH,EAAEkhJ,cAAc,OAAO3pK,EAAE,IAAIyoB,EAAEtnB,MAAQ,GAAGnB,GAAGqhB,EAAEoH,EAAEktJ,cAAcn0J,EAAEiH,EAAEmtJ,mBAAmB,OAAO51K,EAAEohB,EAAE2xJ,gBAAgB1xJ,IAAarhB,EAAE,KAAXyoB,EAAEA,EAAEtnB,OAAc,IAAIsnB,IAAG,IAAKzoB,EAAE,GAAG,GAAGA,EAAEwhB,EAAEJ,EAAEi5F,eAAe74F,EAAEH,EAAErhB,GAAGohB,EAAEyhG,aAAaxhG,EAAErhB,KAAI,CAHjd,0jCAA0jC6L,MAAM,KAAKT,SAAQ,SAASgW,GAAG,IAAIC,EAAED,EAAE9W,QAAQk6E,EACzmCH,GAAI10C,EAAEtuB,GAAG,IAAIrC,EAAEqC,EAAE,GAAE,EAAGD,EAAE,MAAK,GAAG,EAAG,IAAG,2EAA2EvV,MAAM,KAAKT,SAAQ,SAASgW,GAAG,IAAIC,EAAED,EAAE9W,QAAQk6E,EAAGH,GAAI10C,EAAEtuB,GAAG,IAAIrC,EAAEqC,EAAE,GAAE,EAAGD,EAAE,gCAA+B,GAAG,EAAG,IAAG,CAAC,WAAW,WAAW,aAAahW,SAAQ,SAASgW,GAAG,IAAIC,EAAED,EAAE9W,QAAQk6E,EAAGH,GAAI10C,EAAEtuB,GAAG,IAAIrC,EAAEqC,EAAE,GAAE,EAAGD,EAAE,wCAAuC,GAAG,EAAG,IAAG,CAAC,WAAW,eAAehW,SAAQ,SAASgW,GAAGuuB,EAAEvuB,GAAG,IAAIpC,EAAEoC,EAAE,GAAE,EAAGA,EAAE/f,cAAc,MAAK,GAAG,EAAG,IACldsuC,EAAEqmI,UAAU,IAAIh3J,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAG,GAAI,CAAC,MAAM,OAAO,SAAS,cAAc5T,SAAQ,SAASgW,GAAGuuB,EAAEvuB,GAAG,IAAIpC,EAAEoC,EAAE,GAAE,EAAGA,EAAE/f,cAAc,MAAK,GAAG,EAAG,IAE5L,IAAI28E,EAAGsE,EAAG2zF,mDAAmD74F,EAAG8V,OAAOgjF,IAAI,iBAAiB9zF,EAAG8Q,OAAOgjF,IAAI,gBAAgB7zF,EAAG6Q,OAAOgjF,IAAI,kBAAkB5yF,EAAG4P,OAAOgjF,IAAI,qBAAqBnzF,EAAGmQ,OAAOgjF,IAAI,kBAAkB/4F,EAAG+V,OAAOgjF,IAAI,kBAAkB9+F,EAAG8b,OAAOgjF,IAAI,iBAAiBl8F,EAAGkZ,OAAOgjF,IAAI,qBAAqB59F,EAAG4a,OAAOgjF,IAAI,kBAAkBjxF,EAAGiO,OAAOgjF,IAAI,uBAAuB1wF,EAAG0N,OAAOgjF,IAAI,cAAczxF,EAAGyO,OAAOgjF,IAAI,cAAchjF,OAAOgjF,IAAI,eAAehjF,OAAOgjF,IAAI,0BACje,IAAIxxF,EAAGwO,OAAOgjF,IAAI,mBAAmBhjF,OAAOgjF,IAAI,uBAAuBhjF,OAAOgjF,IAAI,eAAehjF,OAAOgjF,IAAI,wBAAwB,IAAIttF,EAAGsK,OAAOkc,SAAS,SAAS/3B,EAAGj2D,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAEwnE,GAAIxnE,EAAEwnE,IAAKxnE,EAAE,eAA0CA,EAAE,IAAI,CAAC,IAAoB6/D,EAAhBvlC,EAAE/8C,OAAO25B,OAAU,SAASglD,EAAGl8D,GAAG,QAAG,IAAS6/D,EAAG,IAAI,MAAMjjF,OAAQ,CAAC,MAAMgC,GAAG,IAAIqhB,EAAErhB,EAAEywD,MAAMppD,OAAO2N,MAAM,gBAAgBisE,EAAG5/D,GAAGA,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK4/D,EAAG7/D,CAAC,CAAC,IAAIggE,GAAG,EACzb,SAAS7F,EAAGn6D,EAAEC,GAAG,IAAID,GAAGggE,EAAG,MAAM,GAAGA,GAAG,EAAG,IAAIphF,EAAEhC,MAAMm4K,kBAAkBn4K,MAAMm4K,uBAAkB,EAAO,IAAI,GAAG90J,EAAE,GAAGA,EAAE,WAAW,MAAMrjB,OAAQ,EAAEW,OAAOysB,eAAe/J,EAAEtjB,UAAU,QAAQ,CAACwhB,IAAI,WAAW,MAAMvhB,OAAQ,IAAI,kBAAkBo4K,SAASA,QAAQC,UAAU,CAAC,IAAID,QAAQC,UAAUh1J,EAAE,GAAG,CAAC,MAAM5E,GAAG,IAAI+E,EAAE/E,CAAC,CAAC25J,QAAQC,UAAUj1J,EAAE,GAAGC,EAAE,KAAK,CAAC,IAAIA,EAAExiB,MAAM,CAAC,MAAM4d,GAAG+E,EAAE/E,CAAC,CAAC2E,EAAEviB,KAAKwiB,EAAEtjB,UAAU,KAAK,CAAC,IAAI,MAAMC,OAAQ,CAAC,MAAMye,GAAG+E,EAAE/E,CAAC,CAAC2E,GAAG,CAAC,CAAC,MAAM3E,GAAG,GAAGA,GAAG+E,GAAG,kBAAkB/E,EAAEg0C,MAAM,CAAC,IAAI,IAAIhoC,EAAEhM,EAAEg0C,MAAM5kD,MAAM,MACnfid,EAAEtH,EAAEivC,MAAM5kD,MAAM,MAAMmD,EAAEyZ,EAAEjqB,OAAO,EAAE4qB,EAAEN,EAAEtqB,OAAO,EAAE,GAAGwQ,GAAG,GAAGoa,GAAGX,EAAEzZ,KAAK8Z,EAAEM,IAAIA,IAAI,KAAK,GAAGpa,GAAG,GAAGoa,EAAEpa,IAAIoa,IAAI,GAAGX,EAAEzZ,KAAK8Z,EAAEM,GAAG,CAAC,GAAG,IAAIpa,GAAG,IAAIoa,EAAG,MAAMpa,IAAQ,IAAJoa,GAASX,EAAEzZ,KAAK8Z,EAAEM,GAAG,CAAC,IAAIpqB,EAAE,KAAKypB,EAAEzZ,GAAG1E,QAAQ,WAAW,QAA6F,OAArF8W,EAAEm1D,aAAav3E,EAAEuV,SAAS,iBAAiBvV,EAAEA,EAAEsL,QAAQ,cAAc8W,EAAEm1D,cAAqBv3E,CAAC,QAAO,GAAGgQ,GAAG,GAAGoa,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQg4D,GAAG,EAAGpjF,MAAMm4K,kBAAkBn2K,CAAC,CAAC,OAAOohB,EAAEA,EAAEA,EAAEm1D,aAAan1D,EAAEtjB,KAAK,IAAIw/E,EAAGl8D,GAAG,EAAE,CAC9Z,SAASqiE,EAAGriE,GAAG,OAAOA,EAAE64E,KAAK,KAAK,EAAE,OAAO3c,EAAGl8D,EAAEjgB,MAAM,KAAK,GAAG,OAAOm8E,EAAG,QAAQ,KAAK,GAAG,OAAOA,EAAG,YAAY,KAAK,GAAG,OAAOA,EAAG,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAOl8D,EAAEm6D,EAAGn6D,EAAEjgB,MAAK,GAAM,KAAK,GAAG,OAAOigB,EAAEm6D,EAAGn6D,EAAEjgB,KAAKyxE,QAAO,GAAM,KAAK,EAAE,OAAOxxD,EAAEm6D,EAAGn6D,EAAEjgB,MAAK,GAAM,QAAQ,MAAM,GAAG,CACxR,SAASyhF,EAAGxhE,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAEm1D,aAAan1D,EAAEtjB,MAAM,KAAK,GAAG,kBAAkBsjB,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKihE,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,SAAS,KAAKW,EAAG,MAAM,WAAW,KAAKO,EAAG,MAAM,aAAa,KAAKhL,EAAG,MAAM,WAAW,KAAK2M,EAAG,MAAM,eAAe,GAAG,kBAAkB7jE,EAAE,OAAOA,EAAEk1J,UAAU,KAAKl/F,EAAG,OAAOh2D,EAAEm1D,aAAa,WAAW,YAAY,KAAK4G,EAAG,OAAO/7D,EAAEm1J,SAAShgG,aAAa,WAAW,YAAY,KAAKyD,EAAG,IAAI34D,EAAED,EAAEwxD,OAC7Z,OADoaxxD,EAAEA,EAAEm1D,eACndn1D,EAAE,MADieA,EAAEC,EAAEk1D,aAClfl1D,EAAEvjB,MAAM,IAAY,cAAcsjB,EAAE,IAAI,cAAqBA,EAAE,KAAKokE,EAAG,OAA6B,QAAtBnkE,EAAED,EAAEm1D,aAAa,MAAcl1D,EAAEuhE,EAAGxhE,EAAEjgB,OAAO,OAAO,KAAKsjF,EAAGpjE,EAAED,EAAEo1J,SAASp1J,EAAEA,EAAEq1J,MAAM,IAAI,OAAO7zF,EAAGxhE,EAAEC,GAAG,CAAC,MAAMrhB,GAAG,EAAE,OAAO,IAAI,CAC3M,SAAS43E,EAAGx2D,GAAG,IAAIC,EAAED,EAAEjgB,KAAK,OAAOigB,EAAE64E,KAAK,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAE,OAAO54E,EAAEk1D,aAAa,WAAW,YAAY,KAAK,GAAG,OAAOl1D,EAAEk1J,SAAShgG,aAAa,WAAW,YAAY,KAAK,GAAG,MAAM,qBAAqB,KAAK,GAAG,OAAkBn1D,GAAXA,EAAEC,EAAEuxD,QAAW2D,aAAan1D,EAAEtjB,MAAM,GAAGujB,EAAEk1D,cAAc,KAAKn1D,EAAE,cAAcA,EAAE,IAAI,cAAc,KAAK,EAAE,MAAM,WAAW,KAAK,EAAE,OAAOC,EAAE,KAAK,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM,OAAO,KAAK,EAAE,MAAM,OAAO,KAAK,GAAG,OAAOuhE,EAAGvhE,GAAG,KAAK,EAAE,OAAOA,IAAIiiE,EAAG,aAAa,OAAO,KAAK,GAAG,MAAM,YACtf,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,eAAe,KAAK,GAAG,MAAM,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,oBAAoBjiE,EAAE,OAAOA,EAAEk1D,aAAal1D,EAAEvjB,MAAM,KAAK,GAAG,kBAAkBujB,EAAE,OAAOA,EAAE,OAAO,IAAI,CAAC,SAASwnE,EAAGznE,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,YAAqB,IAAK,SAAS,OAAOA,EAAE,QAAQ,MAAM,GAAG,CACra,SAAS4F,EAAG5F,GAAG,IAAIC,EAAED,EAAEjgB,KAAK,OAAOigB,EAAEA,EAAEugD,WAAW,UAAUvgD,EAAE/f,gBAAgB,aAAaggB,GAAG,UAAUA,EAAE,CAEtF,SAAS4hE,EAAG7hE,GAAGA,EAAEs1J,gBAAgBt1J,EAAEs1J,cADvD,SAAYt1J,GAAG,IAAIC,EAAE2F,EAAG5F,GAAG,UAAU,QAAQphB,EAAErB,OAAOi+D,yBAAyBx7C,EAAEnjB,YAAYF,UAAUsjB,GAAGG,EAAE,GAAGJ,EAAEC,GAAG,IAAID,EAAErD,eAAesD,IAAI,qBAAqBrhB,GAAG,oBAAoBA,EAAEoB,KAAK,oBAAoBpB,EAAEuf,IAAI,CAAC,IAAIkJ,EAAEzoB,EAAEoB,IAAI0nB,EAAE9oB,EAAEuf,IAAiL,OAA7K5gB,OAAOysB,eAAehK,EAAEC,EAAE,CAAC64C,cAAa,EAAG94D,IAAI,WAAW,OAAOqnB,EAAE5pB,KAAKhB,KAAK,EAAE0hB,IAAI,SAAS6B,GAAGI,EAAE,GAAGJ,EAAE0H,EAAEjqB,KAAKhB,KAAKujB,EAAE,IAAIziB,OAAOysB,eAAehK,EAAEC,EAAE,CAACgmB,WAAWrnC,EAAEqnC,aAAmB,CAACyoF,SAAS,WAAW,OAAOtuG,CAAC,EAAEm1J,SAAS,SAASv1J,GAAGI,EAAE,GAAGJ,CAAC,EAAEw1J,aAAa,WAAWx1J,EAAEs1J,cACxf,YAAYt1J,EAAEC,EAAE,EAAE,CAAC,CAAkDo7D,CAAGr7D,GAAG,CAAC,SAASm9D,EAAGn9D,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIC,EAAED,EAAEs1J,cAAc,IAAIr1J,EAAE,OAAM,EAAG,IAAIrhB,EAAEqhB,EAAEyuG,WAAetuG,EAAE,GAAqD,OAAlDJ,IAAII,EAAEwF,EAAG5F,GAAGA,EAAEy1J,QAAQ,OAAO,QAAQz1J,EAAExa,QAAOwa,EAAEI,KAAaxhB,IAAGqhB,EAAEs1J,SAASv1J,IAAG,EAAM,CAAC,SAAS82D,EAAG92D,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqBqC,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOrC,EAAE01J,eAAe11J,EAAE8I,IAAI,CAAC,MAAM7I,GAAG,OAAOD,EAAE8I,IAAI,CAAC,CACpa,SAASqyD,EAAGn7D,EAAEC,GAAG,IAAIrhB,EAAEqhB,EAAEw1J,QAAQ,OAAOn7H,EAAE,CAAC,EAAEr6B,EAAE,CAAC01J,oBAAe,EAAOhnJ,kBAAa,EAAOnpB,WAAM,EAAOiwK,QAAQ,MAAM72K,EAAEA,EAAEohB,EAAE41J,cAAcC,gBAAgB,CAAC,SAASt1F,EAAGvgE,EAAEC,GAAG,IAAIrhB,EAAE,MAAMqhB,EAAE0O,aAAa,GAAG1O,EAAE0O,aAAavO,EAAE,MAAMH,EAAEw1J,QAAQx1J,EAAEw1J,QAAQx1J,EAAE01J,eAAe/2K,EAAE6oF,EAAG,MAAMxnE,EAAEza,MAAMya,EAAEza,MAAM5G,GAAGohB,EAAE41J,cAAc,CAACC,eAAez1J,EAAE01J,aAAal3K,EAAEm3K,WAAW,aAAa91J,EAAElgB,MAAM,UAAUkgB,EAAElgB,KAAK,MAAMkgB,EAAEw1J,QAAQ,MAAMx1J,EAAEza,MAAM,CAAC,SAAS41E,EAAGp7D,EAAEC,GAAe,OAAZA,EAAEA,EAAEw1J,UAAiBvyF,EAAGljE,EAAE,UAAUC,GAAE,EAAG,CAC9d,SAASw2D,EAAGz2D,EAAEC,GAAGm7D,EAAGp7D,EAAEC,GAAG,IAAIrhB,EAAE6oF,EAAGxnE,EAAEza,OAAO4a,EAAEH,EAAElgB,KAAK,GAAG,MAAMnB,EAAK,WAAWwhB,GAAM,IAAIxhB,GAAG,KAAKohB,EAAExa,OAAOwa,EAAExa,OAAO5G,KAAEohB,EAAExa,MAAM,GAAG5G,GAAOohB,EAAExa,QAAQ,GAAG5G,IAAIohB,EAAExa,MAAM,GAAG5G,QAAQ,GAAG,WAAWwhB,GAAG,UAAUA,EAA8B,YAA3BJ,EAAE2xJ,gBAAgB,SAAgB1xJ,EAAEtD,eAAe,SAASwkE,GAAGnhE,EAAEC,EAAElgB,KAAKnB,GAAGqhB,EAAEtD,eAAe,iBAAiBwkE,GAAGnhE,EAAEC,EAAElgB,KAAK0nF,EAAGxnE,EAAE0O,eAAe,MAAM1O,EAAEw1J,SAAS,MAAMx1J,EAAE01J,iBAAiB31J,EAAE21J,iBAAiB11J,EAAE01J,eAAe,CACla,SAASK,EAAGh2J,EAAEC,EAAErhB,GAAG,GAAGqhB,EAAEtD,eAAe,UAAUsD,EAAEtD,eAAe,gBAAgB,CAAC,IAAIyD,EAAEH,EAAElgB,KAAK,KAAK,WAAWqgB,GAAG,UAAUA,QAAG,IAASH,EAAEza,OAAO,OAAOya,EAAEza,OAAO,OAAOya,EAAE,GAAGD,EAAE41J,cAAcE,aAAal3K,GAAGqhB,IAAID,EAAExa,QAAQwa,EAAExa,MAAMya,GAAGD,EAAE2O,aAAa1O,CAAC,CAAU,MAATrhB,EAAEohB,EAAEtjB,QAAcsjB,EAAEtjB,KAAK,IAAIsjB,EAAE21J,iBAAiB31J,EAAE41J,cAAcC,eAAe,KAAKj3K,IAAIohB,EAAEtjB,KAAKkC,EAAE,CACzV,SAASuiF,GAAGnhE,EAAEC,EAAErhB,GAAM,WAAWqhB,GAAG62D,EAAG92D,EAAEi2J,iBAAiBj2J,IAAE,MAAMphB,EAAEohB,EAAE2O,aAAa,GAAG3O,EAAE41J,cAAcE,aAAa91J,EAAE2O,eAAe,GAAG/vB,IAAIohB,EAAE2O,aAAa,GAAG/vB,GAAE,CAAC,IAAIioC,GAAG9pC,MAAMuE,QAC7K,SAASi2E,GAAGv3D,EAAEC,EAAErhB,EAAEwhB,GAAe,GAAZJ,EAAEA,EAAE7hB,QAAW8hB,EAAE,CAACA,EAAE,CAAC,EAAE,IAAI,IAAIoH,EAAE,EAAEA,EAAEzoB,EAAExB,OAAOiqB,IAAIpH,EAAE,IAAIrhB,EAAEyoB,KAAI,EAAG,IAAIzoB,EAAE,EAAEA,EAAEohB,EAAE5iB,OAAOwB,IAAIyoB,EAAEpH,EAAEtD,eAAe,IAAIqD,EAAEphB,GAAG4G,OAAOwa,EAAEphB,GAAG0H,WAAW+gB,IAAIrH,EAAEphB,GAAG0H,SAAS+gB,GAAGA,GAAGjH,IAAIJ,EAAEphB,GAAGs3K,iBAAgB,EAAG,KAAK,CAAmB,IAAlBt3K,EAAE,GAAG6oF,EAAG7oF,GAAGqhB,EAAE,KAASoH,EAAE,EAAEA,EAAErH,EAAE5iB,OAAOiqB,IAAI,CAAC,GAAGrH,EAAEqH,GAAG7hB,QAAQ5G,EAAiD,OAA9CohB,EAAEqH,GAAG/gB,UAAS,OAAG8Z,IAAIJ,EAAEqH,GAAG6uJ,iBAAgB,IAAW,OAAOj2J,GAAGD,EAAEqH,GAAG8uJ,WAAWl2J,EAAED,EAAEqH,GAAG,CAAC,OAAOpH,IAAIA,EAAE3Z,UAAS,EAAG,CAAC,CACxY,SAASihF,GAAGvnE,EAAEC,GAAG,GAAG,MAAMA,EAAEm2J,wBAAwB,MAAMx5K,MAAMke,EAAE,KAAK,OAAOw/B,EAAE,CAAC,EAAEr6B,EAAE,CAACza,WAAM,EAAOmpB,kBAAa,EAAO4iD,SAAS,GAAGvxD,EAAE41J,cAAcE,cAAc,CAAC,SAASt9F,GAAGx4D,EAAEC,GAAG,IAAIrhB,EAAEqhB,EAAEza,MAAM,GAAG,MAAM5G,EAAE,CAA+B,GAA9BA,EAAEqhB,EAAEsxD,SAAStxD,EAAEA,EAAE0O,aAAgB,MAAM/vB,EAAE,CAAC,GAAG,MAAMqhB,EAAE,MAAMrjB,MAAMke,EAAE,KAAK,GAAG+rB,GAAGjoC,GAAG,CAAC,GAAG,EAAEA,EAAExB,OAAO,MAAMR,MAAMke,EAAE,KAAKlc,EAAEA,EAAE,EAAE,CAACqhB,EAAErhB,CAAC,CAAC,MAAMqhB,IAAIA,EAAE,IAAIrhB,EAAEqhB,CAAC,CAACD,EAAE41J,cAAc,CAACE,aAAaruF,EAAG7oF,GAAG,CACnY,SAAS65E,GAAGz4D,EAAEC,GAAG,IAAIrhB,EAAE6oF,EAAGxnE,EAAEza,OAAO4a,EAAEqnE,EAAGxnE,EAAE0O,cAAc,MAAM/vB,KAAIA,EAAE,GAAGA,KAAMohB,EAAExa,QAAQwa,EAAExa,MAAM5G,GAAG,MAAMqhB,EAAE0O,cAAc3O,EAAE2O,eAAe/vB,IAAIohB,EAAE2O,aAAa/vB,IAAI,MAAMwhB,IAAIJ,EAAE2O,aAAa,GAAGvO,EAAE,CAAC,SAASg/D,GAAGp/D,GAAG,IAAIC,EAAED,EAAEyW,YAAYxW,IAAID,EAAE41J,cAAcE,cAAc,KAAK71J,GAAG,OAAOA,IAAID,EAAExa,MAAMya,EAAE,CAAC,SAASi4D,GAAGl4D,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,+BAA+B,CAC7c,SAAS43D,GAAG53D,EAAEC,GAAG,OAAO,MAAMD,GAAG,iCAAiCA,EAAEk4D,GAAGj4D,GAAG,+BAA+BD,GAAG,kBAAkBC,EAAE,+BAA+BD,CAAC,CAChK,IAAIonB,GAAepnB,GAAZkkE,IAAYlkE,GAAsJ,SAASA,EAAEC,GAAG,GAAG,+BAA+BD,EAAEq2J,cAAc,cAAcr2J,EAAEA,EAAEuW,UAAUtW,MAAM,CAA2F,KAA1FmnB,GAAGA,IAAI/kB,SAAS8F,cAAc,QAAUoO,UAAU,QAAQtW,EAAEq2J,UAAU94K,WAAW,SAAayiB,EAAEmnB,GAAGknC,WAAWtuD,EAAEsuD,YAAYtuD,EAAEsvD,YAAYtvD,EAAEsuD,YAAY,KAAKruD,EAAEquD,YAAYtuD,EAAEwuD,YAAYvuD,EAAEquD,WAAW,CAAC,EAAvb,qBAAqBioG,OAAOA,MAAMC,wBAAwB,SAASv2J,EAAErhB,EAAEwhB,EAAEiH,GAAGkvJ,MAAMC,yBAAwB,WAAW,OAAOx2J,GAAEC,EAAErhB,EAAM,GAAE,EAAEohB,IACtK,SAAS84D,GAAG94D,EAAEC,GAAG,GAAGA,EAAE,CAAC,IAAIrhB,EAAEohB,EAAEsuD,WAAW,GAAG1vE,GAAGA,IAAIohB,EAAEy2J,WAAW,IAAI73K,EAAE0hE,SAAwB,YAAd1hE,EAAEyvE,UAAUpuD,EAAS,CAACD,EAAEyW,YAAYxW,CAAC,CACtH,IAAImiE,GAAG,CAACs0F,yBAAwB,EAAGC,aAAY,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAGxrJ,SAAQ,EAAGq3G,MAAK,EAAGo0C,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAGC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGzkJ,YAAW,EAAG0kJ,WAAU,EAAGvqJ,YAAW,EAAGgnH,SAAQ,EAAGwjC,OAAM,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAGrpG,QAAO,EAClfhL,MAAK,EAAGuE,aAAY,EAAG+vG,cAAa,EAAGC,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGtwG,eAAc,EAAGmwF,aAAY,GAAI1iF,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAASgN,GAAG7iE,EAAEC,EAAErhB,GAAG,OAAO,MAAMqhB,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAGrhB,GAAG,kBAAkBqhB,GAAG,IAAIA,GAAGmiE,GAAGzlE,eAAeqD,IAAIoiE,GAAGpiE,IAAI,GAAGC,GAAGha,OAAOga,EAAE,IAAI,CACzb,SAAS6iE,GAAG9iE,EAAEC,GAAa,IAAI,IAAIrhB,KAAlBohB,EAAEA,EAAE8R,MAAmB7R,EAAE,GAAGA,EAAEtD,eAAe/d,GAAG,CAAC,IAAIwhB,EAAE,IAAIxhB,EAAEyF,QAAQ,MAAMgjB,EAAEw7D,GAAGjkF,EAAEqhB,EAAErhB,GAAGwhB,GAAG,UAAUxhB,IAAIA,EAAE,YAAYwhB,EAAEJ,EAAE24J,YAAY/5K,EAAEyoB,GAAGrH,EAAEphB,GAAGyoB,CAAC,CAAC,CADY9pB,OAAOwM,KAAKq4E,IAAIp4E,SAAQ,SAASgW,GAAG61D,GAAG7rE,SAAQ,SAASiW,GAAGA,EAAEA,EAAED,EAAEvf,OAAO,GAAGpE,cAAc2jB,EAAEtY,UAAU,GAAG06E,GAAGniE,GAAGmiE,GAAGpiE,EAAE,GAAE,IAChI,IAAIg9D,GAAG1iC,EAAE,CAACs+H,UAAS,GAAI,CAACllK,MAAK,EAAGmlK,MAAK,EAAG5mH,IAAG,EAAG31B,KAAI,EAAGw8I,OAAM,EAAGvkH,IAAG,EAAG8Y,KAAI,EAAGjuE,OAAM,EAAG25K,QAAO,EAAG70G,MAAK,EAAG80G,MAAK,EAAGC,OAAM,EAAGn8J,QAAO,EAAGo8J,OAAM,EAAGC,KAAI,IAClT,SAAS36F,GAAGx+D,EAAEC,GAAG,GAAGA,EAAE,CAAC,GAAG+8D,GAAGh9D,KAAK,MAAMC,EAAEsxD,UAAU,MAAMtxD,EAAEm2J,yBAAyB,MAAMx5K,MAAMke,EAAE,IAAIkF,IAAI,GAAG,MAAMC,EAAEm2J,wBAAwB,CAAC,GAAG,MAAMn2J,EAAEsxD,SAAS,MAAM30E,MAAMke,EAAE,KAAK,GAAG,kBAAkBmF,EAAEm2J,2BAA2B,WAAWn2J,EAAEm2J,yBAAyB,MAAMx5K,MAAMke,EAAE,IAAK,CAAC,GAAG,MAAMmF,EAAE6R,OAAO,kBAAkB7R,EAAE6R,MAAM,MAAMl1B,MAAMke,EAAE,IAAK,CAAC,CAClW,SAASyiE,GAAGv9D,EAAEC,GAAG,IAAI,IAAID,EAAE3b,QAAQ,KAAK,MAAM,kBAAkB4b,EAAE2uE,GAAG,OAAO5uE,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,EAAG,CAAC,IAAIw/D,GAAG,KAAK,SAAS/B,GAAGz9D,GAA6F,OAA1FA,EAAEA,EAAEhD,QAAQgD,EAAEo5J,YAAYh3J,QAASi3J,0BAA0Br5J,EAAEA,EAAEq5J,yBAAgC,IAAIr5J,EAAEsgD,SAAStgD,EAAEqpD,WAAWrpD,CAAC,CAAC,IAAIgiE,GAAG,KAAKD,GAAG,KAAKjK,GAAG,KACpc,SAASiH,GAAG/+D,GAAG,GAAGA,EAAEg/D,GAAGh/D,GAAG,CAAC,GAAG,oBAAoBgiE,GAAG,MAAMplF,MAAMke,EAAE,MAAM,IAAImF,EAAED,EAAEs5J,UAAUr5J,IAAIA,EAAE43D,GAAG53D,GAAG+hE,GAAGhiE,EAAEs5J,UAAUt5J,EAAEjgB,KAAKkgB,GAAG,CAAC,CAAC,SAASkgE,GAAGngE,GAAG+hE,GAAGjK,GAAGA,GAAG71E,KAAK+d,GAAG83D,GAAG,CAAC93D,GAAG+hE,GAAG/hE,CAAC,CAAC,SAAS8+D,KAAK,GAAGiD,GAAG,CAAC,IAAI/hE,EAAE+hE,GAAG9hE,EAAE63D,GAAoB,GAAjBA,GAAGiK,GAAG,KAAKhD,GAAG/+D,GAAMC,EAAE,IAAID,EAAE,EAAEA,EAAEC,EAAE7iB,OAAO4iB,IAAI++D,GAAG9+D,EAAED,GAAG,CAAC,CAAC,SAASgkE,GAAGhkE,EAAEC,GAAG,OAAOD,EAAEC,EAAE,CAAC,SAAS6hE,KAAK,CAAC,IAAI9H,IAAG,EAAG,SAASC,GAAGj6D,EAAEC,EAAErhB,GAAG,GAAGo7E,GAAG,OAAOh6D,EAAEC,EAAErhB,GAAGo7E,IAAG,EAAG,IAAI,OAAOgK,GAAGhkE,EAAEC,EAAErhB,EAAE,CAAC,QAAWo7E,IAAG,GAAG,OAAO+H,IAAI,OAAOjK,MAAGgK,KAAKhD,KAAI,CAAC,CAChb,SAAStF,GAAGx5D,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAEs5J,UAAU,GAAG,OAAO16K,EAAE,OAAO,KAAK,IAAIwhB,EAAEy3D,GAAGj5E,GAAG,GAAG,OAAOwhB,EAAE,OAAO,KAAKxhB,EAAEwhB,EAAEH,GAAGD,EAAE,OAAOC,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,mBAAmB,IAAK,gBAAgBG,GAAGA,EAAE+1J,YAAqB/1J,IAAI,YAAbJ,EAAEA,EAAEjgB,OAAuB,UAAUigB,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAGI,EAAE,MAAMJ,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAGphB,GAAG,oBACleA,EAAE,MAAMhC,MAAMke,EAAE,IAAImF,SAASrhB,IAAI,OAAOA,CAAC,CAAC,IAAIsgF,IAAG,EAAG,GAAGmB,EAAG,IAAI,IAAIxJ,GAAG,CAAC,EAAEt5E,OAAOysB,eAAe6sD,GAAG,UAAU,CAAC72E,IAAI,WAAWk/E,IAAG,CAAE,IAAI98D,OAAOqsD,iBAAiB,OAAOoI,GAAGA,IAAIz0D,OAAO6lF,oBAAoB,OAAOpxB,GAAGA,GAAG,CAAC,MAAM72D,IAAGk/D,IAAG,CAAE,CAAC,SAAS6B,GAAG/gE,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,EAAE9Z,EAAEoa,EAAEpqB,GAAG,IAAIyd,EAAEte,MAAMJ,UAAUG,MAAMW,KAAKN,UAAU,GAAG,IAAI8iB,EAAEnb,MAAMlG,EAAEyc,EAAE,CAAC,MAAMhZ,GAAG5F,KAAKg6G,QAAQp0G,EAAE,CAAC,CAAC,IAAIm+E,IAAG,EAAGtD,GAAG,KAAKtH,IAAG,EAAG8I,GAAG,KAAKnI,GAAG,CAACkgC,QAAQ,SAASz2F,GAAGwgE,IAAG,EAAGtD,GAAGl9D,CAAC,GAAG,SAAS6F,GAAG7F,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,EAAE9Z,EAAEoa,EAAEpqB,GAAG4iF,IAAG,EAAGtD,GAAG,KAAK6D,GAAGj8E,MAAMyxE,GAAGp5E,UAAU,CACjW,SAASsmF,GAAGzjE,GAAG,IAAIC,EAAED,EAAEphB,EAAEohB,EAAE,GAAGA,EAAEu5J,UAAU,KAAKt5J,EAAEu5J,QAAQv5J,EAAEA,EAAEu5J,WAAW,CAACx5J,EAAEC,EAAE,GAAO,KAAa,MAAjBA,EAAED,GAAS0wC,SAAc9xD,EAAEqhB,EAAEu5J,QAAQx5J,EAAEC,EAAEu5J,aAAax5J,EAAE,CAAC,OAAO,IAAIC,EAAE44E,IAAIj6F,EAAE,IAAI,CAAC,SAASs8E,GAAGl7D,GAAG,GAAG,KAAKA,EAAE64E,IAAI,CAAC,IAAI54E,EAAED,EAAEy5J,cAAsE,GAAxD,OAAOx5J,IAAkB,QAAdD,EAAEA,EAAEu5J,aAAqBt5J,EAAED,EAAEy5J,gBAAmB,OAAOx5J,EAAE,OAAOA,EAAEy5J,UAAU,CAAC,OAAO,IAAI,CAAC,SAAS93F,GAAG5hE,GAAG,GAAGyjE,GAAGzjE,KAAKA,EAAE,MAAMpjB,MAAMke,EAAE,KAAM,CAE1S,SAASmkE,GAAGj/D,GAAW,OAAO,QAAfA,EADtN,SAAYA,GAAG,IAAIC,EAAED,EAAEu5J,UAAU,IAAIt5J,EAAE,CAAS,GAAG,QAAXA,EAAEwjE,GAAGzjE,IAAe,MAAMpjB,MAAMke,EAAE,MAAM,OAAOmF,IAAID,EAAE,KAAKA,CAAC,CAAC,IAAI,IAAIphB,EAAEohB,EAAEI,EAAEH,IAAI,CAAC,IAAIoH,EAAEzoB,EAAE46K,OAAO,GAAG,OAAOnyJ,EAAE,MAAM,IAAIK,EAAEL,EAAEkyJ,UAAU,GAAG,OAAO7xJ,EAAE,CAAY,GAAG,QAAdtH,EAAEiH,EAAEmyJ,QAAmB,CAAC56K,EAAEwhB,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAGiH,EAAEsyJ,QAAQjyJ,EAAEiyJ,MAAM,CAAC,IAAIjyJ,EAAEL,EAAEsyJ,MAAMjyJ,GAAG,CAAC,GAAGA,IAAI9oB,EAAE,OAAOgjF,GAAGv6D,GAAGrH,EAAE,GAAG0H,IAAItH,EAAE,OAAOwhE,GAAGv6D,GAAGpH,EAAEyH,EAAEA,EAAEkyJ,OAAO,CAAC,MAAMh9K,MAAMke,EAAE,KAAM,CAAC,GAAGlc,EAAE46K,SAASp5J,EAAEo5J,OAAO56K,EAAEyoB,EAAEjH,EAAEsH,MAAM,CAAC,IAAI,IAAI9Z,GAAE,EAAGoa,EAAEX,EAAEsyJ,MAAM3xJ,GAAG,CAAC,GAAGA,IAAIppB,EAAE,CAACgP,GAAE,EAAGhP,EAAEyoB,EAAEjH,EAAEsH,EAAE,KAAK,CAAC,GAAGM,IAAI5H,EAAE,CAACxS,GAAE,EAAGwS,EAAEiH,EAAEzoB,EAAE8oB,EAAE,KAAK,CAACM,EAAEA,EAAE4xJ,OAAO,CAAC,IAAIhsK,EAAE,CAAC,IAAIoa,EAAEN,EAAEiyJ,MAAM3xJ,GAAG,CAAC,GAAGA,IAC5fppB,EAAE,CAACgP,GAAE,EAAGhP,EAAE8oB,EAAEtH,EAAEiH,EAAE,KAAK,CAAC,GAAGW,IAAI5H,EAAE,CAACxS,GAAE,EAAGwS,EAAEsH,EAAE9oB,EAAEyoB,EAAE,KAAK,CAACW,EAAEA,EAAE4xJ,OAAO,CAAC,IAAIhsK,EAAE,MAAMhR,MAAMke,EAAE,KAAM,CAAC,CAAC,GAAGlc,EAAE26K,YAAYn5J,EAAE,MAAMxjB,MAAMke,EAAE,KAAM,CAAC,GAAG,IAAIlc,EAAEi6F,IAAI,MAAMj8F,MAAMke,EAAE,MAAM,OAAOlc,EAAE06K,UAAUtiJ,UAAUp4B,EAAEohB,EAAEC,CAAC,CAAkBk/D,CAAGn/D,IAAmBygE,GAAGzgE,GAAG,IAAI,CAAC,SAASygE,GAAGzgE,GAAG,GAAG,IAAIA,EAAE64E,KAAK,IAAI74E,EAAE64E,IAAI,OAAO74E,EAAE,IAAIA,EAAEA,EAAE25J,MAAM,OAAO35J,GAAG,CAAC,IAAIC,EAAEwgE,GAAGzgE,GAAG,GAAG,OAAOC,EAAE,OAAOA,EAAED,EAAEA,EAAE45J,OAAO,CAAC,OAAO,IAAI,CAC1X,IAAIr1F,GAAGtI,EAAG49F,0BAA0Br1F,GAAGvI,EAAG69F,wBAAwBzjK,GAAG4lE,EAAG89F,qBAAqB7gG,GAAG+C,EAAG+9F,sBAAsB1zJ,GAAE21D,EAAGg+F,aAAa9xI,GAAG8zC,EAAGi+F,iCAAiC7gG,GAAG4C,EAAGk+F,2BAA2B7+F,GAAGW,EAAGm+F,8BAA8B5+F,GAAGS,EAAGo+F,wBAAwBzyF,GAAG3L,EAAGq+F,qBAAqB3kG,GAAGsG,EAAGs+F,sBAAsBh4F,GAAG,KAAKx2C,GAAG,KACvV,IAAIg3C,GAAGliF,KAAK25K,MAAM35K,KAAK25K,MAAiC,SAAYx6J,GAAU,OAAPA,KAAK,EAAS,IAAIA,EAAE,GAAG,IAAIgjE,GAAGhjE,GAAG+jE,GAAG,GAAG,CAAC,EAA/Ef,GAAGniF,KAAKgd,IAAIkmE,GAAGljF,KAAKs5F,IAA4D,IAAIhW,GAAG,GAAG/C,GAAG,QAC7H,SAASrB,GAAG//D,GAAG,OAAOA,GAAGA,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAS,QAAFA,EAAU,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,OAAS,UAAFA,EAAY,KAAK,UAAU,OAAO,UAAU,KAAK,UAAU,OAAO,UAAU,KAAK,UAAU,OAAO,UAAU,KAAK,WAAW,OAAO,WACzgB,QAAQ,OAAOA,EAAE,CAAC,SAAS8gE,GAAG9gE,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAEy6J,aAAa,GAAG,IAAI77K,EAAE,OAAO,EAAE,IAAIwhB,EAAE,EAAEiH,EAAErH,EAAE06J,eAAehzJ,EAAE1H,EAAE26J,YAAY/sK,EAAI,UAAFhP,EAAY,GAAG,IAAIgP,EAAE,CAAC,IAAIoa,EAAEpa,GAAGyZ,EAAE,IAAIW,EAAE5H,EAAE2/D,GAAG/3D,GAAS,KAALN,GAAG9Z,KAAUwS,EAAE2/D,GAAGr4D,GAAI,MAAa,KAAP9Z,EAAEhP,GAAGyoB,GAAQjH,EAAE2/D,GAAGnyE,GAAG,IAAI8Z,IAAItH,EAAE2/D,GAAGr4D,IAAI,GAAG,IAAItH,EAAE,OAAO,EAAE,GAAG,IAAIH,GAAGA,IAAIG,GAAG,KAAKH,EAAEoH,MAAKA,EAAEjH,GAAGA,KAAEsH,EAAEzH,GAAGA,IAAQ,KAAKoH,GAAG,KAAO,QAAFK,IAAY,OAAOzH,EAA0C,GAAxC,KAAO,EAAFG,KAAOA,GAAK,GAAFxhB,GAA4B,KAAtBqhB,EAAED,EAAE46J,gBAAwB,IAAI56J,EAAEA,EAAE66J,cAAc56J,GAAGG,EAAE,EAAEH,GAAcoH,EAAE,IAAbzoB,EAAE,GAAGmkF,GAAG9iE,IAAUG,GAAGJ,EAAEphB,GAAGqhB,IAAIoH,EAAE,OAAOjH,CAAC,CACvc,SAAS66D,GAAGj7D,EAAEC,GAAG,OAAOD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAOC,EAAE,IAAI,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAOA,EAAE,IAAuJ,QAAQ,OAAO,EAAE,CACrN,SAAS+6D,GAAGh7D,GAAgC,OAAO,KAApCA,GAAkB,WAAhBA,EAAEy6J,cAAsCz6J,EAAI,WAAFA,EAAa,WAAW,CAAC,CAAC,SAASw9D,KAAK,IAAIx9D,EAAEmkE,GAAoC,OAA1B,KAAQ,SAAfA,KAAK,MAAqBA,GAAG,IAAWnkE,CAAC,CAAC,SAAS0iE,GAAG1iE,GAAG,IAAI,IAAIC,EAAE,GAAGrhB,EAAE,EAAE,GAAGA,EAAEA,IAAIqhB,EAAEhe,KAAK+d,GAAG,OAAOC,CAAC,CAC3a,SAASuiE,GAAGxiE,EAAEC,EAAErhB,GAAGohB,EAAEy6J,cAAcx6J,EAAE,YAAYA,IAAID,EAAE06J,eAAe,EAAE16J,EAAE26J,YAAY,IAAG36J,EAAEA,EAAE86J,YAAW76J,EAAE,GAAG8iE,GAAG9iE,IAAQrhB,CAAC,CACzH,SAASklF,GAAG9jE,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAE46J,gBAAgB36J,EAAE,IAAID,EAAEA,EAAE66J,cAAcj8K,GAAG,CAAC,IAAIwhB,EAAE,GAAG2iE,GAAGnkF,GAAGyoB,EAAE,GAAGjH,EAAEiH,EAAEpH,EAAED,EAAEI,GAAGH,IAAID,EAAEI,IAAIH,GAAGrhB,IAAIyoB,CAAC,CAAC,CAAC,IAAIlB,GAAE,EAAE,SAAS20D,GAAG96D,GAAS,OAAO,GAAbA,IAAIA,GAAa,EAAEA,EAAE,KAAO,UAAFA,GAAa,GAAG,UAAU,EAAE,CAAC,CAAC,IAAIujE,GAAGG,GAAG/C,GAAGC,GAAGa,GAAGU,IAAG,EAAGb,GAAG,GAAGoG,GAAG,KAAKvO,GAAG,KAAKC,GAAG,KAAK2E,GAAG,IAAI76C,IAAIq8C,GAAG,IAAIr8C,IAAIk9C,GAAG,GAAG9G,GAAG,6PAA6P7uE,MAAM,KAChiB,SAASy1E,GAAGlgE,EAAEC,GAAG,OAAOD,GAAG,IAAK,UAAU,IAAK,WAAW0nE,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYvO,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWC,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAa2E,GAAGg9F,OAAO96J,EAAE+6J,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBz7F,GAAGw7F,OAAO96J,EAAE+6J,WAAW,CACnT,SAASl1J,GAAG9F,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,GAAG,OAAG,OAAO1H,GAAGA,EAAEi7J,cAAcvzJ,GAAS1H,EAAE,CAACk7J,UAAUj7J,EAAEk7J,aAAav8K,EAAEw8K,iBAAiBh7J,EAAE66J,YAAYvzJ,EAAE2zJ,iBAAiB,CAACh0J,IAAI,OAAOpH,IAAY,QAARA,EAAE++D,GAAG/+D,KAAayjE,GAAGzjE,IAAID,IAAEA,EAAEo7J,kBAAkBh7J,EAAEH,EAAED,EAAEq7J,iBAAiB,OAAOh0J,IAAI,IAAIpH,EAAE5b,QAAQgjB,IAAIpH,EAAEhe,KAAKolB,GAAUrH,EAAC,CAEpR,SAASqkE,GAAGrkE,GAAG,IAAIC,EAAEo/D,GAAGr/D,EAAEhD,QAAQ,GAAG,OAAOiD,EAAE,CAAC,IAAIrhB,EAAE6kF,GAAGxjE,GAAG,GAAG,OAAOrhB,EAAE,GAAW,MAARqhB,EAAErhB,EAAEi6F,MAAY,GAAW,QAAR54E,EAAEi7D,GAAGt8E,IAA4D,OAA/CohB,EAAEk7J,UAAUj7J,OAAEwhE,GAAGzhE,EAAEs7J,UAAS,WAAW36F,GAAG/hF,EAAE,SAAgB,GAAG,IAAIqhB,GAAGrhB,EAAE06K,UAAUtiJ,QAAQyiJ,cAAc8B,aAAmE,YAArDv7J,EAAEk7J,UAAU,IAAIt8K,EAAEi6F,IAAIj6F,EAAE06K,UAAUkC,cAAc,KAAY,CAACx7J,EAAEk7J,UAAU,IAAI,CAClT,SAAS57F,GAAGt/D,GAAG,GAAG,OAAOA,EAAEk7J,UAAU,OAAM,EAAG,IAAI,IAAIj7J,EAAED,EAAEq7J,iBAAiB,EAAEp7J,EAAE7iB,QAAQ,CAAC,IAAIwB,EAAEy3E,GAAGr2D,EAAEm7J,aAAan7J,EAAEo7J,iBAAiBn7J,EAAE,GAAGD,EAAEi7J,aAAa,GAAG,OAAOr8K,EAAiG,OAAe,QAARqhB,EAAE++D,GAAGpgF,KAAa8kF,GAAGzjE,GAAGD,EAAEk7J,UAAUt8K,GAAE,EAA3H,IAAIwhB,EAAE,IAAtBxhB,EAAEohB,EAAEi7J,aAAwBp+K,YAAY+B,EAAEmB,KAAKnB,GAAG4gF,GAAGp/D,EAAExhB,EAAEoe,OAAOsK,cAAclH,GAAGo/D,GAAG,KAA0Dv/D,EAAE2qB,OAAO,CAAC,OAAM,CAAE,CAAC,SAAS0rC,GAAGt2D,EAAEC,EAAErhB,GAAG0gF,GAAGt/D,IAAIphB,EAAEm8K,OAAO96J,EAAE,CAAC,SAASyhE,KAAKS,IAAG,EAAG,OAAOuF,IAAIpI,GAAGoI,MAAMA,GAAG,MAAM,OAAOvO,IAAImG,GAAGnG,MAAMA,GAAG,MAAM,OAAOC,IAAIkG,GAAGlG,MAAMA,GAAG,MAAM2E,GAAG/zE,QAAQssE,IAAIiJ,GAAGv1E,QAAQssE,GAAG,CACnf,SAASgK,GAAGtgE,EAAEC,GAAGD,EAAEk7J,YAAYj7J,IAAID,EAAEk7J,UAAU,KAAK/4F,KAAKA,IAAG,EAAGlG,EAAG49F,0BAA0B59F,EAAGo+F,wBAAwB34F,KAAK,CAC5H,SAAS/I,GAAG34D,GAAG,SAASC,EAAEA,GAAG,OAAOqgE,GAAGrgE,EAAED,EAAE,CAAC,GAAG,EAAEshE,GAAGlkF,OAAO,CAACkjF,GAAGgB,GAAG,GAAGthE,GAAG,IAAI,IAAIphB,EAAE,EAAEA,EAAE0iF,GAAGlkF,OAAOwB,IAAI,CAAC,IAAIwhB,EAAEkhE,GAAG1iF,GAAGwhB,EAAE86J,YAAYl7J,IAAII,EAAE86J,UAAU,KAAK,CAAC,CAAyF,IAAxF,OAAOxzF,IAAIpH,GAAGoH,GAAG1nE,GAAG,OAAOm5D,IAAImH,GAAGnH,GAAGn5D,GAAG,OAAOo5D,IAAIkH,GAAGlH,GAAGp5D,GAAG+9D,GAAG/zE,QAAQiW,GAAGs/D,GAAGv1E,QAAQiW,GAAOrhB,EAAE,EAAEA,EAAEwhF,GAAGhjF,OAAOwB,KAAIwhB,EAAEggE,GAAGxhF,IAAKs8K,YAAYl7J,IAAII,EAAE86J,UAAU,MAAM,KAAK,EAAE96F,GAAGhjF,QAAiB,QAARwB,EAAEwhF,GAAG,IAAY86F,WAAY72F,GAAGzlF,GAAG,OAAOA,EAAEs8K,WAAW96F,GAAGx1C,OAAO,CAAC,IAAIzD,GAAGy1C,EAAG6+F,wBAAwB37F,IAAG,EAC5a,SAASyB,GAAGvhE,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAElB,GAAEuB,EAAEyf,GAAGu0I,WAAWv0I,GAAGu0I,WAAW,KAAK,IAAIv1J,GAAE,EAAE4gB,GAAG/mB,EAAEC,EAAErhB,EAAEwhB,EAAE,CAAC,QAAQ+F,GAAEkB,EAAE8f,GAAGu0I,WAAWh0J,CAAC,CAAC,CAAC,SAASi8D,GAAG3jE,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAElB,GAAEuB,EAAEyf,GAAGu0I,WAAWv0I,GAAGu0I,WAAW,KAAK,IAAIv1J,GAAE,EAAE4gB,GAAG/mB,EAAEC,EAAErhB,EAAEwhB,EAAE,CAAC,QAAQ+F,GAAEkB,EAAE8f,GAAGu0I,WAAWh0J,CAAC,CAAC,CACjO,SAASqf,GAAG/mB,EAAEC,EAAErhB,EAAEwhB,GAAG,GAAG0/D,GAAG,CAAC,IAAIz4D,EAAEgvD,GAAGr2D,EAAEC,EAAErhB,EAAEwhB,GAAG,GAAG,OAAOiH,EAAE2vD,GAAGh3D,EAAEC,EAAEG,EAAEsa,GAAG97B,GAAGshF,GAAGlgE,EAAEI,QAAQ,GANtF,SAAYJ,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,OAAOpH,GAAG,IAAK,UAAU,OAAOynE,GAAG5hE,GAAG4hE,GAAG1nE,EAAEC,EAAErhB,EAAEwhB,EAAEiH,IAAG,EAAG,IAAK,YAAY,OAAO8xD,GAAGrzD,GAAGqzD,GAAGn5D,EAAEC,EAAErhB,EAAEwhB,EAAEiH,IAAG,EAAG,IAAK,YAAY,OAAO+xD,GAAGtzD,GAAGszD,GAAGp5D,EAAEC,EAAErhB,EAAEwhB,EAAEiH,IAAG,EAAG,IAAK,cAAc,IAAIK,EAAEL,EAAE2zJ,UAAkD,OAAxCj9F,GAAG5/D,IAAIuJ,EAAE5B,GAAGi4D,GAAG/9E,IAAI0nB,IAAI,KAAK1H,EAAEC,EAAErhB,EAAEwhB,EAAEiH,KAAU,EAAG,IAAK,oBAAoB,OAAOK,EAAEL,EAAE2zJ,UAAUz7F,GAAGphE,IAAIuJ,EAAE5B,GAAGy5D,GAAGv/E,IAAI0nB,IAAI,KAAK1H,EAAEC,EAAErhB,EAAEwhB,EAAEiH,KAAI,EAAG,OAAM,CAAE,CAM1Q48D,CAAG58D,EAAErH,EAAEC,EAAErhB,EAAEwhB,GAAGA,EAAEu7J,uBAAuB,GAAGz7F,GAAGlgE,EAAEI,GAAK,EAAFH,IAAM,EAAEq5D,GAAGj1E,QAAQ2b,GAAG,CAAC,KAAK,OAAOqH,GAAG,CAAC,IAAIK,EAAEs3D,GAAG33D,GAA0D,GAAvD,OAAOK,GAAG67D,GAAG77D,GAAiB,QAAdA,EAAE2uD,GAAGr2D,EAAEC,EAAErhB,EAAEwhB,KAAa42D,GAAGh3D,EAAEC,EAAEG,EAAEsa,GAAG97B,GAAM8oB,IAAIL,EAAE,MAAMA,EAAEK,CAAC,CAAC,OAAOL,GAAGjH,EAAEu7J,iBAAiB,MAAM3kG,GAAGh3D,EAAEC,EAAEG,EAAE,KAAKxhB,EAAE,CAAC,CAAC,IAAI87B,GAAG,KACpU,SAAS27C,GAAGr2D,EAAEC,EAAErhB,EAAEwhB,GAA2B,GAAxBsa,GAAG,KAAwB,QAAX1a,EAAEq/D,GAAVr/D,EAAEy9D,GAAGr9D,KAAuB,GAAW,QAARH,EAAEwjE,GAAGzjE,IAAYA,EAAE,UAAU,GAAW,MAARphB,EAAEqhB,EAAE44E,KAAW,CAAS,GAAG,QAAX74E,EAAEk7D,GAAGj7D,IAAe,OAAOD,EAAEA,EAAE,IAAI,MAAM,GAAG,IAAIphB,EAAE,CAAC,GAAGqhB,EAAEq5J,UAAUtiJ,QAAQyiJ,cAAc8B,aAAa,OAAO,IAAIt7J,EAAE44E,IAAI54E,EAAEq5J,UAAUkC,cAAc,KAAKx7J,EAAE,IAAI,MAAMC,IAAID,IAAIA,EAAE,MAAW,OAAL0a,GAAG1a,EAAS,IAAI,CAC7S,SAASi3D,GAAGj3D,GAAG,OAAOA,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,QAAQ,IAAK,cAAc,IAAK,OAAO,IAAK,MAAM,IAAK,WAAW,IAAK,WAAW,IAAK,UAAU,IAAK,YAAY,IAAK,OAAO,IAAK,UAAU,IAAK,WAAW,IAAK,QAAQ,IAAK,UAAU,IAAK,UAAU,IAAK,WAAW,IAAK,QAAQ,IAAK,YAAY,IAAK,UAAU,IAAK,QAAQ,IAAK,QAAQ,IAAK,OAAO,IAAK,gBAAgB,IAAK,cAAc,IAAK,YAAY,IAAK,aAAa,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,cAAc,IAAK,WAAW,IAAK,aAAa,IAAK,eAAe,IAAK,SAAS,IAAK,kBAAkB,IAAK,YAAY,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,oBAAoB,IAAK,aAAa,IAAK,YAAY,IAAK,cAAc,IAAK,OAAO,IAAK,mBAAmB,IAAK,QAAQ,IAAK,aAAa,IAAK,WAAW,IAAK,SAAS,IAAK,cAAc,OAAO,EAAE,IAAK,OAAO,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,IAAK,QAAQ,IAAK,aAAa,IAAK,aAAa,IAAK,eAAe,IAAK,eAAe,OAAO,EACpqC,IAAK,UAAU,OAAOmoB,MAAM,KAAKkxC,GAAG,OAAO,EAAE,KAAKiC,GAAG,OAAO,EAAE,KAAKE,GAAG,KAAKoM,GAAG,OAAO,GAAG,KAAKjS,GAAG,OAAO,UAAU,QAAQ,OAAO,GAAG,QAAQ,OAAO,GAAG,CAAC,IAAIyR,GAAG,KAAKxH,GAAG,KAAKjwC,GAAG,KAAK,SAASmmC,KAAK,GAAGnmC,GAAG,OAAOA,GAAG,IAAI3vB,EAAkBI,EAAhBH,EAAE2/D,GAAGhhF,EAAEqhB,EAAE7iB,OAASiqB,EAAE,UAAU+/D,GAAGA,GAAG5hF,MAAM4hF,GAAG3wD,YAAY/O,EAAEL,EAAEjqB,OAAO,IAAI4iB,EAAE,EAAEA,EAAEphB,GAAGqhB,EAAED,KAAKqH,EAAErH,GAAGA,KAAK,IAAIpS,EAAEhP,EAAEohB,EAAE,IAAII,EAAE,EAAEA,GAAGxS,GAAGqS,EAAErhB,EAAEwhB,KAAKiH,EAAEK,EAAEtH,GAAGA,KAAK,OAAOuvB,GAAGtoB,EAAEvqB,MAAMkjB,EAAE,EAAEI,EAAE,EAAEA,OAAE,EAAO,CACxY,SAASu/D,GAAG3/D,GAAG,IAAIC,EAAED,EAAE47J,QAA+E,MAAvE,aAAa57J,EAAgB,KAAbA,EAAEA,EAAEupH,WAAgB,KAAKtpH,IAAID,EAAE,IAAKA,EAAEC,EAAE,KAAKD,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,CAAC,CAAC,SAAS+1D,KAAK,OAAM,CAAE,CAAC,SAAS8G,KAAK,OAAM,CAAE,CAC5K,SAASC,GAAG98D,GAAG,SAASC,EAAEA,EAAEG,EAAEiH,EAAEK,EAAE9Z,GAA6G,IAAI,IAAIhP,KAAlHnC,KAAKo/K,WAAW57J,EAAExjB,KAAKq/K,YAAYz0J,EAAE5qB,KAAKsD,KAAKqgB,EAAE3jB,KAAKw+K,YAAYvzJ,EAAEjrB,KAAKugB,OAAOpP,EAAEnR,KAAKs/K,cAAc,KAAkB/7J,EAAEA,EAAErD,eAAe/d,KAAKqhB,EAAED,EAAEphB,GAAGnC,KAAKmC,GAAGqhB,EAAEA,EAAEyH,GAAGA,EAAE9oB,IAAgI,OAA5HnC,KAAKu/K,oBAAoB,MAAMt0J,EAAEu0J,iBAAiBv0J,EAAEu0J,kBAAiB,IAAKv0J,EAAEw0J,aAAanmG,GAAG8G,GAAGpgF,KAAK0/K,qBAAqBt/F,GAAUpgF,IAAI,CAC9E,OAD+E69C,EAAEr6B,EAAEtjB,UAAU,CAACy/K,eAAe,WAAW3/K,KAAKw/K,kBAAiB,EAAG,IAAIj8J,EAAEvjB,KAAKw+K,YAAYj7J,IAAIA,EAAEo8J,eAAep8J,EAAEo8J,iBAAiB,mBAAmBp8J,EAAEk8J,cAC7el8J,EAAEk8J,aAAY,GAAIz/K,KAAKu/K,mBAAmBjmG,GAAG,EAAE4lG,gBAAgB,WAAW,IAAI37J,EAAEvjB,KAAKw+K,YAAYj7J,IAAIA,EAAE27J,gBAAgB37J,EAAE27J,kBAAkB,mBAAmB37J,EAAEq8J,eAAer8J,EAAEq8J,cAAa,GAAI5/K,KAAK0/K,qBAAqBpmG,GAAG,EAAEumG,QAAQ,WAAW,EAAEC,aAAaxmG,KAAY91D,CAAC,CACjR,IAAoLo9D,GAAGC,GAAGmB,GAAtLtG,GAAG,CAACqkG,WAAW,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,UAAU,SAAS38J,GAAG,OAAOA,EAAE28J,WAAW50K,KAAKD,KAAK,EAAEm0K,iBAAiB,EAAEW,UAAU,GAAGjsI,GAAGmsC,GAAG3E,IAAIpB,GAAGz8B,EAAE,CAAC,EAAE69B,GAAG,CAACgxF,KAAK,EAAE0T,OAAO,IAAIn9F,GAAG5C,GAAG/F,IAAa2J,GAAGpmC,EAAE,CAAC,EAAEy8B,GAAG,CAAC+lG,QAAQ,EAAEC,QAAQ,EAAExyE,QAAQ,EAAEC,QAAQ,EAAEwyE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,iBAAiB79F,GAAG89F,OAAO,EAAEC,QAAQ,EAAEC,cAAc,SAASz9J,GAAG,YAAO,IAASA,EAAEy9J,cAAcz9J,EAAE09J,cAAc19J,EAAEo5J,WAAWp5J,EAAE29J,UAAU39J,EAAE09J,YAAY19J,EAAEy9J,aAAa,EAAEG,UAAU,SAAS59J,GAAG,MAAG,cAC3eA,EAASA,EAAE49J,WAAU59J,IAAIy+D,KAAKA,IAAI,cAAcz+D,EAAEjgB,MAAMs9E,GAAGr9D,EAAE88J,QAAQr+F,GAAGq+F,QAAQx/F,GAAGt9D,EAAE+8J,QAAQt+F,GAAGs+F,SAASz/F,GAAGD,GAAG,EAAEoB,GAAGz+D,GAAUq9D,GAAE,EAAEwgG,UAAU,SAAS79J,GAAG,MAAM,cAAcA,EAAEA,EAAE69J,UAAUvgG,EAAE,IAAIgF,GAAGxF,GAAG4D,IAAiCG,GAAG/D,GAA7BxiC,EAAE,CAAC,EAAEomC,GAAG,CAACo9F,aAAa,KAA4CnmG,GAAGmF,GAA9BxiC,EAAE,CAAC,EAAEy8B,GAAG,CAAC0mG,cAAc,KAA0E76F,GAAG9F,GAA5DxiC,EAAE,CAAC,EAAE69B,GAAG,CAAC4lG,cAAc,EAAE78D,YAAY,EAAE88D,cAAc,KAAc1lG,GAAGh+B,EAAE,CAAC,EAAE69B,GAAG,CAAC8lG,cAAc,SAASj+J,GAAG,MAAM,kBAAkBA,EAAEA,EAAEi+J,cAAc77J,OAAO67J,aAAa,IAAI7nG,GAAG0G,GAAGxE,IAAyBsG,GAAG9B,GAArBxiC,EAAE,CAAC,EAAE69B,GAAG,CAACr2E,KAAK,KAAcy2E,GAAG,CAAC2lG,IAAI,SACxfC,SAAS,IAAIC,KAAK,YAAYC,GAAG,UAAUC,MAAM,aAAaC,KAAK,YAAYC,IAAI,SAASC,IAAI,KAAKC,KAAK,cAAcC,KAAK,cAAcC,OAAO,aAAaC,gBAAgB,gBAAgB3kG,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KACtf,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,UAAU,IAAI,aAAa,IAAI,QAAQmH,GAAG,CAACy9F,IAAI,SAASC,QAAQ,UAAUC,KAAK,UAAUC,MAAM,YAAY,SAAS7mG,GAAGp4D,GAAG,IAAIC,EAAExjB,KAAKw+K,YAAY,OAAOh7J,EAAEq9J,iBAAiBr9J,EAAEq9J,iBAAiBt9J,MAAIA,EAAEqhE,GAAGrhE,OAAMC,EAAED,EAAK,CAAC,SAASy/D,KAAK,OAAOrH,EAAE,CAChS,IAAIC,GAAG/9B,EAAE,CAAC,EAAEy8B,GAAG,CAAC9sE,IAAI,SAAS+V,GAAG,GAAGA,EAAE/V,IAAI,CAAC,IAAIgW,EAAEs4D,GAAGv4D,EAAE/V,MAAM+V,EAAE/V,IAAI,GAAG,iBAAiBgW,EAAE,OAAOA,CAAC,CAAC,MAAM,aAAaD,EAAEjgB,KAAc,MAARigB,EAAE2/D,GAAG3/D,IAAU,QAAQgB,OAAOC,aAAajB,GAAI,YAAYA,EAAEjgB,MAAM,UAAUigB,EAAEjgB,KAAKm6E,GAAGl6D,EAAE47J,UAAU,eAAe,EAAE,EAAEznK,KAAK,EAAEqU,SAAS,EAAE00J,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAE6B,OAAO,EAAE1tK,OAAO,EAAE8rK,iBAAiB79F,GAAG8pD,SAAS,SAASvpH,GAAG,MAAM,aAAaA,EAAEjgB,KAAK4/E,GAAG3/D,GAAG,CAAC,EAAE47J,QAAQ,SAAS57J,GAAG,MAAM,YAAYA,EAAEjgB,MAAM,UAAUigB,EAAEjgB,KAAKigB,EAAE47J,QAAQ,CAAC,EAAEuD,MAAM,SAASn/J,GAAG,MAAM,aAC7eA,EAAEjgB,KAAK4/E,GAAG3/D,GAAG,YAAYA,EAAEjgB,MAAM,UAAUigB,EAAEjgB,KAAKigB,EAAE47J,QAAQ,CAAC,IAAI5jG,GAAG8E,GAAGzE,IAAiItyD,GAAG+2D,GAA7HxiC,EAAE,CAAC,EAAEomC,GAAG,CAACs6F,UAAU,EAAE/1K,MAAM,EAAE4M,OAAO,EAAEutK,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,YAAY,EAAEC,UAAU,KAAmIt6F,GAAGtI,GAArHxiC,EAAE,CAAC,EAAEy8B,GAAG,CAAC4oG,QAAQ,EAAEC,cAAc,EAAEC,eAAe,EAAEzC,OAAO,EAAEC,QAAQ,EAAEH,QAAQ,EAAEC,SAAS,EAAEG,iBAAiB79F,MAA0EqgG,GAAGhjG,GAA3DxiC,EAAE,CAAC,EAAE69B,GAAG,CAACowF,aAAa,EAAErnD,YAAY,EAAE88D,cAAc,KAAc+B,GAAGzlI,EAAE,CAAC,EAAEomC,GAAG,CAACs/F,OAAO,SAAShgK,GAAG,MAAM,WAAWA,EAAEA,EAAEggK,OAAO,gBAAgBhgK,GAAGA,EAAEigK,YAAY,CAAC,EACnfC,OAAO,SAASlgK,GAAG,MAAM,WAAWA,EAAEA,EAAEkgK,OAAO,gBAAgBlgK,GAAGA,EAAEmgK,YAAY,eAAengK,GAAGA,EAAEogK,WAAW,CAAC,EAAEC,OAAO,EAAEC,UAAU,IAAIC,GAAGzjG,GAAGijG,IAAIS,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIz2H,GAAGs2B,GAAI,qBAAqBj+D,OAAOykE,GAAG,KAAKxG,GAAI,iBAAiBh+D,WAAWwkE,GAAGxkE,SAASo+J,cAAc,IAAIr0H,GAAGi0B,GAAI,cAAcj+D,SAASykE,GAAGp7B,GAAG40B,KAAMt2B,IAAI88B,IAAI,EAAEA,IAAI,IAAIA,IAAIj+B,GAAG5nC,OAAOC,aAAa,IAAIqqC,IAAG,EAC1W,SAASM,GAAG5rC,EAAEC,GAAG,OAAOD,GAAG,IAAK,QAAQ,OAAO,IAAIwgK,GAAGn8K,QAAQ4b,EAAE27J,SAAS,IAAK,UAAU,OAAO,MAAM37J,EAAE27J,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,OAAM,EAAG,QAAQ,OAAM,EAAG,CAAC,SAAStvH,GAAGtsC,GAAc,MAAM,kBAAjBA,EAAEA,EAAE68J,SAAkC,SAAS78J,EAAEA,EAAEle,KAAK,IAAI,CAAC,IAAIwnD,IAAG,EAE9Q,IAAIhiB,GAAG,CAAC54B,OAAM,EAAG7F,MAAK,EAAG63K,UAAS,EAAG,kBAAiB,EAAGpzK,OAAM,EAAGgI,OAAM,EAAGtQ,QAAO,EAAGg4D,UAAS,EAAGh+D,OAAM,EAAG2hL,QAAO,EAAGC,KAAI,EAAG35K,MAAK,EAAGizG,MAAK,EAAGhpG,KAAI,EAAG2vK,MAAK,GAAI,SAASx0H,GAAGrsC,GAAG,IAAIC,EAAED,GAAGA,EAAEugD,UAAUvgD,EAAEugD,SAAStgE,cAAc,MAAM,UAAUggB,IAAIqnB,GAAGtnB,EAAEjgB,MAAM,aAAakgB,CAAO,CAAC,SAASmpC,GAAGppC,EAAEC,EAAErhB,EAAEwhB,GAAG+/D,GAAG//D,GAAsB,GAAnBH,EAAE6qC,GAAG7qC,EAAE,aAAgB7iB,SAASwB,EAAE,IAAI+xC,GAAG,WAAW,SAAS,KAAK/xC,EAAEwhB,GAAGJ,EAAE/d,KAAK,CAACu0G,MAAM53G,EAAEkpG,UAAU7nF,IAAI,CAAC,IAAIssC,GAAG,KAAKyB,GAAG,KAAK,SAAS/qC,GAAGjD,GAAGgrC,GAAGhrC,EAAE,EAAE,CAAC,SAAS2oC,GAAG3oC,GAAe,GAAGm9D,EAAT/xB,GAAGprC,IAAY,OAAOA,CAAC,CACpe,SAASksC,GAAGlsC,EAAEC,GAAG,GAAG,WAAWD,EAAE,OAAOC,CAAC,CAAC,IAAI8rC,IAAG,EAAG,GAAGs0B,EAAG,CAAC,IAAIl0B,GAAG,GAAGk0B,EAAG,CAAC,IAAIv0B,GAAG,YAAYzpC,SAAS,IAAIypC,GAAG,CAAC,IAAI6C,GAAGtsC,SAAS8F,cAAc,OAAOwmC,GAAG8yD,aAAa,UAAU,WAAW31D,GAAG,oBAAoB6C,GAAGmyH,OAAO,CAAC30H,GAAGL,EAAE,MAAMK,IAAG,EAAGJ,GAAGI,MAAM9pC,SAASo+J,cAAc,EAAEp+J,SAASo+J,aAAa,CAAC,SAAS50H,KAAKU,KAAKA,GAAGw0H,YAAY,mBAAmBjzH,IAAIE,GAAGzB,GAAG,KAAK,CAAC,SAASuB,GAAG9tC,GAAG,GAAG,UAAUA,EAAEuoJ,cAAc5/G,GAAGqF,IAAI,CAAC,IAAI/tC,EAAE,GAAGmpC,GAAGnpC,EAAE+tC,GAAGhuC,EAAEy9D,GAAGz9D,IAAIi6D,GAAGh3D,GAAGhD,EAAE,CAAC,CAC/b,SAAS4sC,GAAG7sC,EAAEC,EAAErhB,GAAG,YAAYohB,GAAG6rC,KAAUmC,GAAGpvD,GAAR2tD,GAAGtsC,GAAU+gK,YAAY,mBAAmBlzH,KAAK,aAAa9tC,GAAG6rC,IAAI,CAAC,SAASsC,GAAGnuC,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAO2oC,GAAGqF,GAAG,CAAC,SAASD,GAAG/tC,EAAEC,GAAG,GAAG,UAAUD,EAAE,OAAO2oC,GAAG1oC,EAAE,CAAC,SAASmtC,GAAGptC,EAAEC,GAAG,GAAG,UAAUD,GAAG,WAAWA,EAAE,OAAO2oC,GAAG1oC,EAAE,CAAiE,IAAI4uC,GAAG,oBAAoBtxD,OAAOqxF,GAAGrxF,OAAOqxF,GAA5G,SAAY5uE,EAAEC,GAAG,OAAOD,IAAIC,IAAI,IAAID,GAAG,EAAEA,IAAI,EAAEC,IAAID,IAAIA,GAAGC,IAAIA,CAAC,EACtW,SAASuvC,GAAGxvC,EAAEC,GAAG,GAAG4uC,GAAG7uC,EAAEC,GAAG,OAAM,EAAG,GAAG,kBAAkBD,GAAG,OAAOA,GAAG,kBAAkBC,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAIrhB,EAAErB,OAAOwM,KAAKiW,GAAGI,EAAE7iB,OAAOwM,KAAKkW,GAAG,GAAGrhB,EAAExB,SAASgjB,EAAEhjB,OAAO,OAAM,EAAG,IAAIgjB,EAAE,EAAEA,EAAExhB,EAAExB,OAAOgjB,IAAI,CAAC,IAAIiH,EAAEzoB,EAAEwhB,GAAG,IAAIojE,EAAG/lF,KAAKwiB,EAAEoH,KAAKwnC,GAAG7uC,EAAEqH,GAAGpH,EAAEoH,IAAI,OAAM,CAAE,CAAC,OAAM,CAAE,CAAC,SAAS2+D,GAAGhmE,GAAG,KAAKA,GAAGA,EAAEsuD,YAAYtuD,EAAEA,EAAEsuD,WAAW,OAAOtuD,CAAC,CACtU,SAASmwC,GAAGnwC,EAAEC,GAAG,IAAwBG,EAApBxhB,EAAEonF,GAAGhmE,GAAO,IAAJA,EAAE,EAAYphB,GAAG,CAAC,GAAG,IAAIA,EAAE0hE,SAAS,CAA0B,GAAzBlgD,EAAEJ,EAAEphB,EAAE63B,YAAYr5B,OAAU4iB,GAAGC,GAAGG,GAAGH,EAAE,MAAM,CAACsnH,KAAK3oI,EAAE2sD,OAAOtrC,EAAED,GAAGA,EAAEI,CAAC,CAACJ,EAAE,CAAC,KAAKphB,GAAG,CAAC,GAAGA,EAAE2vE,YAAY,CAAC3vE,EAAEA,EAAE2vE,YAAY,MAAMvuD,CAAC,CAACphB,EAAEA,EAAEyqE,UAAU,CAACzqE,OAAE,CAAM,CAACA,EAAEonF,GAAGpnF,EAAE,CAAC,CAAC,SAASqtD,GAAGjsC,EAAEC,GAAG,SAAOD,IAAGC,KAAED,IAAIC,KAAKD,GAAG,IAAIA,EAAEsgD,YAAYrgD,GAAG,IAAIA,EAAEqgD,SAASrU,GAAGjsC,EAAEC,EAAEopD,YAAY,aAAarpD,EAAEA,EAAEovD,SAASnvD,KAAGD,EAAEihK,4BAAwD,GAA7BjhK,EAAEihK,wBAAwBhhK,KAAY,CAC9Z,SAASstC,KAAK,IAAI,IAAIvtC,EAAEoC,OAAOnC,EAAE62D,IAAK72D,aAAaD,EAAEkhK,mBAAmB,CAAC,IAAI,IAAItiL,EAAE,kBAAkBqhB,EAAE6vC,cAActnC,SAASF,IAAI,CAAC,MAAMlI,GAAGxhB,GAAE,CAAE,CAAC,IAAGA,EAAyB,MAAMqhB,EAAE62D,GAA/B92D,EAAEC,EAAE6vC,eAAgCztC,SAAS,CAAC,OAAOpC,CAAC,CAAC,SAAS+rC,GAAGhsC,GAAG,IAAIC,EAAED,GAAGA,EAAEugD,UAAUvgD,EAAEugD,SAAStgE,cAAc,OAAOggB,IAAI,UAAUA,IAAI,SAASD,EAAEjgB,MAAM,WAAWigB,EAAEjgB,MAAM,QAAQigB,EAAEjgB,MAAM,QAAQigB,EAAEjgB,MAAM,aAAaigB,EAAEjgB,OAAO,aAAakgB,GAAG,SAASD,EAAEmhK,gBAAgB,CACxa,SAAS3zH,GAAGxtC,GAAG,IAAIC,EAAEstC,KAAK3uD,EAAEohB,EAAEohK,YAAYhhK,EAAEJ,EAAEqhK,eAAe,GAAGphK,IAAIrhB,GAAGA,GAAGA,EAAEq3K,eAAehqH,GAAGrtD,EAAEq3K,cAAcpmH,gBAAgBjxD,GAAG,CAAC,GAAG,OAAOwhB,GAAG4rC,GAAGptD,GAAG,GAAGqhB,EAAEG,EAAE1Q,WAAc,KAARsQ,EAAEI,EAAE9a,OAAiB0a,EAAEC,GAAG,mBAAmBrhB,EAAEA,EAAE0iL,eAAerhK,EAAErhB,EAAE2iL,aAAa1gL,KAAKjB,IAAIogB,EAAEphB,EAAE4G,MAAMpI,aAAa,IAAG4iB,GAAGC,EAAErhB,EAAEq3K,eAAe5zJ,WAAWpC,EAAEuhK,aAAap/J,QAASq/J,aAAa,CAACzhK,EAAEA,EAAEyhK,eAAe,IAAIp6J,EAAEzoB,EAAE63B,YAAYr5B,OAAOsqB,EAAE7mB,KAAKjB,IAAIwgB,EAAE1Q,MAAM2X,GAAGjH,OAAE,IAASA,EAAE9a,IAAIoiB,EAAE7mB,KAAKjB,IAAIwgB,EAAE9a,IAAI+hB,IAAIrH,EAAE0hK,QAAQh6J,EAAEtH,IAAIiH,EAAEjH,EAAEA,EAAEsH,EAAEA,EAAEL,GAAGA,EAAE8oC,GAAGvxD,EAAE8oB,GAAG,IAAI9Z,EAAEuiD,GAAGvxD,EACvfwhB,GAAGiH,GAAGzZ,IAAI,IAAIoS,EAAE2hK,YAAY3hK,EAAE4hK,aAAav6J,EAAEkgH,MAAMvnH,EAAE6hK,eAAex6J,EAAEkkC,QAAQvrC,EAAE8hK,YAAYl0K,EAAE25H,MAAMvnH,EAAE+hK,cAAcn0K,EAAE29C,WAAUtrC,EAAEA,EAAE+hK,eAAgBC,SAAS56J,EAAEkgH,KAAKlgH,EAAEkkC,QAAQvrC,EAAEkiK,kBAAkBx6J,EAAEtH,GAAGJ,EAAEmiK,SAASliK,GAAGD,EAAE0hK,OAAO9zK,EAAE25H,KAAK35H,EAAE29C,UAAUtrC,EAAEmiK,OAAOx0K,EAAE25H,KAAK35H,EAAE29C,QAAQvrC,EAAEmiK,SAASliK,IAAI,CAAM,IAALA,EAAE,GAAOD,EAAEphB,EAAEohB,EAAEA,EAAEqpD,YAAY,IAAIrpD,EAAEsgD,UAAUrgD,EAAEhe,KAAK,CAACmuB,QAAQpQ,EAAE+O,KAAK/O,EAAE2uD,WAAW//C,IAAI5O,EAAE0uD,YAAmD,IAAvC,oBAAoB9vE,EAAEyjL,OAAOzjL,EAAEyjL,QAAYzjL,EAAE,EAAEA,EAAEqhB,EAAE7iB,OAAOwB,KAAIohB,EAAEC,EAAErhB,IAAKwxB,QAAQu+C,WAAW3uD,EAAE+O,KAAK/O,EAAEoQ,QAAQs+C,UAAU1uD,EAAE4O,GAAG,CAAC,CACzf,IAAI69B,GAAG4zB,GAAI,iBAAiBh+D,UAAU,IAAIA,SAASo+J,aAAa/tH,GAAG,KAAKrE,GAAG,KAAKU,GAAG,KAAK/oC,IAAG,EAC3F,SAASyoC,GAAGzuC,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAExhB,EAAEwjB,SAASxjB,EAAEA,EAAEyjB,SAAS,IAAIzjB,EAAE0hE,SAAS1hE,EAAEA,EAAEq3K,cAAcjwJ,IAAI,MAAM0sC,IAAIA,KAAKokB,EAAG12D,KAAU,mBAALA,EAAEsyC,KAAyB1G,GAAG5rC,GAAGA,EAAE,CAAC1Q,MAAM0Q,EAAEkhK,eAAeh8K,IAAI8a,EAAEmhK,cAAuFnhK,EAAE,CAACwhK,YAA3ExhK,GAAGA,EAAE61J,eAAe71J,EAAE61J,cAAcuL,aAAap/J,QAAQq/J,gBAA+BG,WAAWC,aAAazhK,EAAEyhK,aAAaC,UAAU1hK,EAAE0hK,UAAUC,YAAY3hK,EAAE2hK,aAAchzH,IAAIS,GAAGT,GAAG3uC,KAAK2uC,GAAG3uC,EAAsB,GAApBA,EAAE0qC,GAAGuD,GAAG,aAAgBjxD,SAAS6iB,EAAE,IAAI0wB,GAAG,WAAW,SAAS,KAAK1wB,EAAErhB,GAAGohB,EAAE/d,KAAK,CAACu0G,MAAMv2F,EAAE6nF,UAAU1nF,IAAIH,EAAEjD,OAAO01C,KAAK,CACtf,SAASvD,GAAGnvC,EAAEC,GAAG,IAAIrhB,EAAE,CAAC,EAAiF,OAA/EA,EAAEohB,EAAE/f,eAAeggB,EAAEhgB,cAAcrB,EAAE,SAASohB,GAAG,SAASC,EAAErhB,EAAE,MAAMohB,GAAG,MAAMC,EAASrhB,CAAC,CAAC,IAAIqwD,GAAG,CAACqzH,aAAanzH,GAAG,YAAY,gBAAgBozH,mBAAmBpzH,GAAG,YAAY,sBAAsBqzH,eAAerzH,GAAG,YAAY,kBAAkBszH,cAActzH,GAAG,aAAa,kBAAkBc,GAAG,CAAC,EAAE/O,GAAG,CAAC,EACpF,SAASmP,GAAGrwC,GAAG,GAAGiwC,GAAGjwC,GAAG,OAAOiwC,GAAGjwC,GAAG,IAAIivC,GAAGjvC,GAAG,OAAOA,EAAE,IAAYphB,EAARqhB,EAAEgvC,GAAGjvC,GAAK,IAAIphB,KAAKqhB,EAAE,GAAGA,EAAEtD,eAAe/d,IAAIA,KAAKsiD,GAAG,OAAO+O,GAAGjwC,GAAGC,EAAErhB,GAAG,OAAOohB,CAAC,CAA/XqgE,IAAKn/B,GAAG7+B,SAAS8F,cAAc,OAAO2J,MAAM,mBAAmB1P,gBAAgB6sC,GAAGqzH,aAAajwG,iBAAiBpjB,GAAGszH,mBAAmBlwG,iBAAiBpjB,GAAGuzH,eAAenwG,WAAW,oBAAoBjwD,eAAe6sC,GAAGwzH,cAAc/G,YAAwJ,IAAIppH,GAAGjC,GAAG,gBAAgBk9B,GAAGl9B,GAAG,sBAAsBqyH,GAAGryH,GAAG,kBAAkBh4C,GAAGg4C,GAAG,iBAAiB3jB,GAAG,IAAIxJ,IAAIkqG,GAAG,smBAAsmB3iI,MAAM,KAC/lC,SAASk4K,GAAG3iK,EAAEC,GAAGysB,GAAGvuB,IAAI6B,EAAEC,GAAG83D,EAAG93D,EAAE,CAACD,GAAG,CAAC,IAAI,IAAI+7H,GAAG,EAAEA,GAAG3O,GAAGhwI,OAAO2+I,KAAK,CAAC,IAAI6mC,GAAGx1C,GAAG2O,IAA2D4mC,GAApDC,GAAG3iL,cAAuD,MAAtC2iL,GAAG,GAAGvmL,cAAcumL,GAAG9lL,MAAM,IAAiB,CAAC6lL,GAAGrwH,GAAG,kBAAkBqwH,GAAGp1F,GAAG,wBAAwBo1F,GAAGD,GAAG,oBAAoBC,GAAG,WAAW,iBAAiBA,GAAG,UAAU,WAAWA,GAAG,WAAW,UAAUA,GAAGtqK,GAAG,mBAAmBosE,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,iBAAiB,CAAC,aAAa,gBAC7cA,EAAG,iBAAiB,CAAC,aAAa,gBAAgB1M,EAAG,WAAW,oEAAoEttE,MAAM,MAAMstE,EAAG,WAAW,uFAAuFttE,MAAM,MAAMstE,EAAG,gBAAgB,CAAC,iBAAiB,WAAW,YAAY,UAAUA,EAAG,mBAAmB,2DAA2DttE,MAAM,MAAMstE,EAAG,qBAAqB,6DAA6DttE,MAAM,MAC/fstE,EAAG,sBAAsB,8DAA8DttE,MAAM,MAAM,IAAIgiC,GAAG,6NAA6NhiC,MAAM,KAAKo4K,GAAG,IAAIxO,IAAI,0CAA0C5pK,MAAM,KAAKd,OAAO8iC,KACzZ,SAASq2I,GAAG9iK,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEJ,EAAEjgB,MAAM,gBAAgBigB,EAAE+7J,cAAcn9K,EAlDjE,SAAYohB,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,EAAE9Z,EAAEoa,EAAEpqB,GAA4B,GAAzBioB,GAAG/gB,MAAMrI,KAAKU,WAAcqjF,GAAG,CAAC,IAAGA,GAAgC,MAAM5jF,MAAMke,EAAE,MAA1C,IAAIO,EAAE6hE,GAAGsD,IAAG,EAAGtD,GAAG,KAA8BtH,KAAKA,IAAG,EAAG8I,GAAGrjE,EAAE,CAAC,CAkDpE4mE,CAAG7hE,EAAEH,OAAE,EAAOD,GAAGA,EAAE+7J,cAAc,IAAI,CACxG,SAAS/wH,GAAGhrC,EAAEC,GAAGA,EAAE,KAAO,EAAFA,GAAK,IAAI,IAAIrhB,EAAE,EAAEA,EAAEohB,EAAE5iB,OAAOwB,IAAI,CAAC,IAAIwhB,EAAEJ,EAAEphB,GAAGyoB,EAAEjH,EAAEo2F,MAAMp2F,EAAEA,EAAE0nF,UAAU9nF,EAAE,CAAC,IAAI0H,OAAE,EAAO,GAAGzH,EAAE,IAAI,IAAIrS,EAAEwS,EAAEhjB,OAAO,EAAE,GAAGwQ,EAAEA,IAAI,CAAC,IAAIoa,EAAE5H,EAAExS,GAAGhQ,EAAEoqB,EAAE4kC,SAASvxC,EAAE2M,EAAE+zJ,cAA2B,GAAb/zJ,EAAEA,EAAE+/E,SAAYnqG,IAAI8pB,GAAGL,EAAE80J,uBAAuB,MAAMn8J,EAAE8iK,GAAGz7J,EAAEW,EAAE3M,GAAGqM,EAAE9pB,CAAC,MAAM,IAAIgQ,EAAE,EAAEA,EAAEwS,EAAEhjB,OAAOwQ,IAAI,CAAoD,GAA5ChQ,GAAPoqB,EAAE5H,EAAExS,IAAOg/C,SAASvxC,EAAE2M,EAAE+zJ,cAAc/zJ,EAAEA,EAAE+/E,SAAYnqG,IAAI8pB,GAAGL,EAAE80J,uBAAuB,MAAMn8J,EAAE8iK,GAAGz7J,EAAEW,EAAE3M,GAAGqM,EAAE9pB,CAAC,CAAC,CAAC,CAAC,GAAGg4E,GAAG,MAAM51D,EAAE0+D,GAAG9I,IAAG,EAAG8I,GAAG,KAAK1+D,CAAE,CAC5a,SAASmgC,GAAEngC,EAAEC,GAAG,IAAIrhB,EAAEqhB,EAAEk8H,SAAI,IAASv9I,IAAIA,EAAEqhB,EAAEk8H,IAAI,IAAIk4B,KAAK,IAAIj0J,EAAEJ,EAAE,WAAWphB,EAAE0kC,IAAIljB,KAAK2iK,GAAG9iK,EAAED,EAAE,GAAE,GAAIphB,EAAE8rC,IAAItqB,GAAG,CAAC,SAAS4iK,GAAGhjK,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAE,EAAEH,IAAIG,GAAG,GAAG2iK,GAAGnkL,EAAEohB,EAAEI,EAAEH,EAAE,CAAC,IAAIgjK,GAAG,kBAAkBpiL,KAAK3D,SAASM,SAAS,IAAIV,MAAM,GAAG,SAASu8B,GAAGrZ,GAAG,IAAIA,EAAEijK,IAAI,CAACjjK,EAAEijK,KAAI,EAAGvqG,EAAG1uE,SAAQ,SAASiW,GAAG,oBAAoBA,IAAI4iK,GAAGv/I,IAAIrjB,IAAI+iK,GAAG/iK,GAAE,EAAGD,GAAGgjK,GAAG/iK,GAAE,EAAGD,GAAG,IAAG,IAAIC,EAAE,IAAID,EAAEsgD,SAAStgD,EAAEA,EAAEi2J,cAAc,OAAOh2J,GAAGA,EAAEgjK,MAAMhjK,EAAEgjK,KAAI,EAAGD,GAAG,mBAAkB,EAAG/iK,GAAG,CAAC,CACjb,SAAS8iK,GAAG/iK,EAAEC,EAAErhB,EAAEwhB,GAAG,OAAO62D,GAAGh3D,IAAI,KAAK,EAAE,IAAIoH,EAAEk6D,GAAG,MAAM,KAAK,EAAEl6D,EAAEs8D,GAAG,MAAM,QAAQt8D,EAAE0f,GAAGnoC,EAAEyoB,EAAEgzB,KAAK,KAAKp6B,EAAErhB,EAAEohB,GAAGqH,OAAE,GAAQ63D,IAAI,eAAej/D,GAAG,cAAcA,GAAG,UAAUA,IAAIoH,GAAE,GAAIjH,OAAE,IAASiH,EAAErH,EAAEyuD,iBAAiBxuD,EAAErhB,EAAE,CAACskL,SAAQ,EAAGC,QAAQ97J,IAAIrH,EAAEyuD,iBAAiBxuD,EAAErhB,GAAE,QAAI,IAASyoB,EAAErH,EAAEyuD,iBAAiBxuD,EAAErhB,EAAE,CAACukL,QAAQ97J,IAAIrH,EAAEyuD,iBAAiBxuD,EAAErhB,GAAE,EAAG,CAClV,SAASo4E,GAAGh3D,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,IAAIK,EAAEtH,EAAE,GAAG,KAAO,EAAFH,IAAM,KAAO,EAAFA,IAAM,OAAOG,EAAEJ,EAAE,OAAO,CAAC,GAAG,OAAOI,EAAE,OAAO,IAAIxS,EAAEwS,EAAEy4E,IAAI,GAAG,IAAIjrF,GAAG,IAAIA,EAAE,CAAC,IAAIoa,EAAE5H,EAAEk5J,UAAUkC,cAAc,GAAGxzJ,IAAIX,GAAG,IAAIW,EAAEs4C,UAAUt4C,EAAEqhD,aAAahiD,EAAE,MAAM,GAAG,IAAIzZ,EAAE,IAAIA,EAAEwS,EAAEo5J,OAAO,OAAO5rK,GAAG,CAAC,IAAIhQ,EAAEgQ,EAAEirF,IAAI,IAAG,IAAIj7F,GAAG,IAAIA,MAAKA,EAAEgQ,EAAE0rK,UAAUkC,iBAAkBn0J,GAAG,IAAIzpB,EAAE0iE,UAAU1iE,EAAEyrE,aAAahiD,GAAE,OAAOzZ,EAAEA,EAAE4rK,MAAM,CAAC,KAAK,OAAOxxJ,GAAG,CAAS,GAAG,QAAXpa,EAAEyxE,GAAGr3D,IAAe,OAAe,GAAG,KAAXpqB,EAAEgQ,EAAEirF,MAAc,IAAIj7F,EAAE,CAACwiB,EAAEsH,EAAE9Z,EAAE,SAASoS,CAAC,CAACgI,EAAEA,EAAEqhD,UAAU,CAAC,CAACjpD,EAAEA,EAAEo5J,MAAM,CAACv/F,IAAG,WAAW,IAAI75D,EAAEsH,EAAEL,EAAEo2D,GAAG7+E,GAAGgP,EAAE,GACpfoS,EAAE,CAAC,IAAIgI,EAAE0kB,GAAG1sC,IAAIggB,GAAG,QAAG,IAASgI,EAAE,CAAC,IAAIpqB,EAAE+yC,GAAGvuC,EAAE4d,EAAE,OAAOA,GAAG,IAAK,WAAW,GAAG,IAAI2/D,GAAG/gF,GAAG,MAAMohB,EAAE,IAAK,UAAU,IAAK,QAAQpiB,EAAEo6E,GAAG,MAAM,IAAK,UAAU51E,EAAE,QAAQxE,EAAE+5E,GAAG,MAAM,IAAK,WAAWv1E,EAAE,OAAOxE,EAAE+5E,GAAG,MAAM,IAAK,aAAa,IAAK,YAAY/5E,EAAE+5E,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAI/4E,EAAE2+K,OAAO,MAAMv9J,EAAE,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAcpiB,EAAE0kF,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAO1kF,EAC1iBijF,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAajjF,EAAEwnF,GAAG,MAAM,KAAK9yB,GAAG,KAAKi7B,GAAG,KAAKm1F,GAAG9kL,EAAEglF,GAAG,MAAM,KAAKvqE,GAAGza,EAAEkiL,GAAG,MAAM,IAAK,SAASliL,EAAE8hF,GAAG,MAAM,IAAK,QAAQ9hF,EAAE2iL,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQ3iL,EAAEw4E,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAYx4E,EAAEmoB,GAAG,IAAI7F,EAAE,KAAO,EAAFD,GAAKkhC,GAAGjhC,GAAG,WAAWF,EAAE7V,EAAE+V,EAAE,OAAO8H,EAAEA,EAAE,UAAU,KAAKA,EAAE9H,EAAE,GAAG,IAAI,IAAQvC,EAAJyuB,EAAEhsB,EAAI,OAC/egsB,GAAG,CAAK,IAAIgP,GAARz9B,EAAEyuB,GAAUktI,UAAsF,GAA5E,IAAI37J,EAAEk7E,KAAK,OAAOz9C,IAAIz9B,EAAEy9B,EAAE,OAAOjxC,IAAc,OAAVixC,EAAEo+B,GAAGptC,EAAEjiC,KAAY+V,EAAEje,KAAKmhL,GAAGh3I,EAAEgP,EAAEz9B,MAASwjC,EAAE,MAAM/U,EAAEA,EAAEotI,MAAM,CAAC,EAAEt5J,EAAE9iB,SAAS4qB,EAAE,IAAIpqB,EAAEoqB,EAAE5lB,EAAE,KAAKxD,EAAEyoB,GAAGzZ,EAAE3L,KAAK,CAACu0G,MAAMxuF,EAAE8/E,UAAU5nF,IAAI,CAAC,CAAC,GAAG,KAAO,EAAFD,GAAK,CAA4E,GAAnCriB,EAAE,aAAaoiB,GAAG,eAAeA,KAAtEgI,EAAE,cAAchI,GAAG,gBAAgBA,IAA2CphB,IAAI4gF,MAAKp9E,EAAExD,EAAE6+K,eAAe7+K,EAAE8+K,eAAer+F,GAAGj9E,KAAIA,EAAEihL,OAAgBzlL,GAAGoqB,KAAGA,EAAEX,EAAEjF,SAASiF,EAAEA,GAAGW,EAAEX,EAAE4uJ,eAAejuJ,EAAEw5J,aAAax5J,EAAEs7J,aAAalhK,OAAUxkB,GAAqCA,EAAEwiB,EAAiB,QAAfhe,GAAnCA,EAAExD,EAAE6+K,eAAe7+K,EAAE++K,WAAkBt+F,GAAGj9E,GAAG,QAC9dA,KAAR++C,EAAEsiC,GAAGrhF,KAAU,IAAIA,EAAEy2F,KAAK,IAAIz2F,EAAEy2F,OAAKz2F,EAAE,QAAUxE,EAAE,KAAKwE,EAAEge,GAAKxiB,IAAIwE,GAAE,CAAgU,GAA/T8d,EAAEoiE,GAAGlnC,EAAE,eAAejxC,EAAE,eAAeiiC,EAAE,QAAW,eAAepsB,GAAG,gBAAgBA,IAAEE,EAAE6F,GAAGq1B,EAAE,iBAAiBjxC,EAAE,iBAAiBiiC,EAAE,WAAU+U,EAAE,MAAMvjD,EAAEoqB,EAAEojC,GAAGxtD,GAAG+f,EAAE,MAAMvb,EAAE4lB,EAAEojC,GAAGhpD,IAAG4lB,EAAE,IAAI9H,EAAEk7B,EAAEhP,EAAE,QAAQxuC,EAAEgB,EAAEyoB,IAAKrK,OAAOmkC,EAAEn5B,EAAEy1J,cAAc9/J,EAAEy9B,EAAE,KAAKikC,GAAGh4D,KAAKjH,KAAIF,EAAE,IAAIA,EAAE/V,EAAEiiC,EAAE,QAAQhqC,EAAExD,EAAEyoB,IAAKrK,OAAOW,EAAEuC,EAAEu9J,cAAct8H,EAAE/F,EAAEl7B,GAAGihC,EAAE/F,EAAKx9C,GAAGwE,EAAE6d,EAAE,CAAa,IAAR9V,EAAE/H,EAAEgqC,EAAE,EAAMzuB,EAAhBuC,EAAEtiB,EAAkB+f,EAAEA,EAAE4lK,GAAG5lK,GAAGyuB,IAAQ,IAAJzuB,EAAE,EAAMy9B,EAAEjxC,EAAEixC,EAAEA,EAAEmoI,GAAGnoI,GAAGz9B,IAAI,KAAK,EAAEyuB,EAAEzuB,GAAGuC,EAAEqjK,GAAGrjK,GAAGksB,IAAI,KAAK,EAAEzuB,EAAEyuB,GAAGjiC,EACpfo5K,GAAGp5K,GAAGwT,IAAI,KAAKyuB,KAAK,CAAC,GAAGlsB,IAAI/V,GAAG,OAAOA,GAAG+V,IAAI/V,EAAEovK,UAAU,MAAMt5J,EAAEC,EAAEqjK,GAAGrjK,GAAG/V,EAAEo5K,GAAGp5K,EAAE,CAAC+V,EAAE,IAAI,MAAMA,EAAE,KAAK,OAAOtiB,GAAG4lL,GAAG51K,EAAEoa,EAAEpqB,EAAEsiB,GAAE,GAAI,OAAO9d,GAAG,OAAO++C,GAAGqiI,GAAG51K,EAAEuzC,EAAE/+C,EAAE8d,GAAE,EAAG,CAA8D,GAAG,YAA1CtiB,GAAjBoqB,EAAE5H,EAAEgrC,GAAGhrC,GAAGgC,QAAWm+C,UAAUv4C,EAAEu4C,SAAStgE,gBAA+B,UAAUrC,GAAG,SAASoqB,EAAEjoB,KAAK,IAAIsnF,EAAGn7B,QAAQ,GAAGG,GAAGrkC,GAAG,GAAG+jC,GAAGs7B,EAAGj6B,OAAO,CAACi6B,EAAGl5B,GAAG,IAAIm5B,EAAGz6B,EAAE,MAAMjvD,EAAEoqB,EAAEu4C,WAAW,UAAU3iE,EAAEqC,gBAAgB,aAAa+nB,EAAEjoB,MAAM,UAAUioB,EAAEjoB,QAAQsnF,EAAGt5B,IACrV,OAD4Vs5B,IAAKA,EAAGA,EAAGrnE,EAAEI,IAAKgpC,GAAGx7C,EAAEy5E,EAAGzoF,EAAEyoB,IAAWigE,GAAIA,EAAGtnE,EAAEgI,EAAE5H,GAAG,aAAaJ,IAAIsnE,EAAGt/D,EAAE4tJ,gBAClftuF,EAAGyuF,YAAY,WAAW/tJ,EAAEjoB,MAAMohF,GAAGn5D,EAAE,SAASA,EAAExiB,QAAO8hF,EAAGlnE,EAAEgrC,GAAGhrC,GAAGgC,OAAcpC,GAAG,IAAK,WAAaqsC,GAAGi7B,IAAK,SAASA,EAAG65F,mBAAgBzuH,GAAG40B,EAAGj5B,GAAGjuC,EAAE2uC,GAAG,MAAK,MAAM,IAAK,WAAWA,GAAGV,GAAGqE,GAAG,KAAK,MAAM,IAAK,YAAY1sC,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAUA,IAAG,EAAGyoC,GAAG7gD,EAAEhP,EAAEyoB,GAAG,MAAM,IAAK,kBAAkB,GAAGolC,GAAG,MAAM,IAAK,UAAU,IAAK,QAAQgC,GAAG7gD,EAAEhP,EAAEyoB,GAAG,IAAIsgE,EAAG,GAAG59B,GAAG9pC,EAAE,CAAC,OAAOD,GAAG,IAAK,mBAAmB,IAAI+4D,EAAG,qBAAqB,MAAM94D,EAAE,IAAK,iBAAiB84D,EAAG,mBACpe,MAAM94D,EAAE,IAAK,oBAAoB84D,EAAG,sBAAsB,MAAM94D,EAAE84D,OAAG,CAAM,MAAMzvB,GAAGsC,GAAG5rC,EAAEphB,KAAKm6E,EAAG,oBAAoB,YAAY/4D,GAAG,MAAMphB,EAAEg9K,UAAU7iG,EAAG,sBAAsBA,IAAKttB,IAAI,OAAO7sD,EAAE4S,SAAS83C,IAAI,uBAAuByvB,EAAG,qBAAqBA,GAAIzvB,KAAKq+B,EAAG7R,OAAY8J,GAAG,UAARwH,GAAG//D,GAAkB+/D,GAAG5hF,MAAM4hF,GAAG3wD,YAAY6yB,IAAG,IAAiB,GAAZg+B,EAAGx8B,GAAG1qC,EAAE24D,IAAS37E,SAAS27E,EAAG,IAAI6F,GAAG7F,EAAG/4D,EAAE,KAAKphB,EAAEyoB,GAAGzZ,EAAE3L,KAAK,CAACu0G,MAAMz9B,EAAG+uB,UAAUxgB,IAAKK,EAAG5O,EAAGj3E,KAAK6lF,EAAa,QAATA,EAAGr7B,GAAG1tD,MAAem6E,EAAGj3E,KAAK6lF,MAAUA,EAAGv7B,GA5BhM,SAAYpsC,EAAEC,GAAG,OAAOD,GAAG,IAAK,iBAAiB,OAAOssC,GAAGrsC,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAEk/J,MAAa,MAAK7zH,IAAG,EAAU1C,IAAG,IAAK,YAAY,OAAO5oC,EAAEC,EAAEne,QAAS8mD,IAAI0C,GAAG,KAAKtrC,EAAE,QAAQ,OAAO,KAAK,CA4BEqtC,CAAGrtC,EAAEphB,GA3Bzd,SAAYohB,EAAEC,GAAG,GAAGqpC,GAAG,MAAM,mBAAmBtpC,IAAI+pC,IAAI6B,GAAG5rC,EAAEC,IAAID,EAAE81D,KAAKnmC,GAAGiwC,GAAGwH,GAAG,KAAK99B,IAAG,EAAGtpC,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAgQ,QAAQ,OAAO,KAA3P,IAAK,WAAW,KAAKC,EAAEi9J,SAASj9J,EAAEm9J,QAAQn9J,EAAEo9J,UAAUp9J,EAAEi9J,SAASj9J,EAAEm9J,OAAO,CAAC,GAAGn9J,EAAEwjK,MAAM,EAAExjK,EAAEwjK,KAAKrmL,OAAO,OAAO6iB,EAAEwjK,KAAK,GAAGxjK,EAAEk/J,MAAM,OAAOn+J,OAAOC,aAAahB,EAAEk/J,MAAM,CAAC,OAAO,KAAK,IAAK,iBAAiB,OAAO1zH,IAAI,OAAOxrC,EAAEzO,OAAO,KAAKyO,EAAEne,KAAyB,CA2BqF8kF,CAAG5mE,EAAEphB,MACje,GADoewhB,EAAE0qC,GAAG1qC,EAAE,kBACvehjB,SAASiqB,EAAE,IAAIu3D,GAAG,gBAAgB,cAAc,KAAKhgF,EAAEyoB,GAAGzZ,EAAE3L,KAAK,CAACu0G,MAAMnvF,EAAEygF,UAAU1nF,IAAIiH,EAAEvlB,KAAK6lF,GAAG,CAAC38B,GAAGp9C,EAAEqS,EAAE,GAAE,CAAC,SAASmjK,GAAGpjK,EAAEC,EAAErhB,GAAG,MAAM,CAACguD,SAAS5sC,EAAE+nF,SAAS9nF,EAAE87J,cAAcn9K,EAAE,CAAC,SAASksD,GAAG9qC,EAAEC,GAAG,IAAI,IAAIrhB,EAAEqhB,EAAE,UAAUG,EAAE,GAAG,OAAOJ,GAAG,CAAC,IAAIqH,EAAErH,EAAE0H,EAAEL,EAAEiyJ,UAAU,IAAIjyJ,EAAEwxE,KAAK,OAAOnxE,IAAIL,EAAEK,EAAY,OAAVA,EAAE8xD,GAAGx5D,EAAEphB,KAAYwhB,EAAEorC,QAAQ43H,GAAGpjK,EAAE0H,EAAEL,IAAc,OAAVK,EAAE8xD,GAAGx5D,EAAEC,KAAYG,EAAEne,KAAKmhL,GAAGpjK,EAAE0H,EAAEL,KAAKrH,EAAEA,EAAEw5J,MAAM,CAAC,OAAOp5J,CAAC,CAAC,SAASmjK,GAAGvjK,GAAG,GAAG,OAAOA,EAAE,OAAO,KAAK,GAAGA,EAAEA,EAAEw5J,aAAax5J,GAAG,IAAIA,EAAE64E,KAAK,OAAO74E,GAAI,IAAI,CACnd,SAASwjK,GAAGxjK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,IAAI,IAAIK,EAAEzH,EAAE47J,WAAWjuK,EAAE,GAAG,OAAOhP,GAAGA,IAAIwhB,GAAG,CAAC,IAAI4H,EAAEppB,EAAEhB,EAAEoqB,EAAEuxJ,UAAUl+J,EAAE2M,EAAEsxJ,UAAU,GAAG,OAAO17K,GAAGA,IAAIwiB,EAAE,MAAM,IAAI4H,EAAE6wE,KAAK,OAAOx9E,IAAI2M,EAAE3M,EAAEgM,EAAa,OAAVzpB,EAAE47E,GAAG56E,EAAE8oB,KAAY9Z,EAAE49C,QAAQ43H,GAAGxkL,EAAEhB,EAAEoqB,IAAKX,GAAc,OAAVzpB,EAAE47E,GAAG56E,EAAE8oB,KAAY9Z,EAAE3L,KAAKmhL,GAAGxkL,EAAEhB,EAAEoqB,KAAMppB,EAAEA,EAAE46K,MAAM,CAAC,IAAI5rK,EAAExQ,QAAQ4iB,EAAE/d,KAAK,CAACu0G,MAAMv2F,EAAE6nF,UAAUl6F,GAAG,CAAC,IAAI81K,GAAG,SAASC,GAAG,iBAAiB,SAASC,GAAG5jK,GAAG,OAAO,kBAAkBA,EAAEA,EAAE,GAAGA,GAAG9W,QAAQw6K,GAAG,MAAMx6K,QAAQy6K,GAAG,GAAG,CAAC,SAASE,GAAG7jK,EAAEC,EAAErhB,GAAW,GAARqhB,EAAE2jK,GAAG3jK,GAAM2jK,GAAG5jK,KAAKC,GAAGrhB,EAAE,MAAMhC,MAAMke,EAAE,KAAM,CAAC,SAASgpK,KAAK,CAC9e,IAAIC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGjkK,EAAEC,GAAG,MAAM,aAAaD,GAAG,aAAaA,GAAG,kBAAkBC,EAAEsxD,UAAU,kBAAkBtxD,EAAEsxD,UAAU,kBAAkBtxD,EAAEm2J,yBAAyB,OAAOn2J,EAAEm2J,yBAAyB,MAAMn2J,EAAEm2J,wBAAwB8N,MAAM,CAC5P,IAAIxoH,GAAG,oBAAoBhzC,WAAWA,gBAAW,EAAOy7J,GAAG,oBAAoB/vG,aAAaA,kBAAa,EAAOgwG,GAAG,oBAAoBvsH,QAAQA,aAAQ,EAAOwsH,GAAG,oBAAoBtzI,eAAeA,eAAe,qBAAqBqzI,GAAG,SAASpkK,GAAG,OAAOokK,GAAG33G,QAAQ,MAAMG,KAAK5sD,GAAG0sD,MAAM43G,GAAG,EAAE5oH,GAAG,SAAS4oH,GAAGtkK,GAAG0I,YAAW,WAAW,MAAM1I,CAAE,GAAE,CACpV,SAASukK,GAAGvkK,EAAEC,GAAG,IAAIrhB,EAAEqhB,EAAEG,EAAE,EAAE,EAAE,CAAC,IAAIiH,EAAEzoB,EAAE2vE,YAA6B,GAAjBvuD,EAAEsvD,YAAY1wE,GAAMyoB,GAAG,IAAIA,EAAEi5C,SAAS,GAAY,QAAT1hE,EAAEyoB,EAAEvlB,MAAc,CAAC,GAAG,IAAIse,EAA0B,OAAvBJ,EAAEsvD,YAAYjoD,QAAGsxD,GAAG14D,GAAUG,GAAG,KAAK,MAAMxhB,GAAG,OAAOA,GAAG,OAAOA,GAAGwhB,IAAIxhB,EAAEyoB,CAAC,OAAOzoB,GAAG+5E,GAAG14D,EAAE,CAAC,SAASukK,GAAGxkK,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAEuuD,YAAY,CAAC,IAAItuD,EAAED,EAAEsgD,SAAS,GAAG,IAAIrgD,GAAG,IAAIA,EAAE,MAAM,GAAG,IAAIA,EAAE,CAAU,GAAG,OAAZA,EAAED,EAAEle,OAAiB,OAAOme,GAAG,OAAOA,EAAE,MAAM,GAAG,OAAOA,EAAE,OAAO,IAAI,CAAC,CAAC,OAAOD,CAAC,CACjY,SAASykK,GAAGzkK,GAAGA,EAAEA,EAAE0kK,gBAAgB,IAAI,IAAIzkK,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEsgD,SAAS,CAAC,IAAI1hE,EAAEohB,EAAEle,KAAK,GAAG,MAAMlD,GAAG,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAIqhB,EAAE,OAAOD,EAAEC,GAAG,KAAK,OAAOrhB,GAAGqhB,GAAG,CAACD,EAAEA,EAAE0kK,eAAe,CAAC,OAAO,IAAI,CAAC,IAAIC,GAAG9jL,KAAK3D,SAASM,SAAS,IAAIV,MAAM,GAAG8nL,GAAG,gBAAgBD,GAAGE,GAAG,gBAAgBF,GAAGtB,GAAG,oBAAoBsB,GAAGxoC,GAAG,iBAAiBwoC,GAAGG,GAAG,oBAAoBH,GAAGI,GAAG,kBAAkBJ,GAClX,SAAStlG,GAAGr/D,GAAG,IAAIC,EAAED,EAAE4kK,IAAI,GAAG3kK,EAAE,OAAOA,EAAE,IAAI,IAAIrhB,EAAEohB,EAAEqpD,WAAWzqE,GAAG,CAAC,GAAGqhB,EAAErhB,EAAEykL,KAAKzkL,EAAEgmL,IAAI,CAAe,GAAdhmL,EAAEqhB,EAAEs5J,UAAa,OAAOt5J,EAAE05J,OAAO,OAAO/6K,GAAG,OAAOA,EAAE+6K,MAAM,IAAI35J,EAAEykK,GAAGzkK,GAAG,OAAOA,GAAG,CAAC,GAAGphB,EAAEohB,EAAE4kK,IAAI,OAAOhmL,EAAEohB,EAAEykK,GAAGzkK,EAAE,CAAC,OAAOC,CAAC,CAAKrhB,GAAJohB,EAAEphB,GAAMyqE,UAAU,CAAC,OAAO,IAAI,CAAC,SAAS2V,GAAGh/D,GAAkB,QAAfA,EAAEA,EAAE4kK,KAAK5kK,EAAEqjK,MAAc,IAAIrjK,EAAE64E,KAAK,IAAI74E,EAAE64E,KAAK,KAAK74E,EAAE64E,KAAK,IAAI74E,EAAE64E,IAAI,KAAK74E,CAAC,CAAC,SAASorC,GAAGprC,GAAG,GAAG,IAAIA,EAAE64E,KAAK,IAAI74E,EAAE64E,IAAI,OAAO74E,EAAEs5J,UAAU,MAAM18K,MAAMke,EAAE,IAAK,CAAC,SAAS+8D,GAAG73D,GAAG,OAAOA,EAAE6kK,KAAK,IAAI,CAAC,IAAIG,GAAG,GAAG/+J,IAAI,EAAE,SAASg/J,GAAGjlK,GAAG,MAAM,CAACgX,QAAQhX,EAAE,CACve,SAASk8B,GAAEl8B,GAAG,EAAEiG,KAAKjG,EAAEgX,QAAQguJ,GAAG/+J,IAAI++J,GAAG/+J,IAAI,KAAKA,KAAK,CAAC,SAAS66B,GAAE9gC,EAAEC,GAAGgG,KAAK++J,GAAG/+J,IAAIjG,EAAEgX,QAAQhX,EAAEgX,QAAQ/W,CAAC,CAAC,IAAIilK,GAAG,CAAC,EAAExkI,GAAEukI,GAAGC,IAAIC,GAAGF,IAAG,GAAIG,GAAGF,GAAG,SAASG,GAAGrlK,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAEjgB,KAAKulL,aAAa,IAAI1mL,EAAE,OAAOsmL,GAAG,IAAI9kK,EAAEJ,EAAEs5J,UAAU,GAAGl5J,GAAGA,EAAEmlK,8CAA8CtlK,EAAE,OAAOG,EAAEolK,0CAA0C,IAAS99J,EAALL,EAAE,CAAC,EAAI,IAAIK,KAAK9oB,EAAEyoB,EAAEK,GAAGzH,EAAEyH,GAAoH,OAAjHtH,KAAIJ,EAAEA,EAAEs5J,WAAYiM,4CAA4CtlK,EAAED,EAAEwlK,0CAA0Cn+J,GAAUA,CAAC,CAC9d,SAASo+J,GAAGzlK,GAAyB,OAAO,QAA7BA,EAAEA,EAAE0lK,yBAAmC,IAAS1lK,CAAC,CAAC,SAAS2lK,KAAKzpI,GAAEipI,IAAIjpI,GAAEwE,GAAE,CAAC,SAASklI,GAAG5lK,EAAEC,EAAErhB,GAAG,GAAG8hD,GAAE1pB,UAAUkuJ,GAAG,MAAMtoL,MAAMke,EAAE,MAAMgmC,GAAEJ,GAAEzgC,GAAG6gC,GAAEqkI,GAAGvmL,EAAE,CAAC,SAAS+yB,GAAG3R,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEJ,EAAEs5J,UAAgC,GAAtBr5J,EAAEA,EAAEylK,kBAAqB,oBAAoBtlK,EAAEylK,gBAAgB,OAAOjnL,EAAwB,IAAI,IAAIyoB,KAA9BjH,EAAEA,EAAEylK,kBAAiC,KAAKx+J,KAAKpH,GAAG,MAAMrjB,MAAMke,EAAE,IAAI07D,EAAGx2D,IAAI,UAAUqH,IAAI,OAAOizB,EAAE,CAAC,EAAE17C,EAAEwhB,EAAE,CACxX,SAAS0lK,GAAG9lK,GAA2G,OAAxGA,GAAGA,EAAEA,EAAEs5J,YAAYt5J,EAAE+lK,2CAA2Cb,GAAGE,GAAG1kI,GAAE1pB,QAAQ8pB,GAAEJ,GAAE1gC,GAAG8gC,GAAEqkI,GAAGA,GAAGnuJ,UAAe,CAAE,CAAC,SAASgvJ,GAAGhmK,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEJ,EAAEs5J,UAAU,IAAIl5J,EAAE,MAAMxjB,MAAMke,EAAE,MAAMlc,GAAGohB,EAAE2R,GAAG3R,EAAEC,EAAEmlK,IAAIhlK,EAAE2lK,0CAA0C/lK,EAAEk8B,GAAEipI,IAAIjpI,GAAEwE,IAAGI,GAAEJ,GAAE1gC,IAAIk8B,GAAEipI,IAAIrkI,GAAEqkI,GAAGvmL,EAAE,CAAC,IAAIqnL,GAAG,KAAKC,IAAG,EAAGzuC,IAAG,EAAG,SAAS0uC,GAAGnmK,GAAG,OAAOimK,GAAGA,GAAG,CAACjmK,GAAGimK,GAAGhkL,KAAK+d,EAAE,CAChW,SAASomK,KAAK,IAAI3uC,IAAI,OAAOwuC,GAAG,CAACxuC,IAAG,EAAG,IAAIz3H,EAAE,EAAEC,EAAEkG,GAAE,IAAI,IAAIvnB,EAAEqnL,GAAG,IAAI9/J,GAAE,EAAEnG,EAAEphB,EAAExB,OAAO4iB,IAAI,CAAC,IAAII,EAAExhB,EAAEohB,GAAG,GAAGI,EAAEA,GAAE,SAAU,OAAOA,EAAE,CAAC6lK,GAAG,KAAKC,IAAG,CAAE,CAAC,MAAM7+J,GAAG,MAAM,OAAO4+J,KAAKA,GAAGA,GAAGnpL,MAAMkjB,EAAE,IAAIukE,GAAGlL,GAAG+sG,IAAI/+J,CAAE,CAAC,QAAQlB,GAAElG,EAAEw3H,IAAG,CAAE,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI4uC,GAAG,GAAGC,GAAG,EAAEC,GAAG,KAAKh3F,GAAG,EAAEi3F,GAAG,GAAG34K,GAAG,EAAE44K,GAAG,KAAKC,GAAG,EAAE12F,GAAG,GAAG,SAASymE,GAAGz2I,EAAEC,GAAGomK,GAAGC,MAAM/2F,GAAG82F,GAAGC,MAAMC,GAAGA,GAAGvmK,EAAEuvE,GAAGtvE,CAAC,CACjV,SAAS0mK,GAAG3mK,EAAEC,EAAErhB,GAAG4nL,GAAG34K,MAAM64K,GAAGF,GAAG34K,MAAMmiF,GAAGw2F,GAAG34K,MAAM44K,GAAGA,GAAGzmK,EAAE,IAAII,EAAEsmK,GAAG1mK,EAAEgwE,GAAG,IAAI3oE,EAAE,GAAG07D,GAAG3iE,GAAG,EAAEA,KAAK,GAAGiH,GAAGzoB,GAAG,EAAE,IAAI8oB,EAAE,GAAGq7D,GAAG9iE,GAAGoH,EAAE,GAAG,GAAGK,EAAE,CAAC,IAAI9Z,EAAEyZ,EAAEA,EAAE,EAAEK,GAAGtH,GAAG,GAAGxS,GAAG,GAAGpQ,SAAS,IAAI4iB,IAAIxS,EAAEyZ,GAAGzZ,EAAE84K,GAAG,GAAG,GAAG3jG,GAAG9iE,GAAGoH,EAAEzoB,GAAGyoB,EAAEjH,EAAE4vE,GAAGtoE,EAAE1H,CAAC,MAAM0mK,GAAG,GAAGh/J,EAAE9oB,GAAGyoB,EAAEjH,EAAE4vE,GAAGhwE,CAAC,CAAC,SAAS4mK,GAAG5mK,GAAG,OAAOA,EAAEw5J,SAAS/iB,GAAGz2I,EAAE,GAAG2mK,GAAG3mK,EAAE,EAAE,GAAG,CAAC,SAAS6mK,GAAG7mK,GAAG,KAAKA,IAAIumK,IAAIA,GAAGF,KAAKC,IAAID,GAAGC,IAAI,KAAK/2F,GAAG82F,KAAKC,IAAID,GAAGC,IAAI,KAAK,KAAKtmK,IAAIymK,IAAIA,GAAGD,KAAK34K,IAAI24K,GAAG34K,IAAI,KAAKmiF,GAAGw2F,KAAK34K,IAAI24K,GAAG34K,IAAI,KAAK64K,GAAGF,KAAK34K,IAAI24K,GAAG34K,IAAI,IAAI,CAAC,IAAIi5K,GAAG,KAAKC,GAAG,KAAKnsI,IAAE,EAAGosI,GAAG,KACje,SAASC,GAAGjnK,EAAEC,GAAG,IAAIrhB,EAAEsoL,GAAG,EAAE,KAAK,KAAK,GAAGtoL,EAAEuoL,YAAY,UAAUvoL,EAAE06K,UAAUr5J,EAAErhB,EAAE46K,OAAOx5J,EAAgB,QAAdC,EAAED,EAAEonK,YAAoBpnK,EAAEonK,UAAU,CAACxoL,GAAGohB,EAAE0wC,OAAO,IAAIzwC,EAAEhe,KAAKrD,EAAE,CACxJ,SAASyoL,GAAGrnK,EAAEC,GAAG,OAAOD,EAAE64E,KAAK,KAAK,EAAE,IAAIj6F,EAAEohB,EAAEjgB,KAAyE,OAAO,QAA3EkgB,EAAE,IAAIA,EAAEqgD,UAAU1hE,EAAEqB,gBAAgBggB,EAAEsgD,SAAStgE,cAAc,KAAKggB,KAAmBD,EAAEs5J,UAAUr5J,EAAE6mK,GAAG9mK,EAAE+mK,GAAGvC,GAAGvkK,EAAEquD,aAAY,GAAO,KAAK,EAAE,OAAoD,QAA7CruD,EAAE,KAAKD,EAAEsnK,cAAc,IAAIrnK,EAAEqgD,SAAS,KAAKrgD,KAAYD,EAAEs5J,UAAUr5J,EAAE6mK,GAAG9mK,EAAE+mK,GAAG,MAAK,GAAO,KAAK,GAAG,OAA+B,QAAxB9mK,EAAE,IAAIA,EAAEqgD,SAAS,KAAKrgD,KAAYrhB,EAAE,OAAO6nL,GAAG,CAAC/rJ,GAAGgsJ,GAAGl2J,SAASw/D,IAAI,KAAKhwE,EAAEy5J,cAAc,CAACC,WAAWz5J,EAAEsnK,YAAY3oL,EAAE4oL,UAAU,aAAY5oL,EAAEsoL,GAAG,GAAG,KAAK,KAAK,IAAK5N,UAAUr5J,EAAErhB,EAAE46K,OAAOx5J,EAAEA,EAAE25J,MAAM/6K,EAAEkoL,GAAG9mK,EAAE+mK,GAClf,MAAK,GAAO,QAAQ,OAAM,EAAG,CAAC,SAASU,GAAGznK,GAAG,OAAO,KAAY,EAAPA,EAAE9c,OAAS,KAAa,IAAR8c,EAAE0wC,MAAU,CAAC,SAASg3H,GAAG1nK,GAAG,GAAG46B,GAAE,CAAC,IAAI36B,EAAE8mK,GAAG,GAAG9mK,EAAE,CAAC,IAAIrhB,EAAEqhB,EAAE,IAAIonK,GAAGrnK,EAAEC,GAAG,CAAC,GAAGwnK,GAAGznK,GAAG,MAAMpjB,MAAMke,EAAE,MAAMmF,EAAEukK,GAAG5lL,EAAE2vE,aAAa,IAAInuD,EAAE0mK,GAAG7mK,GAAGonK,GAAGrnK,EAAEC,GAAGgnK,GAAG7mK,EAAExhB,IAAIohB,EAAE0wC,OAAe,KAAT1wC,EAAE0wC,MAAY,EAAE9V,IAAE,EAAGksI,GAAG9mK,EAAE,CAAC,KAAK,CAAC,GAAGynK,GAAGznK,GAAG,MAAMpjB,MAAMke,EAAE,MAAMkF,EAAE0wC,OAAe,KAAT1wC,EAAE0wC,MAAY,EAAE9V,IAAE,EAAGksI,GAAG9mK,CAAC,CAAC,CAAC,CAAC,SAAS2nK,GAAG3nK,GAAG,IAAIA,EAAEA,EAAEw5J,OAAO,OAAOx5J,GAAG,IAAIA,EAAE64E,KAAK,IAAI74E,EAAE64E,KAAK,KAAK74E,EAAE64E,KAAK74E,EAAEA,EAAEw5J,OAAOsN,GAAG9mK,CAAC,CACha,SAAS4nK,GAAG5nK,GAAG,GAAGA,IAAI8mK,GAAG,OAAM,EAAG,IAAIlsI,GAAE,OAAO+sI,GAAG3nK,GAAG46B,IAAE,GAAG,EAAG,IAAI36B,EAAkG,IAA/FA,EAAE,IAAID,EAAE64E,QAAQ54E,EAAE,IAAID,EAAE64E,OAAgB54E,EAAE,UAAXA,EAAED,EAAEjgB,OAAmB,SAASkgB,IAAIgkK,GAAGjkK,EAAEjgB,KAAKigB,EAAE6nK,gBAAmB5nK,IAAIA,EAAE8mK,IAAI,CAAC,GAAGU,GAAGznK,GAAG,MAAM8nK,KAAKlrL,MAAMke,EAAE,MAAM,KAAKmF,GAAGgnK,GAAGjnK,EAAEC,GAAGA,EAAEukK,GAAGvkK,EAAEsuD,YAAY,CAAO,GAANo5G,GAAG3nK,GAAM,KAAKA,EAAE64E,IAAI,CAAgD,KAA7B74E,EAAE,QAApBA,EAAEA,EAAEy5J,eAAyBz5J,EAAE05J,WAAW,MAAW,MAAM98K,MAAMke,EAAE,MAAMkF,EAAE,CAAiB,IAAhBA,EAAEA,EAAEuuD,YAAgBtuD,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEsgD,SAAS,CAAC,IAAI1hE,EAAEohB,EAAEle,KAAK,GAAG,OAAOlD,EAAE,CAAC,GAAG,IAAIqhB,EAAE,CAAC8mK,GAAGvC,GAAGxkK,EAAEuuD,aAAa,MAAMvuD,CAAC,CAACC,GAAG,KAAK,MAAMrhB,GAAG,OAAOA,GAAG,OAAOA,GAAGqhB,GAAG,CAACD,EAAEA,EAAEuuD,WAAW,CAACw4G,GACjgB,IAAI,CAAC,MAAMA,GAAGD,GAAGtC,GAAGxkK,EAAEs5J,UAAU/qG,aAAa,KAAK,OAAM,CAAE,CAAC,SAASu5G,KAAK,IAAI,IAAI9nK,EAAE+mK,GAAG/mK,GAAGA,EAAEwkK,GAAGxkK,EAAEuuD,YAAY,CAAC,SAASw5G,KAAKhB,GAAGD,GAAG,KAAKlsI,IAAE,CAAE,CAAC,SAASotI,GAAGhoK,GAAG,OAAOgnK,GAAGA,GAAG,CAAChnK,GAAGgnK,GAAG/kL,KAAK+d,EAAE,CAAC,IAAIioK,GAAGrrG,EAAG6+F,wBAChM,SAASyM,GAAGloK,EAAEC,EAAErhB,GAAW,GAAG,QAAXohB,EAAEphB,EAAE8oE,MAAiB,oBAAoB1nD,GAAG,kBAAkBA,EAAE,CAAC,GAAGphB,EAAEupL,OAAO,CAAY,GAAXvpL,EAAEA,EAAEupL,OAAY,CAAC,GAAG,IAAIvpL,EAAEi6F,IAAI,MAAMj8F,MAAMke,EAAE,MAAM,IAAIsF,EAAExhB,EAAE06K,SAAS,CAAC,IAAIl5J,EAAE,MAAMxjB,MAAMke,EAAE,IAAIkF,IAAI,IAAIqH,EAAEjH,EAAEsH,EAAE,GAAG1H,EAAE,OAAG,OAAOC,GAAG,OAAOA,EAAEynD,KAAK,oBAAoBznD,EAAEynD,KAAKznD,EAAEynD,IAAI0gH,aAAa1gK,EAASzH,EAAEynD,KAAIznD,EAAE,SAASD,GAAG,IAAIC,EAAEoH,EAAEghK,KAAK,OAAOroK,SAASC,EAAEyH,GAAGzH,EAAEyH,GAAG1H,CAAC,EAAEC,EAAEmoK,WAAW1gK,EAASzH,EAAC,CAAC,GAAG,kBAAkBD,EAAE,MAAMpjB,MAAMke,EAAE,MAAM,IAAIlc,EAAEupL,OAAO,MAAMvrL,MAAMke,EAAE,IAAIkF,GAAI,CAAC,OAAOA,CAAC,CAC/c,SAASsoK,GAAGtoK,EAAEC,GAAuC,MAApCD,EAAEziB,OAAOZ,UAAUa,SAASC,KAAKwiB,GAASrjB,MAAMke,EAAE,GAAG,oBAAoBkF,EAAE,qBAAqBziB,OAAOwM,KAAKkW,GAAGvd,KAAK,MAAM,IAAIsd,GAAI,CAAC,SAASuoK,GAAGvoK,GAAiB,OAAOC,EAAfD,EAAEq1J,OAAer1J,EAAEo1J,SAAS,CACrM,SAASoT,GAAGxoK,GAAG,SAASC,EAAEA,EAAErhB,GAAG,GAAGohB,EAAE,CAAC,IAAII,EAAEH,EAAEmnK,UAAU,OAAOhnK,GAAGH,EAAEmnK,UAAU,CAACxoL,GAAGqhB,EAAEywC,OAAO,IAAItwC,EAAEne,KAAKrD,EAAE,CAAC,CAAC,SAASA,EAAEA,EAAEwhB,GAAG,IAAIJ,EAAE,OAAO,KAAK,KAAK,OAAOI,GAAGH,EAAErhB,EAAEwhB,GAAGA,EAAEA,EAAEw5J,QAAQ,OAAO,IAAI,CAAC,SAASx5J,EAAEJ,EAAEC,GAAG,IAAID,EAAE,IAAIkjB,IAAI,OAAOjjB,GAAG,OAAOA,EAAEhW,IAAI+V,EAAE7B,IAAI8B,EAAEhW,IAAIgW,GAAGD,EAAE7B,IAAI8B,EAAE1a,MAAM0a,GAAGA,EAAEA,EAAE25J,QAAQ,OAAO55J,CAAC,CAAC,SAASqH,EAAErH,EAAEC,GAAsC,OAAnCD,EAAEyoK,GAAGzoK,EAAEC,IAAK1a,MAAM,EAAEya,EAAE45J,QAAQ,KAAY55J,CAAC,CAAC,SAAS0H,EAAEzH,EAAErhB,EAAEwhB,GAAa,OAAVH,EAAE1a,MAAM6a,EAAMJ,EAA6C,QAAjBI,EAAEH,EAAEs5J,YAA6Bn5J,EAAEA,EAAE7a,OAAQ3G,GAAGqhB,EAAEywC,OAAO,EAAE9xD,GAAGwhB,GAAEH,EAAEywC,OAAO,EAAS9xD,IAArGqhB,EAAEywC,OAAO,QAAQ9xD,EAAqF,CAAC,SAASgP,EAAEqS,GACzd,OAD4dD,GAC7f,OAAOC,EAAEs5J,YAAYt5J,EAAEywC,OAAO,GAAUzwC,CAAC,CAAC,SAAS+H,EAAEhI,EAAEC,EAAErhB,EAAEwhB,GAAG,OAAG,OAAOH,GAAG,IAAIA,EAAE44E,MAAW54E,EAAEyoK,GAAG9pL,EAAEohB,EAAE9c,KAAKkd,IAAKo5J,OAAOx5J,EAAEC,KAAEA,EAAEoH,EAAEpH,EAAErhB,IAAK46K,OAAOx5J,EAASC,EAAC,CAAC,SAASriB,EAAEoiB,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIsH,EAAE9oB,EAAEmB,KAAK,OAAG2nB,IAAIu5D,EAAU5+E,EAAE2d,EAAEC,EAAErhB,EAAEwlG,MAAM7yB,SAASnxD,EAAExhB,EAAEqL,KAAQ,OAAOgW,IAAIA,EAAEknK,cAAcz/J,GAAG,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEwtJ,WAAW7xF,GAAIklG,GAAG7gK,KAAKzH,EAAElgB,QAAaqgB,EAAEiH,EAAEpH,EAAErhB,EAAEwlG,QAAS18B,IAAIwgH,GAAGloK,EAAEC,EAAErhB,GAAGwhB,EAAEo5J,OAAOx5J,EAAEI,KAAEA,EAAEuoK,GAAG/pL,EAAEmB,KAAKnB,EAAEqL,IAAIrL,EAAEwlG,MAAM,KAAKpkF,EAAE9c,KAAKkd,IAAKsnD,IAAIwgH,GAAGloK,EAAEC,EAAErhB,GAAGwhB,EAAEo5J,OAAOx5J,EAASI,EAAC,CAAC,SAAS/E,EAAE2E,EAAEC,EAAErhB,EAAEwhB,GAAG,OAAG,OAAOH,GAAG,IAAIA,EAAE44E,KACjf54E,EAAEq5J,UAAUkC,gBAAgB58K,EAAE48K,eAAev7J,EAAEq5J,UAAUsP,iBAAiBhqL,EAAEgqL,iBAAsB3oK,EAAE4oK,GAAGjqL,EAAEohB,EAAE9c,KAAKkd,IAAKo5J,OAAOx5J,EAAEC,KAAEA,EAAEoH,EAAEpH,EAAErhB,EAAE2yE,UAAU,KAAMioG,OAAOx5J,EAASC,EAAC,CAAC,SAAS5d,EAAE2d,EAAEC,EAAErhB,EAAEwhB,EAAEsH,GAAG,OAAG,OAAOzH,GAAG,IAAIA,EAAE44E,MAAW54E,EAAE6oK,GAAGlqL,EAAEohB,EAAE9c,KAAKkd,EAAEsH,IAAK8xJ,OAAOx5J,EAAEC,KAAEA,EAAEoH,EAAEpH,EAAErhB,IAAK46K,OAAOx5J,EAASC,EAAC,CAAC,SAASF,EAAEC,EAAEC,EAAErhB,GAAG,GAAG,kBAAkBqhB,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAOA,EAAEyoK,GAAG,GAAGzoK,EAAED,EAAE9c,KAAKtE,IAAK46K,OAAOx5J,EAAEC,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEi1J,UAAU,KAAKl5F,EAAG,OAAOp9E,EAAE+pL,GAAG1oK,EAAElgB,KAAKkgB,EAAEhW,IAAIgW,EAAEmkF,MAAM,KAAKpkF,EAAE9c,KAAKtE,IACjf8oE,IAAIwgH,GAAGloK,EAAE,KAAKC,GAAGrhB,EAAE46K,OAAOx5J,EAAEphB,EAAE,KAAKoiF,EAAG,OAAO/gE,EAAE4oK,GAAG5oK,EAAED,EAAE9c,KAAKtE,IAAK46K,OAAOx5J,EAAEC,EAAE,KAAKojE,EAAiB,OAAOtjE,EAAEC,GAAEI,EAAnBH,EAAEo1J,OAAmBp1J,EAAEm1J,UAAUx2K,GAAG,GAAGioC,GAAG5mB,IAAIg2D,EAAGh2D,GAAG,OAAOA,EAAE6oK,GAAG7oK,EAAED,EAAE9c,KAAKtE,EAAE,OAAQ46K,OAAOx5J,EAAEC,EAAEqoK,GAAGtoK,EAAEC,EAAE,CAAC,OAAO,IAAI,CAAC,SAASnS,EAAEkS,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAE,OAAOpH,EAAEA,EAAEhW,IAAI,KAAK,GAAG,kBAAkBrL,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAO,OAAOyoB,EAAE,KAAKW,EAAEhI,EAAEC,EAAE,GAAGrhB,EAAEwhB,GAAG,GAAG,kBAAkBxhB,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEs2K,UAAU,KAAKl5F,EAAG,OAAOp9E,EAAEqL,MAAMod,EAAEzpB,EAAEoiB,EAAEC,EAAErhB,EAAEwhB,GAAG,KAAK,KAAK4gE,EAAG,OAAOpiF,EAAEqL,MAAMod,EAAEhM,EAAE2E,EAAEC,EAAErhB,EAAEwhB,GAAG,KAAK,KAAKijE,EAAG,OAAiBv1E,EAAEkS,EACpfC,GADweoH,EAAEzoB,EAAEy2K,OACxez2K,EAAEw2K,UAAUh1J,GAAG,GAAGymB,GAAGjoC,IAAIq3E,EAAGr3E,GAAG,OAAO,OAAOyoB,EAAE,KAAKhlB,EAAE2d,EAAEC,EAAErhB,EAAEwhB,EAAE,MAAMkoK,GAAGtoK,EAAEphB,EAAE,CAAC,OAAO,IAAI,CAAC,SAASwL,EAAE4V,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,GAAG,kBAAkBjH,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAwB4H,EAAE/H,EAAnBD,EAAEA,EAAEhgB,IAAIpB,IAAI,KAAW,GAAGwhB,EAAEiH,GAAG,GAAG,kBAAkBjH,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAE80J,UAAU,KAAKl5F,EAAG,OAA2Cp+E,EAAEqiB,EAAtCD,EAAEA,EAAEhgB,IAAI,OAAOogB,EAAEnW,IAAIrL,EAAEwhB,EAAEnW,MAAM,KAAWmW,EAAEiH,GAAG,KAAK25D,EAAG,OAA2C3lE,EAAE4E,EAAtCD,EAAEA,EAAEhgB,IAAI,OAAOogB,EAAEnW,IAAIrL,EAAEwhB,EAAEnW,MAAM,KAAWmW,EAAEiH,GAAG,KAAKg8D,EAAiB,OAAOj5E,EAAE4V,EAAEC,EAAErhB,GAAE8oB,EAAvBtH,EAAEi1J,OAAuBj1J,EAAEg1J,UAAU/tJ,GAAG,GAAGwf,GAAGzmB,IAAI61D,EAAG71D,GAAG,OAAwB/d,EAAE4d,EAAnBD,EAAEA,EAAEhgB,IAAIpB,IAAI,KAAWwhB,EAAEiH,EAAE,MAAMihK,GAAGroK,EAAEG,EAAE,CAAC,OAAO,IAAI,CAC9f,SAAShe,EAAEilB,EAAEzZ,EAAEoa,EAAEpqB,GAAG,IAAI,IAAIyd,EAAE,KAAKhZ,EAAE,KAAKsb,EAAE/P,EAAEw+B,EAAEx+B,EAAE,EAAEzD,EAAE,KAAK,OAAOwT,GAAGyuB,EAAEpkB,EAAE5qB,OAAOgvC,IAAI,CAACzuB,EAAEpY,MAAM6mC,GAAGjiC,EAAEwT,EAAEA,EAAE,MAAMxT,EAAEwT,EAAEi8J,QAAQ,IAAIx3K,EAAE0L,EAAEuZ,EAAE1J,EAAEqK,EAAEokB,GAAGxuC,GAAG,GAAG,OAAOwE,EAAE,CAAC,OAAOub,IAAIA,EAAExT,GAAG,KAAK,CAAC6V,GAAGrC,GAAG,OAAOvb,EAAEm3K,WAAWt5J,EAAEoH,EAAE1J,GAAG/P,EAAE8Z,EAAEtlB,EAAEwL,EAAEw+B,GAAG,OAAO/pC,EAAEgZ,EAAEjZ,EAAEC,EAAEu3K,QAAQx3K,EAAEC,EAAED,EAAEub,EAAExT,CAAC,CAAC,GAAGiiC,IAAIpkB,EAAE5qB,OAAO,OAAOwB,EAAEyoB,EAAE1J,GAAGi9B,IAAG67G,GAAGpvI,EAAE+kB,GAAG/wB,EAAE,GAAG,OAAOsC,EAAE,CAAC,KAAKyuB,EAAEpkB,EAAE5qB,OAAOgvC,IAAkB,QAAdzuB,EAAEoC,EAAEsH,EAAEW,EAAEokB,GAAGxuC,MAAcgQ,EAAE8Z,EAAE/J,EAAE/P,EAAEw+B,GAAG,OAAO/pC,EAAEgZ,EAAEsC,EAAEtb,EAAEu3K,QAAQj8J,EAAEtb,EAAEsb,GAAc,OAAXi9B,IAAG67G,GAAGpvI,EAAE+kB,GAAU/wB,CAAC,CAAC,IAAIsC,EAAEyC,EAAEiH,EAAE1J,GAAGyuB,EAAEpkB,EAAE5qB,OAAOgvC,IAAsB,QAAlBjiC,EAAEC,EAAEuT,EAAE0J,EAAE+kB,EAAEpkB,EAAEokB,GAAGxuC,MAAcoiB,GAAG,OAAO7V,EAAEovK,WAAW57J,EAAEo9J,OAAO,OACvf5wK,EAAEF,IAAImiC,EAAEjiC,EAAEF,KAAK2D,EAAE8Z,EAAEvd,EAAEyD,EAAEw+B,GAAG,OAAO/pC,EAAEgZ,EAAElR,EAAE9H,EAAEu3K,QAAQzvK,EAAE9H,EAAE8H,GAAuD,OAApD6V,GAAGrC,EAAE3T,SAAQ,SAASgW,GAAG,OAAOC,EAAEoH,EAAErH,EAAE,IAAG46B,IAAG67G,GAAGpvI,EAAE+kB,GAAU/wB,CAAC,CAAC,SAAS6E,EAAEmH,EAAEzZ,EAAEoa,EAAEpqB,GAAG,IAAIyd,EAAE46D,EAAGjuD,GAAG,GAAG,oBAAoB3M,EAAE,MAAMze,MAAMke,EAAE,MAAkB,GAAG,OAAfkN,EAAE3M,EAAE5d,KAAKuqB,IAAc,MAAMprB,MAAMke,EAAE,MAAM,IAAI,IAAI6C,EAAEtC,EAAE,KAAKhZ,EAAEuL,EAAEw+B,EAAEx+B,EAAE,EAAEzD,EAAE,KAAK/H,EAAE4lB,EAAE63E,OAAO,OAAOx9F,IAAID,EAAE2mL,KAAK38I,IAAIhqC,EAAE4lB,EAAE63E,OAAO,CAACx9F,EAAEkD,MAAM6mC,GAAGjiC,EAAE9H,EAAEA,EAAE,MAAM8H,EAAE9H,EAAEu3K,QAAQ,IAAI15J,EAAEpS,EAAEuZ,EAAEhlB,EAAED,EAAEoD,MAAM5H,GAAG,GAAG,OAAOsiB,EAAE,CAAC,OAAO7d,IAAIA,EAAE8H,GAAG,KAAK,CAAC6V,GAAG3d,GAAG,OAAO6d,EAAEq5J,WAAWt5J,EAAEoH,EAAEhlB,GAAGuL,EAAE8Z,EAAExH,EAAEtS,EAAEw+B,GAAG,OAAOzuB,EAAEtC,EAAE6E,EAAEvC,EAAEi8J,QAAQ15J,EAAEvC,EAAEuC,EAAE7d,EAAE8H,CAAC,CAAC,GAAG/H,EAAE2mL,KAAK,OAAOnqL,EAAEyoB,EACzfhlB,GAAGu4C,IAAG67G,GAAGpvI,EAAE+kB,GAAG/wB,EAAE,GAAG,OAAOhZ,EAAE,CAAC,MAAMD,EAAE2mL,KAAK38I,IAAIhqC,EAAE4lB,EAAE63E,OAAwB,QAAjBz9F,EAAE2d,EAAEsH,EAAEjlB,EAAEoD,MAAM5H,MAAcgQ,EAAE8Z,EAAEtlB,EAAEwL,EAAEw+B,GAAG,OAAOzuB,EAAEtC,EAAEjZ,EAAEub,EAAEi8J,QAAQx3K,EAAEub,EAAEvb,GAAc,OAAXw4C,IAAG67G,GAAGpvI,EAAE+kB,GAAU/wB,CAAC,CAAC,IAAIhZ,EAAE+d,EAAEiH,EAAEhlB,IAAID,EAAE2mL,KAAK38I,IAAIhqC,EAAE4lB,EAAE63E,OAA4B,QAArBz9F,EAAEgI,EAAE/H,EAAEglB,EAAE+kB,EAAEhqC,EAAEoD,MAAM5H,MAAcoiB,GAAG,OAAO5d,EAAEm3K,WAAWl3K,EAAE04K,OAAO,OAAO34K,EAAE6H,IAAImiC,EAAEhqC,EAAE6H,KAAK2D,EAAE8Z,EAAEtlB,EAAEwL,EAAEw+B,GAAG,OAAOzuB,EAAEtC,EAAEjZ,EAAEub,EAAEi8J,QAAQx3K,EAAEub,EAAEvb,GAAuD,OAApD4d,GAAG3d,EAAE2H,SAAQ,SAASgW,GAAG,OAAOC,EAAEoH,EAAErH,EAAE,IAAG46B,IAAG67G,GAAGpvI,EAAE+kB,GAAU/wB,CAAC,CAG3T,OAH4T,SAAS8lC,EAAEnhC,EAAEI,EAAEsH,EAAEM,GAAkF,GAA/E,kBAAkBN,GAAG,OAAOA,GAAGA,EAAE3nB,OAAOkhF,GAAI,OAAOv5D,EAAEzd,MAAMyd,EAAEA,EAAE08E,MAAM7yB,UAAa,kBAAkB7pD,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEwtJ,UAAU,KAAKl5F,EAAGh8D,EAAE,CAAC,IAAI,IAAIpiB,EAC7hB8pB,EAAEzd,IAAIoR,EAAE+E,EAAE,OAAO/E,GAAG,CAAC,GAAGA,EAAEpR,MAAMrM,EAAE,CAAU,IAATA,EAAE8pB,EAAE3nB,QAAYkhF,GAAI,GAAG,IAAI5lE,EAAEw9E,IAAI,CAACj6F,EAAEohB,EAAE3E,EAAEu+J,UAASx5J,EAAEiH,EAAEhM,EAAEqM,EAAE08E,MAAM7yB,WAAYioG,OAAOx5J,EAAEA,EAAEI,EAAE,MAAMJ,CAAC,OAAO,GAAG3E,EAAE8rK,cAAcvpL,GAAG,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEs3K,WAAW7xF,GAAIklG,GAAG3qL,KAAKyd,EAAEtb,KAAK,CAACnB,EAAEohB,EAAE3E,EAAEu+J,UAASx5J,EAAEiH,EAAEhM,EAAEqM,EAAE08E,QAAS18B,IAAIwgH,GAAGloK,EAAE3E,EAAEqM,GAAGtH,EAAEo5J,OAAOx5J,EAAEA,EAAEI,EAAE,MAAMJ,CAAC,CAACphB,EAAEohB,EAAE3E,GAAG,KAAK,CAAM4E,EAAED,EAAE3E,GAAGA,EAAEA,EAAEu+J,OAAO,CAAClyJ,EAAE3nB,OAAOkhF,IAAI7gE,EAAE0oK,GAAGphK,EAAE08E,MAAM7yB,SAASvxD,EAAE9c,KAAK8kB,EAAEN,EAAEzd,MAAOuvK,OAAOx5J,EAAEA,EAAEI,KAAI4H,EAAE2gK,GAAGjhK,EAAE3nB,KAAK2nB,EAAEzd,IAAIyd,EAAE08E,MAAM,KAAKpkF,EAAE9c,KAAK8kB,IAAK0/C,IAAIwgH,GAAGloK,EAAEI,EAAEsH,GAAGM,EAAEwxJ,OAAOx5J,EAAEA,EAAEgI,EAAE,CAAC,OAAOpa,EAAEoS,GAAG,KAAKghE,EAAGhhE,EAAE,CAAC,IAAI3E,EAAEqM,EAAEzd,IAAI,OACzfmW,GAAG,CAAC,GAAGA,EAAEnW,MAAMoR,EAAC,CAAC,GAAG,IAAI+E,EAAEy4E,KAAKz4E,EAAEk5J,UAAUkC,gBAAgB9zJ,EAAE8zJ,eAAep7J,EAAEk5J,UAAUsP,iBAAiBlhK,EAAEkhK,eAAe,CAAChqL,EAAEohB,EAAEI,EAAEw5J,UAASx5J,EAAEiH,EAAEjH,EAAEsH,EAAE6pD,UAAU,KAAMioG,OAAOx5J,EAAEA,EAAEI,EAAE,MAAMJ,CAAC,CAAMphB,EAAEohB,EAAEI,GAAG,KAAM,CAAKH,EAAED,EAAEI,GAAGA,EAAEA,EAAEw5J,OAAO,EAACx5J,EAAEyoK,GAAGnhK,EAAE1H,EAAE9c,KAAK8kB,IAAKwxJ,OAAOx5J,EAAEA,EAAEI,CAAC,CAAC,OAAOxS,EAAEoS,GAAG,KAAKqjE,EAAG,OAAiBliC,EAAEnhC,EAAEI,GAAd/E,EAAEqM,EAAE2tJ,OAAc3tJ,EAAE0tJ,UAAUptJ,GAAG,GAAG6e,GAAGnf,GAAG,OAAOtlB,EAAE4d,EAAEI,EAAEsH,EAAEM,GAAG,GAAGiuD,EAAGvuD,GAAG,OAAOxH,EAAEF,EAAEI,EAAEsH,EAAEM,GAAGsgK,GAAGtoK,EAAE0H,EAAE,CAAC,MAAM,kBAAkBA,GAAG,KAAKA,GAAG,kBAAkBA,GAAGA,EAAE,GAAGA,EAAE,OAAOtH,GAAG,IAAIA,EAAEy4E,KAAKj6F,EAAEohB,EAAEI,EAAEw5J,UAASx5J,EAAEiH,EAAEjH,EAAEsH,IAAK8xJ,OAAOx5J,EAAEA,EAAEI,IACnfxhB,EAAEohB,EAAEI,IAAGA,EAAEsoK,GAAGhhK,EAAE1H,EAAE9c,KAAK8kB,IAAKwxJ,OAAOx5J,EAAEA,EAAEI,GAAGxS,EAAEoS,IAAIphB,EAAEohB,EAAEI,EAAE,CAAS,CAAC,IAAI4oK,GAAGR,IAAG,GAAIS,GAAGT,IAAG,GAAIU,GAAGjE,GAAG,MAAMkE,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAKD,GAAGD,GAAGD,GAAG,IAAI,CAAC,SAASI,GAAGvpK,GAAG,IAAIC,EAAEipK,GAAGlyJ,QAAQklB,GAAEgtI,IAAIlpK,EAAEwpK,cAAcvpK,CAAC,CAAC,SAASwpK,GAAGzpK,EAAEC,EAAErhB,GAAG,KAAK,OAAOohB,GAAG,CAAC,IAAII,EAAEJ,EAAEu5J,UAA+H,IAApHv5J,EAAE0pK,WAAWzpK,KAAKA,GAAGD,EAAE0pK,YAAYzpK,EAAE,OAAOG,IAAIA,EAAEspK,YAAYzpK,IAAI,OAAOG,IAAIA,EAAEspK,WAAWzpK,KAAKA,IAAIG,EAAEspK,YAAYzpK,GAAMD,IAAIphB,EAAE,MAAMohB,EAAEA,EAAEw5J,MAAM,CAAC,CACnZ,SAASzrF,GAAG/tE,EAAEC,GAAGkpK,GAAGnpK,EAAEqpK,GAAGD,GAAG,KAAsB,QAAjBppK,EAAEA,EAAE2pK,eAAuB,OAAO3pK,EAAE4pK,eAAe,KAAK5pK,EAAE6pK,MAAM5pK,KAAK6pK,IAAG,GAAI9pK,EAAE4pK,aAAa,KAAK,CAAC,SAASG,GAAG/pK,GAAG,IAAIC,EAAED,EAAEwpK,cAAc,GAAGH,KAAKrpK,EAAE,GAAGA,EAAE,CAACgwI,QAAQhwI,EAAEgqK,cAAc/pK,EAAE4/E,KAAK,MAAM,OAAOupF,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAMvsL,MAAMke,EAAE,MAAMsuK,GAAGppK,EAAEmpK,GAAGQ,aAAa,CAACE,MAAM,EAAED,aAAa5pK,EAAE,MAAMopK,GAAGA,GAAGvpF,KAAK7/E,EAAE,OAAOC,CAAC,CAAC,IAAIkjI,GAAG,KAAK,SAAS8mC,GAAGjqK,GAAG,OAAOmjI,GAAGA,GAAG,CAACnjI,GAAGmjI,GAAGlhJ,KAAK+d,EAAE,CACvY,SAASkqK,GAAGlqK,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAEpH,EAAEkqK,YAA+E,OAAnE,OAAO9iK,GAAGzoB,EAAEihG,KAAKjhG,EAAEqrL,GAAGhqK,KAAKrhB,EAAEihG,KAAKx4E,EAAEw4E,KAAKx4E,EAAEw4E,KAAKjhG,GAAGqhB,EAAEkqK,YAAYvrL,EAASwrL,GAAGpqK,EAAEI,EAAE,CAAC,SAASgqK,GAAGpqK,EAAEC,GAAGD,EAAE6pK,OAAO5pK,EAAE,IAAIrhB,EAAEohB,EAAEu5J,UAAqC,IAA3B,OAAO36K,IAAIA,EAAEirL,OAAO5pK,GAAGrhB,EAAEohB,EAAMA,EAAEA,EAAEw5J,OAAO,OAAOx5J,GAAGA,EAAE0pK,YAAYzpK,EAAgB,QAAdrhB,EAAEohB,EAAEu5J,aAAqB36K,EAAE8qL,YAAYzpK,GAAGrhB,EAAEohB,EAAEA,EAAEA,EAAEw5J,OAAO,OAAO,IAAI56K,EAAEi6F,IAAIj6F,EAAE06K,UAAU,IAAI,CAAC,IAAI+Q,IAAG,EAAG,SAASC,GAAGtqK,GAAGA,EAAEuqK,YAAY,CAACC,UAAUxqK,EAAEy5J,cAAcgR,gBAAgB,KAAKC,eAAe,KAAKC,OAAO,CAACC,QAAQ,KAAKT,YAAY,KAAKN,MAAM,GAAG18C,QAAQ,KAAK,CAC/e,SAAS0R,GAAG7+H,EAAEC,GAAGD,EAAEA,EAAEuqK,YAAYtqK,EAAEsqK,cAAcvqK,IAAIC,EAAEsqK,YAAY,CAACC,UAAUxqK,EAAEwqK,UAAUC,gBAAgBzqK,EAAEyqK,gBAAgBC,eAAe1qK,EAAE0qK,eAAeC,OAAO3qK,EAAE2qK,OAAOx9C,QAAQntH,EAAEmtH,SAAS,CAAC,SAAS09C,GAAG7qK,EAAEC,GAAG,MAAM,CAAC6qK,UAAU9qK,EAAE+qK,KAAK9qK,EAAE44E,IAAI,EAAE0d,QAAQ,KAAKjpC,SAAS,KAAKuyB,KAAK,KAAK,CACtR,SAASmrF,GAAGhrK,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEJ,EAAEuqK,YAAY,GAAG,OAAOnqK,EAAE,OAAO,KAAgB,GAAXA,EAAEA,EAAEuqK,OAAU,KAAO,EAAF/oI,IAAK,CAAC,IAAIv6B,EAAEjH,EAAEwqK,QAA+D,OAAvD,OAAOvjK,EAAEpH,EAAE4/E,KAAK5/E,GAAGA,EAAE4/E,KAAKx4E,EAAEw4E,KAAKx4E,EAAEw4E,KAAK5/E,GAAGG,EAAEwqK,QAAQ3qK,EAASmqK,GAAGpqK,EAAEphB,EAAE,CAAoF,OAAnE,QAAhByoB,EAAEjH,EAAE+pK,cAAsBlqK,EAAE4/E,KAAK5/E,EAAEgqK,GAAG7pK,KAAKH,EAAE4/E,KAAKx4E,EAAEw4E,KAAKx4E,EAAEw4E,KAAK5/E,GAAGG,EAAE+pK,YAAYlqK,EAASmqK,GAAGpqK,EAAEphB,EAAE,CAAC,SAASqsL,GAAGjrK,EAAEC,EAAErhB,GAAmB,GAAG,QAAnBqhB,EAAEA,EAAEsqK,eAA0BtqK,EAAEA,EAAE0qK,OAAO,KAAO,QAAF/rL,IAAY,CAAC,IAAIwhB,EAAEH,EAAE4pK,MAAwBjrL,GAAlBwhB,GAAGJ,EAAEy6J,aAAkBx6J,EAAE4pK,MAAMjrL,EAAEklF,GAAG9jE,EAAEphB,EAAE,CAAC,CACrZ,SAASssL,GAAGlrK,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAEuqK,YAAYnqK,EAAEJ,EAAEu5J,UAAU,GAAG,OAAOn5J,GAAoBxhB,KAAhBwhB,EAAEA,EAAEmqK,aAAmB,CAAC,IAAIljK,EAAE,KAAKK,EAAE,KAAyB,GAAG,QAAvB9oB,EAAEA,EAAE6rL,iBAA4B,CAAC,EAAE,CAAC,IAAI78K,EAAE,CAACk9K,UAAUlsL,EAAEksL,UAAUC,KAAKnsL,EAAEmsL,KAAKlyF,IAAIj6F,EAAEi6F,IAAI0d,QAAQ33G,EAAE23G,QAAQjpC,SAAS1uE,EAAE0uE,SAASuyB,KAAK,MAAM,OAAOn4E,EAAEL,EAAEK,EAAE9Z,EAAE8Z,EAAEA,EAAEm4E,KAAKjyF,EAAEhP,EAAEA,EAAEihG,IAAI,OAAO,OAAOjhG,GAAG,OAAO8oB,EAAEL,EAAEK,EAAEzH,EAAEyH,EAAEA,EAAEm4E,KAAK5/E,CAAC,MAAMoH,EAAEK,EAAEzH,EAAiH,OAA/GrhB,EAAE,CAAC4rL,UAAUpqK,EAAEoqK,UAAUC,gBAAgBpjK,EAAEqjK,eAAehjK,EAAEijK,OAAOvqK,EAAEuqK,OAAOx9C,QAAQ/sH,EAAE+sH,cAASntH,EAAEuqK,YAAY3rL,EAAQ,CAAoB,QAAnBohB,EAAEphB,EAAE8rL,gBAAwB9rL,EAAE6rL,gBAAgBxqK,EAAED,EAAE6/E,KACnf5/E,EAAErhB,EAAE8rL,eAAezqK,CAAC,CACpB,SAASkrK,GAAGnrK,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAErH,EAAEuqK,YAAYF,IAAG,EAAG,IAAI3iK,EAAEL,EAAEojK,gBAAgB78K,EAAEyZ,EAAEqjK,eAAe1iK,EAAEX,EAAEsjK,OAAOC,QAAQ,GAAG,OAAO5iK,EAAE,CAACX,EAAEsjK,OAAOC,QAAQ,KAAK,IAAIhtL,EAAEoqB,EAAE3M,EAAEzd,EAAEiiG,KAAKjiG,EAAEiiG,KAAK,KAAK,OAAOjyF,EAAE8Z,EAAErM,EAAEzN,EAAEiyF,KAAKxkF,EAAEzN,EAAEhQ,EAAE,IAAIyE,EAAE2d,EAAEu5J,UAAU,OAAOl3K,KAAoB2lB,GAAhB3lB,EAAEA,EAAEkoL,aAAgBG,kBAAmB98K,IAAI,OAAOoa,EAAE3lB,EAAEooL,gBAAgBpvK,EAAE2M,EAAE63E,KAAKxkF,EAAEhZ,EAAEqoL,eAAe9sL,GAAG,CAAC,GAAG,OAAO8pB,EAAE,CAAC,IAAI3H,EAAEsH,EAAEmjK,UAA6B,IAAnB58K,EAAE,EAAEvL,EAAEgZ,EAAEzd,EAAE,KAAKoqB,EAAEN,IAAI,CAAC,IAAI5Z,EAAEka,EAAE+iK,KAAK3gL,EAAE4d,EAAE8iK,UAAU,IAAI1qK,EAAEtS,KAAKA,EAAE,CAAC,OAAOzL,IAAIA,EAAEA,EAAEw9F,KAAK,CAACirF,UAAU1gL,EAAE2gL,KAAK,EAAElyF,IAAI7wE,EAAE6wE,IAAI0d,QAAQvuF,EAAEuuF,QAAQjpC,SAAStlD,EAAEslD,SACvfuyB,KAAK,OAAO7/E,EAAE,CAAC,IAAI5d,EAAE4d,EAAEE,EAAE8H,EAAU,OAARla,EAAEmS,EAAE7V,EAAExL,EAASshB,EAAE24E,KAAK,KAAK,EAAc,GAAG,oBAAfz2F,EAAE8d,EAAEq2F,SAAiC,CAACx2F,EAAE3d,EAAE3E,KAAK2M,EAAE2V,EAAEjS,GAAG,MAAMkS,CAAC,CAACD,EAAE3d,EAAE,MAAM4d,EAAE,KAAK,EAAE5d,EAAEsuD,OAAe,MAATtuD,EAAEsuD,MAAa,IAAI,KAAK,EAAsD,GAAG,QAA3C5iD,EAAE,oBAAd1L,EAAE8d,EAAEq2F,SAAgCn0G,EAAE3E,KAAK2M,EAAE2V,EAAEjS,GAAG1L,SAAe,IAAS0L,EAAE,MAAMkS,EAAED,EAAEu6B,EAAE,CAAC,EAAEv6B,EAAEjS,GAAG,MAAMkS,EAAE,KAAK,EAAEqqK,IAAG,EAAG,CAAC,OAAOriK,EAAEslD,UAAU,IAAItlD,EAAE+iK,OAAO/qK,EAAE0wC,OAAO,GAAe,QAAZ5iD,EAAEuZ,EAAE8lH,SAAiB9lH,EAAE8lH,QAAQ,CAACnlH,GAAGla,EAAE7L,KAAK+lB,GAAG,MAAM5d,EAAE,CAAC0gL,UAAU1gL,EAAE2gL,KAAKj9K,EAAE+qF,IAAI7wE,EAAE6wE,IAAI0d,QAAQvuF,EAAEuuF,QAAQjpC,SAAStlD,EAAEslD,SAASuyB,KAAK,MAAM,OAAOx9F,GAAGgZ,EAAEhZ,EAAE+H,EAAExM,EAAEmiB,GAAG1d,EAAEA,EAAEw9F,KAAKz1F,EAAEwD,GAAGE,EAC3e,GAAG,QAAZka,EAAEA,EAAE63E,MAAiB,IAAsB,QAAnB73E,EAAEX,EAAEsjK,OAAOC,SAAiB,MAAe5iK,GAAJla,EAAEka,GAAM63E,KAAK/xF,EAAE+xF,KAAK,KAAKx4E,EAAEqjK,eAAe58K,EAAEuZ,EAAEsjK,OAAOC,QAAQ,IAAI,EAAsG,GAA5F,OAAOvoL,IAAIzE,EAAEmiB,GAAGsH,EAAEmjK,UAAU5sL,EAAEypB,EAAEojK,gBAAgBpvK,EAAEgM,EAAEqjK,eAAeroL,EAA4B,QAA1B4d,EAAEoH,EAAEsjK,OAAOR,aAAwB,CAAC9iK,EAAEpH,EAAE,GAAGrS,GAAGyZ,EAAE0jK,KAAK1jK,EAAEA,EAAEw4E,WAAWx4E,IAAIpH,EAAE,MAAM,OAAOyH,IAAIL,EAAEsjK,OAAOd,MAAM,GAAGuB,IAAIx9K,EAAEoS,EAAE6pK,MAAMj8K,EAAEoS,EAAEy5J,cAAc15J,CAAC,CAAC,CAC9V,SAAS4rG,GAAG3rG,EAAEC,EAAErhB,GAA8B,GAA3BohB,EAAEC,EAAEktH,QAAQltH,EAAEktH,QAAQ,KAAQ,OAAOntH,EAAE,IAAIC,EAAE,EAAEA,EAAED,EAAE5iB,OAAO6iB,IAAI,CAAC,IAAIG,EAAEJ,EAAEC,GAAGoH,EAAEjH,EAAEktD,SAAS,GAAG,OAAOjmD,EAAE,CAAqB,GAApBjH,EAAEktD,SAAS,KAAKltD,EAAExhB,EAAK,oBAAoByoB,EAAE,MAAMzqB,MAAMke,EAAE,IAAIuM,IAAIA,EAAE5pB,KAAK2iB,EAAE,CAAC,CAAC,CAAC,IAAIiwE,GAAG,CAAC,EAAEg7F,GAAGpG,GAAG50F,IAAIi7F,GAAGrG,GAAG50F,IAAIk7F,GAAGtG,GAAG50F,IAAI,SAASQ,GAAG7wE,GAAG,GAAGA,IAAIqwE,GAAG,MAAMzzF,MAAMke,EAAE,MAAM,OAAOkF,CAAC,CACnS,SAASwrK,GAAGxrK,EAAEC,GAAyC,OAAtC6gC,GAAEyqI,GAAGtrK,GAAG6gC,GAAEwqI,GAAGtrK,GAAG8gC,GAAEuqI,GAAGh7F,IAAIrwE,EAAEC,EAAEqgD,UAAmB,KAAK,EAAE,KAAK,GAAGrgD,GAAGA,EAAEA,EAAE4vC,iBAAiB5vC,EAAEo2J,aAAaz+F,GAAG,KAAK,IAAI,MAAM,QAAkE33D,EAAE23D,GAArC33D,GAAvBD,EAAE,IAAIA,EAAEC,EAAEopD,WAAWppD,GAAMo2J,cAAc,KAAKr2J,EAAEA,EAAE6W,SAAkBqlB,GAAEmvI,IAAIvqI,GAAEuqI,GAAGprK,EAAE,CAAC,SAAS+tE,KAAK9xC,GAAEmvI,IAAInvI,GAAEovI,IAAIpvI,GAAEqvI,GAAG,CAAC,SAASE,GAAGzrK,GAAG6wE,GAAG06F,GAAGv0J,SAAS,IAAI/W,EAAE4wE,GAAGw6F,GAAGr0J,SAAap4B,EAAEg5E,GAAG33D,EAAED,EAAEjgB,MAAMkgB,IAAIrhB,IAAIkiD,GAAEwqI,GAAGtrK,GAAG8gC,GAAEuqI,GAAGzsL,GAAG,CAAC,SAAS8sL,GAAG1rK,GAAGsrK,GAAGt0J,UAAUhX,IAAIk8B,GAAEmvI,IAAInvI,GAAEovI,IAAI,CAAC,IAAIllK,GAAE6+J,GAAG,GACxZ,SAAS0G,GAAG3rK,GAAG,IAAI,IAAIC,EAAED,EAAE,OAAOC,GAAG,CAAC,GAAG,KAAKA,EAAE44E,IAAI,CAAC,IAAIj6F,EAAEqhB,EAAEw5J,cAAc,GAAG,OAAO76K,IAAmB,QAAfA,EAAEA,EAAE86K,aAAqB,OAAO96K,EAAEkD,MAAM,OAAOlD,EAAEkD,MAAM,OAAOme,CAAC,MAAM,GAAG,KAAKA,EAAE44E,UAAK,IAAS54E,EAAE4nK,cAAc+D,aAAa,GAAG,KAAa,IAAR3rK,EAAEywC,OAAW,OAAOzwC,OAAO,GAAG,OAAOA,EAAE05J,MAAM,CAAC15J,EAAE05J,MAAMH,OAAOv5J,EAAEA,EAAEA,EAAE05J,MAAM,QAAQ,CAAC,GAAG15J,IAAID,EAAE,MAAM,KAAK,OAAOC,EAAE25J,SAAS,CAAC,GAAG,OAAO35J,EAAEu5J,QAAQv5J,EAAEu5J,SAASx5J,EAAE,OAAO,KAAKC,EAAEA,EAAEu5J,MAAM,CAACv5J,EAAE25J,QAAQJ,OAAOv5J,EAAEu5J,OAAOv5J,EAAEA,EAAE25J,OAAO,CAAC,OAAO,IAAI,CAAC,IAAIiS,GAAG,GACrc,SAASC,KAAK,IAAI,IAAI9rK,EAAE,EAAEA,EAAE6rK,GAAGzuL,OAAO4iB,IAAI6rK,GAAG7rK,GAAG+rK,8BAA8B,KAAKF,GAAGzuL,OAAO,CAAC,CAAC,IAAI4uL,GAAGpvG,EAAGqvG,uBAAuBC,GAAGtvG,EAAG6+F,wBAAwB0Q,GAAG,EAAEztK,GAAE,KAAKD,GAAE,KAAKq8B,GAAE,KAAKsxI,IAAG,EAAGC,IAAG,EAAGC,GAAG,EAAEC,GAAG,EAAE,SAAS/xI,KAAI,MAAM59C,MAAMke,EAAE,KAAM,CAAC,SAAS0xK,GAAGxsK,EAAEC,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAIrhB,EAAE,EAAEA,EAAEqhB,EAAE7iB,QAAQwB,EAAEohB,EAAE5iB,OAAOwB,IAAI,IAAIiwD,GAAG7uC,EAAEphB,GAAGqhB,EAAErhB,IAAI,OAAM,EAAG,OAAM,CAAE,CAChW,SAAS6tL,GAAGzsK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,GAAyH,GAAtHykK,GAAGzkK,EAAEhJ,GAAEuB,EAAEA,EAAEw5J,cAAc,KAAKx5J,EAAEsqK,YAAY,KAAKtqK,EAAE4pK,MAAM,EAAEmC,GAAGh1J,QAAQ,OAAOhX,GAAG,OAAOA,EAAEy5J,cAAciT,GAAGC,GAAG3sK,EAAEphB,EAAEwhB,EAAEiH,GAAMglK,GAAG,CAAC3kK,EAAE,EAAE,EAAE,CAAY,GAAX2kK,IAAG,EAAGC,GAAG,EAAK,IAAI5kK,EAAE,MAAM9qB,MAAMke,EAAE,MAAM4M,GAAG,EAAEozB,GAAEr8B,GAAE,KAAKwB,EAAEsqK,YAAY,KAAKyB,GAAGh1J,QAAQ41J,GAAG5sK,EAAEphB,EAAEwhB,EAAEiH,EAAE,OAAOglK,GAAG,CAA+D,GAA9DL,GAAGh1J,QAAQ61J,GAAG5sK,EAAE,OAAOxB,IAAG,OAAOA,GAAEohF,KAAKssF,GAAG,EAAErxI,GAAEr8B,GAAEC,GAAE,KAAK0tK,IAAG,EAAMnsK,EAAE,MAAMrjB,MAAMke,EAAE,MAAM,OAAOkF,CAAC,CAAC,SAAS8sK,KAAK,IAAI9sK,EAAE,IAAIssK,GAAQ,OAALA,GAAG,EAAStsK,CAAC,CAC/Y,SAAS+sK,KAAK,IAAI/sK,EAAE,CAACy5J,cAAc,KAAK+Q,UAAU,KAAKwC,UAAU,KAAKC,MAAM,KAAKptF,KAAK,MAA8C,OAAxC,OAAO/kD,GAAEp8B,GAAE+6J,cAAc3+H,GAAE96B,EAAE86B,GAAEA,GAAE+kD,KAAK7/E,EAAS86B,EAAC,CAAC,SAASoyI,KAAK,GAAG,OAAOzuK,GAAE,CAAC,IAAIuB,EAAEtB,GAAE66J,UAAUv5J,EAAE,OAAOA,EAAEA,EAAEy5J,cAAc,IAAI,MAAMz5J,EAAEvB,GAAEohF,KAAK,IAAI5/E,EAAE,OAAO66B,GAAEp8B,GAAE+6J,cAAc3+H,GAAE+kD,KAAK,GAAG,OAAO5/E,EAAE66B,GAAE76B,EAAExB,GAAEuB,MAAM,CAAC,GAAG,OAAOA,EAAE,MAAMpjB,MAAMke,EAAE,MAAUkF,EAAE,CAACy5J,eAAPh7J,GAAEuB,GAAqBy5J,cAAc+Q,UAAU/rK,GAAE+rK,UAAUwC,UAAUvuK,GAAEuuK,UAAUC,MAAMxuK,GAAEwuK,MAAMptF,KAAK,MAAM,OAAO/kD,GAAEp8B,GAAE+6J,cAAc3+H,GAAE96B,EAAE86B,GAAEA,GAAE+kD,KAAK7/E,CAAC,CAAC,OAAO86B,EAAC,CACje,SAASqyI,GAAGntK,EAAEC,GAAG,MAAM,oBAAoBA,EAAEA,EAAED,GAAGC,CAAC,CACnD,SAASmtK,GAAGptK,GAAG,IAAIC,EAAEitK,KAAKtuL,EAAEqhB,EAAEgtK,MAAM,GAAG,OAAOruL,EAAE,MAAMhC,MAAMke,EAAE,MAAMlc,EAAEyuL,oBAAoBrtK,EAAE,IAAII,EAAE3B,GAAE4I,EAAEjH,EAAE4sK,UAAUtlK,EAAE9oB,EAAEgsL,QAAQ,GAAG,OAAOljK,EAAE,CAAC,GAAG,OAAOL,EAAE,CAAC,IAAIzZ,EAAEyZ,EAAEw4E,KAAKx4E,EAAEw4E,KAAKn4E,EAAEm4E,KAAKn4E,EAAEm4E,KAAKjyF,CAAC,CAACwS,EAAE4sK,UAAU3lK,EAAEK,EAAE9oB,EAAEgsL,QAAQ,IAAI,CAAC,GAAG,OAAOvjK,EAAE,CAACK,EAAEL,EAAEw4E,KAAKz/E,EAAEA,EAAEoqK,UAAU,IAAIxiK,EAAEpa,EAAE,KAAKhQ,EAAE,KAAKyd,EAAEqM,EAAE,EAAE,CAAC,IAAIrlB,EAAEgZ,EAAE0vK,KAAK,IAAIoB,GAAG9pL,KAAKA,EAAE,OAAOzE,IAAIA,EAAEA,EAAEiiG,KAAK,CAACkrF,KAAK,EAAEvhF,OAAOnuF,EAAEmuF,OAAO8jF,cAAcjyK,EAAEiyK,cAAcC,WAAWlyK,EAAEkyK,WAAW1tF,KAAK,OAAOz/E,EAAE/E,EAAEiyK,cAAcjyK,EAAEkyK,WAAWvtK,EAAEI,EAAE/E,EAAEmuF,YAAY,CAAC,IAAIzpF,EAAE,CAACgrK,KAAK1oL,EAAEmnG,OAAOnuF,EAAEmuF,OAAO8jF,cAAcjyK,EAAEiyK,cACngBC,WAAWlyK,EAAEkyK,WAAW1tF,KAAK,MAAM,OAAOjiG,GAAGoqB,EAAEpqB,EAAEmiB,EAAEnS,EAAEwS,GAAGxiB,EAAEA,EAAEiiG,KAAK9/E,EAAErB,GAAEmrK,OAAOxnL,EAAE+oL,IAAI/oL,CAAC,CAACgZ,EAAEA,EAAEwkF,IAAI,OAAO,OAAOxkF,GAAGA,IAAIqM,GAAG,OAAO9pB,EAAEgQ,EAAEwS,EAAExiB,EAAEiiG,KAAK73E,EAAE6mC,GAAGzuC,EAAEH,EAAEw5J,iBAAiBqQ,IAAG,GAAI7pK,EAAEw5J,cAAcr5J,EAAEH,EAAEuqK,UAAU58K,EAAEqS,EAAE+sK,UAAUpvL,EAAEgB,EAAE4uL,kBAAkBptK,CAAC,CAAiB,GAAG,QAAnBJ,EAAEphB,EAAEurL,aAAwB,CAAC9iK,EAAErH,EAAE,GAAG0H,EAAEL,EAAE0jK,KAAKrsK,GAAEmrK,OAAOniK,EAAE0jK,IAAI1jK,EAAEL,EAAEA,EAAEw4E,WAAWx4E,IAAIrH,EAAE,MAAM,OAAOqH,IAAIzoB,EAAEirL,MAAM,GAAG,MAAM,CAAC5pK,EAAEw5J,cAAc76K,EAAE6uL,SAAS,CAC9X,SAASC,GAAG1tK,GAAG,IAAIC,EAAEitK,KAAKtuL,EAAEqhB,EAAEgtK,MAAM,GAAG,OAAOruL,EAAE,MAAMhC,MAAMke,EAAE,MAAMlc,EAAEyuL,oBAAoBrtK,EAAE,IAAII,EAAExhB,EAAE6uL,SAASpmK,EAAEzoB,EAAEgsL,QAAQljK,EAAEzH,EAAEw5J,cAAc,GAAG,OAAOpyJ,EAAE,CAACzoB,EAAEgsL,QAAQ,KAAK,IAAIh9K,EAAEyZ,EAAEA,EAAEw4E,KAAK,GAAGn4E,EAAE1H,EAAE0H,EAAE9Z,EAAE47F,QAAQ57F,EAAEA,EAAEiyF,WAAWjyF,IAAIyZ,GAAGwnC,GAAGnnC,EAAEzH,EAAEw5J,iBAAiBqQ,IAAG,GAAI7pK,EAAEw5J,cAAc/xJ,EAAE,OAAOzH,EAAE+sK,YAAY/sK,EAAEuqK,UAAU9iK,GAAG9oB,EAAE4uL,kBAAkB9lK,CAAC,CAAC,MAAM,CAACA,EAAEtH,EAAE,CAAC,SAASutK,KAAK,CACpW,SAASC,GAAG5tK,EAAEC,GAAG,IAAIrhB,EAAE8f,GAAE0B,EAAE8sK,KAAK7lK,EAAEpH,IAAIyH,GAAGmnC,GAAGzuC,EAAEq5J,cAAcpyJ,GAAsE,GAAnEK,IAAItH,EAAEq5J,cAAcpyJ,EAAEyiK,IAAG,GAAI1pK,EAAEA,EAAE6sK,MAAMY,GAAG5oG,GAAG5qC,KAAK,KAAKz7C,EAAEwhB,EAAEJ,GAAG,CAACA,IAAOI,EAAE0tK,cAAc7tK,GAAGyH,GAAG,OAAOozB,IAAuB,EAApBA,GAAE2+H,cAAc5gF,IAAM,CAAuD,GAAtDj6F,EAAE8xD,OAAO,KAAKo3B,GAAG,EAAEf,GAAG1sC,KAAK,KAAKz7C,EAAEwhB,EAAEiH,EAAEpH,QAAG,EAAO,MAAS,OAAOqhC,GAAE,MAAM1kD,MAAMke,EAAE,MAAM,KAAQ,GAAHqxK,KAAQrlG,GAAGloF,EAAEqhB,EAAEoH,EAAE,CAAC,OAAOA,CAAC,CAAC,SAASy/D,GAAG9mE,EAAEC,EAAErhB,GAAGohB,EAAE0wC,OAAO,MAAM1wC,EAAE,CAAC8tK,YAAY7tK,EAAEza,MAAM5G,GAAmB,QAAhBqhB,EAAEvB,GAAE6rK,cAAsBtqK,EAAE,CAAC8tK,WAAW,KAAKC,OAAO,MAAMtvK,GAAE6rK,YAAYtqK,EAAEA,EAAE+tK,OAAO,CAAChuK,IAAgB,QAAXphB,EAAEqhB,EAAE+tK,QAAgB/tK,EAAE+tK,OAAO,CAAChuK,GAAGphB,EAAEqD,KAAK+d,EAAG,CAClf,SAAS+mE,GAAG/mE,EAAEC,EAAErhB,EAAEwhB,GAAGH,EAAEza,MAAM5G,EAAEqhB,EAAE6tK,YAAY1tK,EAAEukE,GAAG1kE,IAAI0mE,GAAG3mE,EAAE,CAAC,SAASilE,GAAGjlE,EAAEC,EAAErhB,GAAG,OAAOA,GAAE,WAAW+lF,GAAG1kE,IAAI0mE,GAAG3mE,EAAE,GAAE,CAAC,SAAS2kE,GAAG3kE,GAAG,IAAIC,EAAED,EAAE8tK,YAAY9tK,EAAEA,EAAExa,MAAM,IAAI,IAAI5G,EAAEqhB,IAAI,OAAO4uC,GAAG7uC,EAAEphB,EAAE,CAAC,MAAMwhB,GAAG,OAAM,CAAE,CAAC,CAAC,SAASumE,GAAG3mE,GAAG,IAAIC,EAAEmqK,GAAGpqK,EAAE,GAAG,OAAOC,GAAGy9D,GAAGz9D,EAAED,EAAE,GAAG,EAAE,CAClQ,SAAS+kE,GAAG/kE,GAAG,IAAIC,EAAE8sK,KAA8M,MAAzM,oBAAoB/sK,IAAIA,EAAEA,KAAKC,EAAEw5J,cAAcx5J,EAAEuqK,UAAUxqK,EAAEA,EAAE,CAAC4qK,QAAQ,KAAKT,YAAY,KAAKN,MAAM,EAAE4D,SAAS,KAAKJ,oBAAoBF,GAAGK,kBAAkBxtK,GAAGC,EAAEgtK,MAAMjtK,EAAEA,EAAEA,EAAEytK,SAASzoG,GAAG3qC,KAAK,KAAK37B,GAAEsB,GAAS,CAACC,EAAEw5J,cAAcz5J,EAAE,CAC5P,SAAS8nE,GAAG9nE,EAAEC,EAAErhB,EAAEwhB,GAA8O,OAA3OJ,EAAE,CAAC64E,IAAI74E,EAAE+J,OAAO9J,EAAEmnF,QAAQxoG,EAAEqvL,KAAK7tK,EAAEy/E,KAAK,MAAsB,QAAhB5/E,EAAEvB,GAAE6rK,cAAsBtqK,EAAE,CAAC8tK,WAAW,KAAKC,OAAO,MAAMtvK,GAAE6rK,YAAYtqK,EAAEA,EAAE8tK,WAAW/tK,EAAE6/E,KAAK7/E,GAAmB,QAAfphB,EAAEqhB,EAAE8tK,YAAoB9tK,EAAE8tK,WAAW/tK,EAAE6/E,KAAK7/E,GAAGI,EAAExhB,EAAEihG,KAAKjhG,EAAEihG,KAAK7/E,EAAEA,EAAE6/E,KAAKz/E,EAAEH,EAAE8tK,WAAW/tK,GAAWA,CAAC,CAAC,SAASq6D,KAAK,OAAO6yG,KAAKzT,aAAa,CAAC,SAAS9+F,GAAG36D,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAE0lK,KAAKruK,GAAEgyC,OAAO1wC,EAAEqH,EAAEoyJ,cAAc3xF,GAAG,EAAE7nE,EAAErhB,OAAE,OAAO,IAASwhB,EAAE,KAAKA,EAAE,CAC9Y,SAASusB,GAAG3sB,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAE6lK,KAAK9sK,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIsH,OAAE,EAAO,GAAG,OAAOjJ,GAAE,CAAC,IAAI7Q,EAAE6Q,GAAEg7J,cAA0B,GAAZ/xJ,EAAE9Z,EAAEw5F,QAAW,OAAOhnF,GAAGosK,GAAGpsK,EAAExS,EAAEqgL,MAAmC,YAA5B5mK,EAAEoyJ,cAAc3xF,GAAG7nE,EAAErhB,EAAE8oB,EAAEtH,GAAU,CAAC1B,GAAEgyC,OAAO1wC,EAAEqH,EAAEoyJ,cAAc3xF,GAAG,EAAE7nE,EAAErhB,EAAE8oB,EAAEtH,EAAE,CAAC,SAAS28D,GAAG/8D,EAAEC,GAAG,OAAO06D,GAAG,QAAQ,EAAE36D,EAAEC,EAAE,CAAC,SAAS4tK,GAAG7tK,EAAEC,GAAG,OAAO0sB,GAAG,KAAK,EAAE3sB,EAAEC,EAAE,CAAC,SAASykE,GAAG1kE,EAAEC,GAAG,OAAO0sB,GAAG,EAAE,EAAE3sB,EAAEC,EAAE,CAAC,SAAS+mE,GAAGhnE,EAAEC,GAAG,OAAO0sB,GAAG,EAAE,EAAE3sB,EAAEC,EAAE,CAChX,SAASq+D,GAAGt+D,EAAEC,GAAG,MAAG,oBAAoBA,GAASD,EAAEA,IAAIC,EAAED,GAAG,WAAWC,EAAE,KAAK,GAAK,OAAOA,QAAG,IAASA,GAASD,EAAEA,IAAIC,EAAE+W,QAAQhX,EAAE,WAAWC,EAAE+W,QAAQ,IAAI,QAA1E,CAA2E,CAAC,SAAS6jD,GAAG76D,EAAEC,EAAErhB,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAE+K,OAAO,CAACqW,IAAI,KAAY2sB,GAAG,EAAE,EAAE2xC,GAAGjkC,KAAK,KAAKp6B,EAAED,GAAGphB,EAAE,CAAC,SAASgmF,KAAK,CAAC,SAASE,GAAG9kE,EAAEC,GAAG,IAAIrhB,EAAEsuL,KAAKjtK,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIG,EAAExhB,EAAE66K,cAAc,OAAG,OAAOr5J,GAAG,OAAOH,GAAGusK,GAAGvsK,EAAEG,EAAE,IAAWA,EAAE,IAAGxhB,EAAE66K,cAAc,CAACz5J,EAAEC,GAAUD,EAAC,CAC7Z,SAAS4vB,GAAG5vB,EAAEC,GAAG,IAAIrhB,EAAEsuL,KAAKjtK,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIG,EAAExhB,EAAE66K,cAAc,OAAG,OAAOr5J,GAAG,OAAOH,GAAGusK,GAAGvsK,EAAEG,EAAE,IAAWA,EAAE,IAAGJ,EAAEA,IAAIphB,EAAE66K,cAAc,CAACz5J,EAAEC,GAAUD,EAAC,CAAC,SAAS6kE,GAAG7kE,EAAEC,EAAErhB,GAAG,OAAG,KAAQ,GAAHutL,KAAcnsK,EAAEwqK,YAAYxqK,EAAEwqK,WAAU,EAAGV,IAAG,GAAI9pK,EAAEy5J,cAAc76K,IAAEiwD,GAAGjwD,EAAEqhB,KAAKrhB,EAAE4+E,KAAK9+D,GAAEmrK,OAAOjrL,EAAEwsL,IAAIxsL,EAAEohB,EAAEwqK,WAAU,GAAWvqK,EAAC,CAAC,SAASg5D,GAAGj5D,EAAEC,GAAG,IAAIrhB,EAAEunB,GAAEA,GAAE,IAAIvnB,GAAG,EAAEA,EAAEA,EAAE,EAAEohB,GAAE,GAAI,IAAII,EAAE8rK,GAAGxQ,WAAWwQ,GAAGxQ,WAAW,CAAC,EAAE,IAAI17J,GAAE,GAAIC,GAAG,CAAC,QAAQkG,GAAEvnB,EAAEstL,GAAGxQ,WAAWt7J,CAAC,CAAC,CAAC,SAAS2uB,KAAK,OAAOm+I,KAAKzT,aAAa,CAC1d,SAAStxF,GAAGnoE,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAE2nE,GAAG/nE,GAAkE,GAA/DphB,EAAE,CAACmsL,KAAK3qK,EAAEopF,OAAO5qG,EAAE0uL,eAAc,EAAGC,WAAW,KAAK1tF,KAAK,MAAStX,GAAGvoE,GAAGkoE,GAAGjoE,EAAErhB,QAAQ,GAAiB,QAAdA,EAAEsrL,GAAGlqK,EAAEC,EAAErhB,EAAEwhB,IAAY,CAAWs9D,GAAG9+E,EAAEohB,EAAEI,EAAXkgC,MAAgBk6B,GAAG57E,EAAEqhB,EAAEG,EAAE,CAAC,CAC/K,SAAS4kE,GAAGhlE,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAE2nE,GAAG/nE,GAAGqH,EAAE,CAAC0jK,KAAK3qK,EAAEopF,OAAO5qG,EAAE0uL,eAAc,EAAGC,WAAW,KAAK1tF,KAAK,MAAM,GAAGtX,GAAGvoE,GAAGkoE,GAAGjoE,EAAEoH,OAAO,CAAC,IAAIK,EAAE1H,EAAEu5J,UAAU,GAAG,IAAIv5J,EAAE6pK,QAAQ,OAAOniK,GAAG,IAAIA,EAAEmiK,QAAiC,QAAxBniK,EAAEzH,EAAEotK,qBAA8B,IAAI,IAAIz/K,EAAEqS,EAAEutK,kBAAkBxlK,EAAEN,EAAE9Z,EAAEhP,GAAqC,GAAlCyoB,EAAEimK,eAAc,EAAGjmK,EAAEkmK,WAAWvlK,EAAK6mC,GAAG7mC,EAAEpa,GAAG,CAAC,IAAIhQ,EAAEqiB,EAAEkqK,YAA+E,OAAnE,OAAOvsL,GAAGypB,EAAEw4E,KAAKx4E,EAAE4iK,GAAGhqK,KAAKoH,EAAEw4E,KAAKjiG,EAAEiiG,KAAKjiG,EAAEiiG,KAAKx4E,QAAGpH,EAAEkqK,YAAY9iK,EAAQ,CAAC,CAAC,MAAMhM,GAAG,CAAwB,QAAdzc,EAAEsrL,GAAGlqK,EAAEC,EAAEoH,EAAEjH,MAAoBs9D,GAAG9+E,EAAEohB,EAAEI,EAAbiH,EAAEi5B,MAAgBk6B,GAAG57E,EAAEqhB,EAAEG,GAAG,CAAC,CAC/c,SAASmoE,GAAGvoE,GAAG,IAAIC,EAAED,EAAEu5J,UAAU,OAAOv5J,IAAItB,IAAG,OAAOuB,GAAGA,IAAIvB,EAAC,CAAC,SAASwpE,GAAGloE,EAAEC,GAAGosK,GAAGD,IAAG,EAAG,IAAIxtL,EAAEohB,EAAE4qK,QAAQ,OAAOhsL,EAAEqhB,EAAE4/E,KAAK5/E,GAAGA,EAAE4/E,KAAKjhG,EAAEihG,KAAKjhG,EAAEihG,KAAK5/E,GAAGD,EAAE4qK,QAAQ3qK,CAAC,CAAC,SAASu6D,GAAGx6D,EAAEC,EAAErhB,GAAG,GAAG,KAAO,QAAFA,GAAW,CAAC,IAAIwhB,EAAEH,EAAE4pK,MAAwBjrL,GAAlBwhB,GAAGJ,EAAEy6J,aAAkBx6J,EAAE4pK,MAAMjrL,EAAEklF,GAAG9jE,EAAEphB,EAAE,CAAC,CAC9P,IAAIiuL,GAAG,CAACqB,YAAYnE,GAAGoE,YAAY3zI,GAAE4zI,WAAW5zI,GAAEitD,UAAUjtD,GAAE6zI,oBAAoB7zI,GAAE8zI,mBAAmB9zI,GAAE+zI,gBAAgB/zI,GAAEg0I,QAAQh0I,GAAEi0I,WAAWj0I,GAAEyrD,OAAOzrD,GAAEqrD,SAASrrD,GAAEk0I,cAAcl0I,GAAEm0I,iBAAiBn0I,GAAEo0I,cAAcp0I,GAAEq0I,iBAAiBr0I,GAAEs0I,qBAAqBt0I,GAAEu0I,MAAMv0I,GAAEw0I,0BAAyB,GAAItC,GAAG,CAACwB,YAAYnE,GAAGoE,YAAY,SAASnuK,EAAEC,GAA4C,OAAzC8sK,KAAKtT,cAAc,CAACz5J,OAAE,IAASC,EAAE,KAAKA,GAAUD,CAAC,EAAEouK,WAAWrE,GAAGtiF,UAAU1qB,GAAGsxG,oBAAoB,SAASruK,EAAEC,EAAErhB,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAE+K,OAAO,CAACqW,IAAI,KAAY26D,GAAG,QAC3f,EAAE2D,GAAGjkC,KAAK,KAAKp6B,EAAED,GAAGphB,EAAE,EAAE2vL,gBAAgB,SAASvuK,EAAEC,GAAG,OAAO06D,GAAG,QAAQ,EAAE36D,EAAEC,EAAE,EAAEquK,mBAAmB,SAAStuK,EAAEC,GAAG,OAAO06D,GAAG,EAAE,EAAE36D,EAAEC,EAAE,EAAEuuK,QAAQ,SAASxuK,EAAEC,GAAG,IAAIrhB,EAAEmuL,KAAqD,OAAhD9sK,OAAE,IAASA,EAAE,KAAKA,EAAED,EAAEA,IAAIphB,EAAE66K,cAAc,CAACz5J,EAAEC,GAAUD,CAAC,EAAEyuK,WAAW,SAASzuK,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAE2sK,KAAkM,OAA7L9sK,OAAE,IAASrhB,EAAEA,EAAEqhB,GAAGA,EAAEG,EAAEq5J,cAAcr5J,EAAEoqK,UAAUvqK,EAAED,EAAE,CAAC4qK,QAAQ,KAAKT,YAAY,KAAKN,MAAM,EAAE4D,SAAS,KAAKJ,oBAAoBrtK,EAAEwtK,kBAAkBvtK,GAAGG,EAAE6sK,MAAMjtK,EAAEA,EAAEA,EAAEytK,SAAStlG,GAAG9tC,KAAK,KAAK37B,GAAEsB,GAAS,CAACI,EAAEq5J,cAAcz5J,EAAE,EAAEimF,OAAO,SAASjmF,GAC3d,OAAdA,EAAE,CAACgX,QAAQhX,GAAhB+sK,KAA4BtT,cAAcz5J,CAAC,EAAE6lF,SAAS9gB,GAAG2pG,cAAc9pG,GAAG+pG,iBAAiB,SAAS3uK,GAAG,OAAO+sK,KAAKtT,cAAcz5J,CAAC,EAAE4uK,cAAc,WAAW,IAAI5uK,EAAE+kE,IAAG,GAAI9kE,EAAED,EAAE,GAA6C,OAA1CA,EAAEi5D,GAAG5+B,KAAK,KAAKr6B,EAAE,IAAI+sK,KAAKtT,cAAcz5J,EAAQ,CAACC,EAAED,EAAE,EAAE6uK,iBAAiB,WAAW,EAAEC,qBAAqB,SAAS9uK,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAE1B,GAAE2I,EAAE0lK,KAAK,GAAGnyI,GAAE,CAAC,QAAG,IAASh8C,EAAE,MAAMhC,MAAMke,EAAE,MAAMlc,EAAEA,GAAG,KAAK,CAAO,GAANA,EAAEqhB,IAAO,OAAOqhC,GAAE,MAAM1kD,MAAMke,EAAE,MAAM,KAAQ,GAAHqxK,KAAQrlG,GAAG1mE,EAAEH,EAAErhB,EAAE,CAACyoB,EAAEoyJ,cAAc76K,EAAE,IAAI8oB,EAAE,CAACliB,MAAM5G,EAAEkvL,YAAY7tK,GACvZ,OAD0ZoH,EAAE4lK,MAAMvlK,EAAEq1D,GAAGkI,GAAG5qC,KAAK,KAAKj6B,EACpfsH,EAAE1H,GAAG,CAACA,IAAII,EAAEswC,OAAO,KAAKo3B,GAAG,EAAEf,GAAG1sC,KAAK,KAAKj6B,EAAEsH,EAAE9oB,EAAEqhB,QAAG,EAAO,MAAarhB,CAAC,EAAEmwL,MAAM,WAAW,IAAI/uK,EAAE+sK,KAAK9sK,EAAEqhC,GAAE2tI,iBAAiB,GAAGr0I,GAAE,CAAC,IAAIh8C,EAAEoxF,GAAkD/vE,EAAE,IAAIA,EAAE,KAA9CrhB,GAAH8nL,KAAU,GAAG,GAAG3jG,GAAhB2jG,IAAsB,IAAIlpL,SAAS,IAAIoB,GAAuB,GAAPA,EAAE0tL,QAAWrsK,GAAG,IAAIrhB,EAAEpB,SAAS,KAAKyiB,GAAG,GAAG,MAAaA,EAAE,IAAIA,EAAE,KAAfrhB,EAAE2tL,MAAmB/uL,SAAS,IAAI,IAAI,OAAOwiB,EAAEy5J,cAAcx5J,CAAC,EAAE+uK,0BAAyB,GAAIrC,GAAG,CAACuB,YAAYnE,GAAGoE,YAAYrpG,GAAGspG,WAAWrE,GAAGtiF,UAAUomF,GAAGQ,oBAAoBxzG,GAAGyzG,mBAAmB5pG,GAAG6pG,gBAAgBvnG,GAAGwnG,QAAQ5+I,GAAG6+I,WAAWrB,GAAGnnF,OAAO5rB,GAAGwrB,SAAS,WAAW,OAAOunF,GAAGD,GAAG,EACrhBuB,cAAc9pG,GAAG+pG,iBAAiB,SAAS3uK,GAAc,OAAO6kE,GAAZqoG,KAAiBzuK,GAAEg7J,cAAcz5J,EAAE,EAAE4uK,cAAc,WAAgD,MAAM,CAArCxB,GAAGD,IAAI,GAAKD,KAAKzT,cAAyB,EAAEoV,iBAAiBlB,GAAGmB,qBAAqBlB,GAAGmB,MAAMhgJ,GAAGigJ,0BAAyB,GAAIpC,GAAG,CAACsB,YAAYnE,GAAGoE,YAAYrpG,GAAGspG,WAAWrE,GAAGtiF,UAAUomF,GAAGQ,oBAAoBxzG,GAAGyzG,mBAAmB5pG,GAAG6pG,gBAAgBvnG,GAAGwnG,QAAQ5+I,GAAG6+I,WAAWf,GAAGznF,OAAO5rB,GAAGwrB,SAAS,WAAW,OAAO6nF,GAAGP,GAAG,EAAEuB,cAAc9pG,GAAG+pG,iBAAiB,SAAS3uK,GAAG,IAAIC,EAAEitK,KAAK,OAAO,OACzfzuK,GAAEwB,EAAEw5J,cAAcz5J,EAAE6kE,GAAG5kE,EAAExB,GAAEg7J,cAAcz5J,EAAE,EAAE4uK,cAAc,WAAgD,MAAM,CAArClB,GAAGP,IAAI,GAAKD,KAAKzT,cAAyB,EAAEoV,iBAAiBlB,GAAGmB,qBAAqBlB,GAAGmB,MAAMhgJ,GAAGigJ,0BAAyB,GAAI,SAAS50G,GAAGp6D,EAAEC,GAAG,GAAGD,GAAGA,EAAEkvK,aAAa,CAA4B,IAAI,IAAItwL,KAAnCqhB,EAAEq6B,EAAE,CAAC,EAAEr6B,GAAGD,EAAEA,EAAEkvK,kBAA4B,IAASjvK,EAAErhB,KAAKqhB,EAAErhB,GAAGohB,EAAEphB,IAAI,OAAOqhB,CAAC,CAAC,OAAOA,CAAC,CAAC,SAASqoE,GAAGtoE,EAAEC,EAAErhB,EAAEwhB,GAA8BxhB,EAAE,QAAXA,EAAEA,EAAEwhB,EAAtBH,EAAED,EAAEy5J,sBAAmC,IAAS76K,EAAEqhB,EAAEq6B,EAAE,CAAC,EAAEr6B,EAAErhB,GAAGohB,EAAEy5J,cAAc76K,EAAE,IAAIohB,EAAE6pK,QAAQ7pK,EAAEuqK,YAAYC,UAAU5rL,EAAE,CACrd,IAAIg8E,GAAG,CAACu0G,UAAU,SAASnvK,GAAG,SAAOA,EAAEA,EAAEovK,kBAAiB3rG,GAAGzjE,KAAKA,CAAI,EAAEqvK,gBAAgB,SAASrvK,EAAEC,EAAErhB,GAAGohB,EAAEA,EAAEovK,gBAAgB,IAAIhvK,EAAEkgC,KAAIj5B,EAAE0gE,GAAG/nE,GAAG0H,EAAEmjK,GAAGzqK,EAAEiH,GAAGK,EAAE6uF,QAAQt2F,OAAE,IAASrhB,GAAG,OAAOA,IAAI8oB,EAAE4lD,SAAS1uE,GAAe,QAAZqhB,EAAE+qK,GAAGhrK,EAAE0H,EAAEL,MAAcq2D,GAAGz9D,EAAED,EAAEqH,EAAEjH,GAAG6qK,GAAGhrK,EAAED,EAAEqH,GAAG,EAAEioK,oBAAoB,SAAStvK,EAAEC,EAAErhB,GAAGohB,EAAEA,EAAEovK,gBAAgB,IAAIhvK,EAAEkgC,KAAIj5B,EAAE0gE,GAAG/nE,GAAG0H,EAAEmjK,GAAGzqK,EAAEiH,GAAGK,EAAEmxE,IAAI,EAAEnxE,EAAE6uF,QAAQt2F,OAAE,IAASrhB,GAAG,OAAOA,IAAI8oB,EAAE4lD,SAAS1uE,GAAe,QAAZqhB,EAAE+qK,GAAGhrK,EAAE0H,EAAEL,MAAcq2D,GAAGz9D,EAAED,EAAEqH,EAAEjH,GAAG6qK,GAAGhrK,EAAED,EAAEqH,GAAG,EAAEkoK,mBAAmB,SAASvvK,EAAEC,GAAGD,EAAEA,EAAEovK,gBAAgB,IAAIxwL,EAAE0hD,KAAIlgC,EACnf2nE,GAAG/nE,GAAGqH,EAAEwjK,GAAGjsL,EAAEwhB,GAAGiH,EAAEwxE,IAAI,OAAE,IAAS54E,GAAG,OAAOA,IAAIoH,EAAEimD,SAASrtD,GAAe,QAAZA,EAAE+qK,GAAGhrK,EAAEqH,EAAEjH,MAAcs9D,GAAGz9D,EAAED,EAAEI,EAAExhB,GAAGqsL,GAAGhrK,EAAED,EAAEI,GAAG,GAAG,SAASgoE,GAAGpoE,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,EAAE9Z,GAAiB,MAAM,oBAApBoS,EAAEA,EAAEs5J,WAAsCkW,sBAAsBxvK,EAAEwvK,sBAAsBpvK,EAAEsH,EAAE9Z,IAAGqS,EAAEtjB,YAAWsjB,EAAEtjB,UAAU8yL,wBAAsBjgI,GAAG5wD,EAAEwhB,KAAKovC,GAAGnoC,EAAEK,GAAK,CAC1S,SAASgoK,GAAG1vK,EAAEC,EAAErhB,GAAG,IAAIwhB,GAAE,EAAGiH,EAAE69J,GAAOx9J,EAAEzH,EAAE0vK,YAA2W,MAA/V,kBAAkBjoK,GAAG,OAAOA,EAAEA,EAAEqiK,GAAGriK,IAAIL,EAAEo+J,GAAGxlK,GAAGmlK,GAAG1kI,GAAE1pB,QAAyBtP,GAAGtH,EAAE,QAAtBA,EAAEH,EAAEqlK,oBAA4B,IAASllK,GAAGilK,GAAGrlK,EAAEqH,GAAG69J,IAAIjlK,EAAE,IAAIA,EAAErhB,EAAE8oB,GAAG1H,EAAEy5J,cAAc,OAAOx5J,EAAEzL,YAAO,IAASyL,EAAEzL,MAAMyL,EAAEzL,MAAM,KAAKyL,EAAE2vK,QAAQh1G,GAAG56D,EAAEs5J,UAAUr5J,EAAEA,EAAEmvK,gBAAgBpvK,EAAEI,KAAIJ,EAAEA,EAAEs5J,WAAYiM,4CAA4Cl+J,EAAErH,EAAEwlK,0CAA0C99J,GAAUzH,CAAC,CAC5Z,SAAS4vK,GAAG7vK,EAAEC,EAAErhB,EAAEwhB,GAAGJ,EAAEC,EAAEzL,MAAM,oBAAoByL,EAAE6vK,2BAA2B7vK,EAAE6vK,0BAA0BlxL,EAAEwhB,GAAG,oBAAoBH,EAAE8vK,kCAAkC9vK,EAAE8vK,iCAAiCnxL,EAAEwhB,GAAGH,EAAEzL,QAAQwL,GAAG46D,GAAG00G,oBAAoBrvK,EAAEA,EAAEzL,MAAM,KAAK,CACpQ,SAAS6zE,GAAGroE,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAErH,EAAEs5J,UAAUjyJ,EAAE+8E,MAAMxlG,EAAEyoB,EAAE7S,MAAMwL,EAAEy5J,cAAcpyJ,EAAEghK,KAAK,CAAC,EAAEiC,GAAGtqK,GAAG,IAAI0H,EAAEzH,EAAE0vK,YAAY,kBAAkBjoK,GAAG,OAAOA,EAAEL,EAAE2oI,QAAQ+5B,GAAGriK,IAAIA,EAAE+9J,GAAGxlK,GAAGmlK,GAAG1kI,GAAE1pB,QAAQ3P,EAAE2oI,QAAQq1B,GAAGrlK,EAAE0H,IAAIL,EAAE7S,MAAMwL,EAAEy5J,cAA2C,oBAA7B/xJ,EAAEzH,EAAE+vK,4BAAiD1nG,GAAGtoE,EAAEC,EAAEyH,EAAE9oB,GAAGyoB,EAAE7S,MAAMwL,EAAEy5J,eAAe,oBAAoBx5J,EAAE+vK,0BAA0B,oBAAoB3oK,EAAE4oK,yBAAyB,oBAAoB5oK,EAAE6oK,2BAA2B,oBAAoB7oK,EAAE8oK,qBAAqBlwK,EAAEoH,EAAE7S,MACrf,oBAAoB6S,EAAE8oK,oBAAoB9oK,EAAE8oK,qBAAqB,oBAAoB9oK,EAAE6oK,2BAA2B7oK,EAAE6oK,4BAA4BjwK,IAAIoH,EAAE7S,OAAOomE,GAAG00G,oBAAoBjoK,EAAEA,EAAE7S,MAAM,MAAM22K,GAAGnrK,EAAEphB,EAAEyoB,EAAEjH,GAAGiH,EAAE7S,MAAMwL,EAAEy5J,eAAe,oBAAoBpyJ,EAAE+oK,oBAAoBpwK,EAAE0wC,OAAO,QAAQ,CAAC,SAAS2/H,GAAGrwK,EAAEC,GAAG,IAAI,IAAIrhB,EAAE,GAAGwhB,EAAEH,EAAE,GAAGrhB,GAAGyjF,EAAGjiE,GAAGA,EAAEA,EAAEo5J,aAAap5J,GAAG,IAAIiH,EAAEzoB,CAAC,CAAC,MAAM8oB,GAAGL,EAAE,6BAA6BK,EAAElrB,QAAQ,KAAKkrB,EAAE2nC,KAAK,CAAC,MAAM,CAAC7pD,MAAMwa,EAAElD,OAAOmD,EAAEovC,MAAMhoC,EAAEipK,OAAO,KAAK,CAC1d,SAASC,GAAGvwK,EAAEC,EAAErhB,GAAG,MAAM,CAAC4G,MAAMwa,EAAElD,OAAO,KAAKuyC,MAAM,MAAMzwD,EAAEA,EAAE,KAAK0xL,OAAO,MAAMrwK,EAAEA,EAAE,KAAK,CAAC,SAASgoE,GAAGjoE,EAAEC,GAAG,IAAIwG,QAAQS,MAAMjH,EAAEza,MAAM,CAAC,MAAM5G,GAAG8pB,YAAW,WAAW,MAAM9pB,CAAE,GAAE,CAAC,CAAC,IAAI27E,GAAG,oBAAoBi2G,QAAQA,QAAQttJ,IAAI,SAAS8kD,GAAGhoE,EAAEC,EAAErhB,IAAGA,EAAEisL,IAAI,EAAEjsL,IAAKi6F,IAAI,EAAEj6F,EAAE23G,QAAQ,CAACnmF,QAAQ,MAAM,IAAIhQ,EAAEH,EAAEza,MAAsD,OAAhD5G,EAAE0uE,SAAS,WAAWmN,KAAKA,IAAG,EAAGC,GAAGt6D,GAAG6nE,GAAGjoE,EAAEC,EAAE,EAASrhB,CAAC,CACrW,SAAS6xL,GAAGzwK,EAAEC,EAAErhB,IAAGA,EAAEisL,IAAI,EAAEjsL,IAAKi6F,IAAI,EAAE,IAAIz4E,EAAEJ,EAAEjgB,KAAK2wL,yBAAyB,GAAG,oBAAoBtwK,EAAE,CAAC,IAAIiH,EAAEpH,EAAEza,MAAM5G,EAAE23G,QAAQ,WAAW,OAAOn2F,EAAEiH,EAAE,EAAEzoB,EAAE0uE,SAAS,WAAW2a,GAAGjoE,EAAEC,EAAE,CAAC,CAAC,IAAIyH,EAAE1H,EAAEs5J,UAA8O,OAApO,OAAO5xJ,GAAG,oBAAoBA,EAAEipK,oBAAoB/xL,EAAE0uE,SAAS,WAAW2a,GAAGjoE,EAAEC,GAAG,oBAAoBG,IAAI,OAAO8kE,GAAGA,GAAG,IAAImvF,IAAI,CAAC53K,OAAOyoF,GAAGx6C,IAAIjuC,OAAO,IAAImC,EAAEqhB,EAAEovC,MAAM5yD,KAAKk0L,kBAAkB1wK,EAAEza,MAAM,CAACorL,eAAe,OAAOhyL,EAAEA,EAAE,IAAI,GAAUA,CAAC,CACnb,SAAS07E,GAAGt6D,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEJ,EAAE6wK,UAAU,GAAG,OAAOzwK,EAAE,CAACA,EAAEJ,EAAE6wK,UAAU,IAAIt2G,GAAG,IAAIlzD,EAAE,IAAIgtJ,IAAIj0J,EAAEjC,IAAI8B,EAAEoH,EAAE,WAAiB,KAAXA,EAAEjH,EAAEpgB,IAAIigB,MAAgBoH,EAAE,IAAIgtJ,IAAIj0J,EAAEjC,IAAI8B,EAAEoH,IAAIA,EAAEic,IAAI1kC,KAAKyoB,EAAEqjB,IAAI9rC,GAAGohB,EAAEwqE,GAAGnwC,KAAK,KAAKr6B,EAAEC,EAAErhB,GAAGqhB,EAAE2sD,KAAK5sD,EAAEA,GAAG,CAAC,SAASmlE,GAAGnlE,GAAG,EAAE,CAAC,IAAIC,EAA4E,IAAvEA,EAAE,KAAKD,EAAE64E,OAAsB54E,EAAE,QAApBA,EAAED,EAAEy5J,gBAAyB,OAAOx5J,EAAEy5J,YAAuBz5J,EAAE,OAAOD,EAAEA,EAAEA,EAAEw5J,MAAM,OAAO,OAAOx5J,GAAG,OAAO,IAAI,CAChW,SAAS8wK,GAAG9wK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,OAAG,KAAY,EAAPrH,EAAE9c,OAAe8c,IAAIC,EAAED,EAAE0wC,OAAO,OAAO1wC,EAAE0wC,OAAO,IAAI9xD,EAAE8xD,OAAO,OAAO9xD,EAAE8xD,QAAQ,MAAM,IAAI9xD,EAAEi6F,MAAM,OAAOj6F,EAAE26K,UAAU36K,EAAEi6F,IAAI,KAAI54E,EAAE4qK,IAAI,EAAE,IAAKhyF,IAAI,EAAEmyF,GAAGpsL,EAAEqhB,EAAE,KAAKrhB,EAAEirL,OAAO,GAAG7pK,IAAEA,EAAE0wC,OAAO,MAAM1wC,EAAE6pK,MAAMxiK,EAASrH,EAAC,CAAC,IAAI+wK,GAAGn0G,EAAGo0G,kBAAkBlH,IAAG,EAAG,SAASmH,GAAGjxK,EAAEC,EAAErhB,EAAEwhB,GAAGH,EAAE05J,MAAM,OAAO35J,EAAEipK,GAAGhpK,EAAE,KAAKrhB,EAAEwhB,GAAG4oK,GAAG/oK,EAAED,EAAE25J,MAAM/6K,EAAEwhB,EAAE,CACnV,SAAS8wK,GAAGlxK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAGzoB,EAAEA,EAAE4yE,OAAO,IAAI9pD,EAAEzH,EAAEynD,IAAqC,OAAjCqmB,GAAG9tE,EAAEoH,GAAGjH,EAAEqsK,GAAGzsK,EAAEC,EAAErhB,EAAEwhB,EAAEsH,EAAEL,GAAGzoB,EAAEkuL,KAAQ,OAAO9sK,GAAI8pK,IAA2ElvI,IAAGh8C,GAAGgoL,GAAG3mK,GAAGA,EAAEywC,OAAO,EAAEugI,GAAGjxK,EAAEC,EAAEG,EAAEiH,GAAUpH,EAAE05J,QAA7G15J,EAAEsqK,YAAYvqK,EAAEuqK,YAAYtqK,EAAEywC,QAAQ,KAAK1wC,EAAE6pK,QAAQxiK,EAAE8pK,GAAGnxK,EAAEC,EAAEoH,GAAoD,CACzN,SAAS+pK,GAAGpxK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,GAAG,OAAOrH,EAAE,CAAC,IAAI0H,EAAE9oB,EAAEmB,KAAK,MAAG,oBAAoB2nB,GAAI2pK,GAAG3pK,SAAI,IAASA,EAAEwnK,cAAc,OAAOtwL,EAAE0yL,cAAS,IAAS1yL,EAAEswL,eAAoDlvK,EAAE2oK,GAAG/pL,EAAEmB,KAAK,KAAKqgB,EAAEH,EAAEA,EAAE/c,KAAKmkB,IAAKqgD,IAAIznD,EAAEynD,IAAI1nD,EAAEw5J,OAAOv5J,EAASA,EAAE05J,MAAM35J,IAArGC,EAAE44E,IAAI,GAAG54E,EAAElgB,KAAK2nB,EAAE6pK,GAAGvxK,EAAEC,EAAEyH,EAAEtH,EAAEiH,GAAyE,CAAW,GAAVK,EAAE1H,EAAE25J,MAAS,KAAK35J,EAAE6pK,MAAMxiK,GAAG,CAAC,IAAIzZ,EAAE8Z,EAAEmgK,cAA0C,IAAhBjpL,EAAE,QAAdA,EAAEA,EAAE0yL,SAAmB1yL,EAAE4wD,IAAQ5hD,EAAEwS,IAAIJ,EAAE0nD,MAAMznD,EAAEynD,IAAI,OAAOypH,GAAGnxK,EAAEC,EAAEoH,EAAE,CAA6C,OAA5CpH,EAAEywC,OAAO,GAAE1wC,EAAEyoK,GAAG/gK,EAAEtH,IAAKsnD,IAAIznD,EAAEynD,IAAI1nD,EAAEw5J,OAAOv5J,EAASA,EAAE05J,MAAM35J,CAAC,CAC1b,SAASuxK,GAAGvxK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,GAAG,OAAOrH,EAAE,CAAC,IAAI0H,EAAE1H,EAAE6nK,cAAc,GAAGr4H,GAAG9nC,EAAEtH,IAAIJ,EAAE0nD,MAAMznD,EAAEynD,IAAI,IAAGoiH,IAAG,EAAG7pK,EAAEqnK,aAAalnK,EAAEsH,EAAE,KAAK1H,EAAE6pK,MAAMxiK,GAAsC,OAAOpH,EAAE4pK,MAAM7pK,EAAE6pK,MAAMsH,GAAGnxK,EAAEC,EAAEoH,GAAjE,KAAa,OAARrH,EAAE0wC,SAAgBo5H,IAAG,EAAyC,EAAC,OAAO0H,GAAGxxK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAE,CACxN,SAASoqK,GAAGzxK,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEH,EAAEqnK,aAAajgK,EAAEjH,EAAEmxD,SAAS7pD,EAAE,OAAO1H,EAAEA,EAAEy5J,cAAc,KAAK,GAAG,WAAWr5J,EAAEld,KAAK,GAAG,KAAY,EAAP+c,EAAE/c,MAAQ+c,EAAEw5J,cAAc,CAACiY,UAAU,EAAEC,UAAU,KAAKC,YAAY,MAAM9wI,GAAE+wI,GAAGxjG,IAAIA,IAAIzvF,MAAM,CAAC,GAAG,KAAO,WAAFA,GAAc,OAAOohB,EAAE,OAAO0H,EAAEA,EAAEgqK,UAAU9yL,EAAEA,EAAEqhB,EAAE4pK,MAAM5pK,EAAEypK,WAAW,WAAWzpK,EAAEw5J,cAAc,CAACiY,UAAU1xK,EAAE2xK,UAAU,KAAKC,YAAY,MAAM3xK,EAAEsqK,YAAY,KAAKzpI,GAAE+wI,GAAGxjG,IAAIA,IAAIruE,EAAE,KAAKC,EAAEw5J,cAAc,CAACiY,UAAU,EAAEC,UAAU,KAAKC,YAAY,MAAMxxK,EAAE,OAAOsH,EAAEA,EAAEgqK,UAAU9yL,EAAEkiD,GAAE+wI,GAAGxjG,IAAIA,IAAIjuE,CAAC,MAAM,OACtfsH,GAAGtH,EAAEsH,EAAEgqK,UAAU9yL,EAAEqhB,EAAEw5J,cAAc,MAAMr5J,EAAExhB,EAAEkiD,GAAE+wI,GAAGxjG,IAAIA,IAAIjuE,EAAc,OAAZ6wK,GAAGjxK,EAAEC,EAAEoH,EAAEzoB,GAAUqhB,EAAE05J,KAAK,CAAC,SAASmY,GAAG9xK,EAAEC,GAAG,IAAIrhB,EAAEqhB,EAAEynD,KAAO,OAAO1nD,GAAG,OAAOphB,GAAG,OAAOohB,GAAGA,EAAE0nD,MAAM9oE,KAAEqhB,EAAEywC,OAAO,IAAIzwC,EAAEywC,OAAO,QAAO,CAAC,SAAS8gI,GAAGxxK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,IAAIK,EAAE+9J,GAAG7mL,GAAGwmL,GAAG1kI,GAAE1pB,QAAmD,OAA3CtP,EAAE29J,GAAGplK,EAAEyH,GAAGqmE,GAAG9tE,EAAEoH,GAAGzoB,EAAE6tL,GAAGzsK,EAAEC,EAAErhB,EAAEwhB,EAAEsH,EAAEL,GAAGjH,EAAE0sK,KAAQ,OAAO9sK,GAAI8pK,IAA2ElvI,IAAGx6B,GAAGwmK,GAAG3mK,GAAGA,EAAEywC,OAAO,EAAEugI,GAAGjxK,EAAEC,EAAErhB,EAAEyoB,GAAUpH,EAAE05J,QAA7G15J,EAAEsqK,YAAYvqK,EAAEuqK,YAAYtqK,EAAEywC,QAAQ,KAAK1wC,EAAE6pK,QAAQxiK,EAAE8pK,GAAGnxK,EAAEC,EAAEoH,GAAoD,CACla,SAAS0qK,GAAG/xK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,GAAGo+J,GAAG7mL,GAAG,CAAC,IAAI8oB,GAAE,EAAGo+J,GAAG7lK,EAAE,MAAMyH,GAAE,EAAW,GAARqmE,GAAG9tE,EAAEoH,GAAM,OAAOpH,EAAEq5J,UAAU0Y,GAAGhyK,EAAEC,GAAGyvK,GAAGzvK,EAAErhB,EAAEwhB,GAAGioE,GAAGpoE,EAAErhB,EAAEwhB,EAAEiH,GAAGjH,GAAE,OAAQ,GAAG,OAAOJ,EAAE,CAAC,IAAIpS,EAAEqS,EAAEq5J,UAAUtxJ,EAAE/H,EAAE4nK,cAAcj6K,EAAEw2F,MAAMp8E,EAAE,IAAIpqB,EAAEgQ,EAAEoiJ,QAAQ30I,EAAEzc,EAAE+wL,YAAY,kBAAkBt0K,GAAG,OAAOA,EAAEA,EAAE0uK,GAAG1uK,GAAyBA,EAAEgqK,GAAGplK,EAA1B5E,EAAEoqK,GAAG7mL,GAAGwmL,GAAG1kI,GAAE1pB,SAAmB,IAAI30B,EAAEzD,EAAEoxL,yBAAyBjwK,EAAE,oBAAoB1d,GAAG,oBAAoBuL,EAAEqiL,wBAAwBlwK,GAAG,oBAAoBnS,EAAEmiL,kCAAkC,oBAAoBniL,EAAEkiL,4BAC1d9nK,IAAI5H,GAAGxiB,IAAIyd,IAAIw0K,GAAG5vK,EAAErS,EAAEwS,EAAE/E,GAAGgvK,IAAG,EAAG,IAAIv8K,EAAEmS,EAAEw5J,cAAc7rK,EAAE4G,MAAM1G,EAAEq9K,GAAGlrK,EAAEG,EAAExS,EAAEyZ,GAAGzpB,EAAEqiB,EAAEw5J,cAAczxJ,IAAI5H,GAAGtS,IAAIlQ,GAAGunL,GAAGnuJ,SAASqzJ,IAAI,oBAAoBhoL,IAAIimF,GAAGroE,EAAErhB,EAAEyD,EAAE+d,GAAGxiB,EAAEqiB,EAAEw5J,gBAAgBzxJ,EAAEqiK,IAAIjiG,GAAGnoE,EAAErhB,EAAEopB,EAAE5H,EAAEtS,EAAElQ,EAAEyd,KAAK0E,GAAG,oBAAoBnS,EAAEsiL,2BAA2B,oBAAoBtiL,EAAEuiL,qBAAqB,oBAAoBviL,EAAEuiL,oBAAoBviL,EAAEuiL,qBAAqB,oBAAoBviL,EAAEsiL,2BAA2BtiL,EAAEsiL,6BAA6B,oBAAoBtiL,EAAEwiL,oBAAoBnwK,EAAEywC,OAAO,WAClf,oBAAoB9iD,EAAEwiL,oBAAoBnwK,EAAEywC,OAAO,SAASzwC,EAAE4nK,cAAcznK,EAAEH,EAAEw5J,cAAc77K,GAAGgQ,EAAEw2F,MAAMhkF,EAAExS,EAAE4G,MAAM5W,EAAEgQ,EAAEoiJ,QAAQ30I,EAAE+E,EAAE4H,IAAI,oBAAoBpa,EAAEwiL,oBAAoBnwK,EAAEywC,OAAO,SAAStwC,GAAE,EAAG,KAAK,CAACxS,EAAEqS,EAAEq5J,UAAUz6B,GAAG7+H,EAAEC,GAAG+H,EAAE/H,EAAE4nK,cAAcxsK,EAAE4E,EAAElgB,OAAOkgB,EAAEknK,YAAYn/J,EAAEoyD,GAAGn6D,EAAElgB,KAAKioB,GAAGpa,EAAEw2F,MAAM/oF,EAAE0E,EAAEE,EAAEqnK,aAAax5K,EAAEF,EAAEoiJ,QAAwB,kBAAhBpyJ,EAAEgB,EAAE+wL,cAAiC,OAAO/xL,EAAEA,EAAEmsL,GAAGnsL,GAAyBA,EAAEynL,GAAGplK,EAA1BriB,EAAE6nL,GAAG7mL,GAAGwmL,GAAG1kI,GAAE1pB,SAAmB,IAAI5sB,EAAExL,EAAEoxL,0BAA0B3tL,EAAE,oBAAoB+H,GAAG,oBAAoBwD,EAAEqiL,0BAC9e,oBAAoBriL,EAAEmiL,kCAAkC,oBAAoBniL,EAAEkiL,4BAA4B9nK,IAAIjI,GAAGjS,IAAIlQ,IAAIiyL,GAAG5vK,EAAErS,EAAEwS,EAAExiB,GAAGysL,IAAG,EAAGv8K,EAAEmS,EAAEw5J,cAAc7rK,EAAE4G,MAAM1G,EAAEq9K,GAAGlrK,EAAEG,EAAExS,EAAEyZ,GAAG,IAAIjlB,EAAE6d,EAAEw5J,cAAczxJ,IAAIjI,GAAGjS,IAAI1L,GAAG+iL,GAAGnuJ,SAASqzJ,IAAI,oBAAoBjgL,IAAIk+E,GAAGroE,EAAErhB,EAAEwL,EAAEgW,GAAGhe,EAAE6d,EAAEw5J,gBAAgBp+J,EAAEgvK,IAAIjiG,GAAGnoE,EAAErhB,EAAEyc,EAAE+E,EAAEtS,EAAE1L,EAAExE,KAAI,IAAKyE,GAAG,oBAAoBuL,EAAEqkL,4BAA4B,oBAAoBrkL,EAAEskL,sBAAsB,oBAAoBtkL,EAAEskL,qBAAqBtkL,EAAEskL,oBAAoB9xK,EAAEhe,EAAExE,GAAG,oBAAoBgQ,EAAEqkL,4BAC5frkL,EAAEqkL,2BAA2B7xK,EAAEhe,EAAExE,IAAI,oBAAoBgQ,EAAEukL,qBAAqBlyK,EAAEywC,OAAO,GAAG,oBAAoB9iD,EAAEqiL,0BAA0BhwK,EAAEywC,OAAO,QAAQ,oBAAoB9iD,EAAEukL,oBAAoBnqK,IAAIhI,EAAE6nK,eAAe/5K,IAAIkS,EAAEy5J,gBAAgBx5J,EAAEywC,OAAO,GAAG,oBAAoB9iD,EAAEqiL,yBAAyBjoK,IAAIhI,EAAE6nK,eAAe/5K,IAAIkS,EAAEy5J,gBAAgBx5J,EAAEywC,OAAO,MAAMzwC,EAAE4nK,cAAcznK,EAAEH,EAAEw5J,cAAcr3K,GAAGwL,EAAEw2F,MAAMhkF,EAAExS,EAAE4G,MAAMpS,EAAEwL,EAAEoiJ,QAAQpyJ,EAAEwiB,EAAE/E,IAAI,oBAAoBzN,EAAEukL,oBAAoBnqK,IAAIhI,EAAE6nK,eAAe/5K,IACjfkS,EAAEy5J,gBAAgBx5J,EAAEywC,OAAO,GAAG,oBAAoB9iD,EAAEqiL,yBAAyBjoK,IAAIhI,EAAE6nK,eAAe/5K,IAAIkS,EAAEy5J,gBAAgBx5J,EAAEywC,OAAO,MAAMtwC,GAAE,EAAG,CAAC,OAAOgyK,GAAGpyK,EAAEC,EAAErhB,EAAEwhB,EAAEsH,EAAEL,EAAE,CACnK,SAAS+qK,GAAGpyK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,GAAGoqK,GAAG9xK,EAAEC,GAAG,IAAIrS,EAAE,KAAa,IAARqS,EAAEywC,OAAW,IAAItwC,IAAIxS,EAAE,OAAOyZ,GAAG2+J,GAAG/lK,EAAErhB,GAAE,GAAIuyL,GAAGnxK,EAAEC,EAAEyH,GAAGtH,EAAEH,EAAEq5J,UAAUyX,GAAG/5J,QAAQ/W,EAAE,IAAI+H,EAAEpa,GAAG,oBAAoBhP,EAAE8xL,yBAAyB,KAAKtwK,EAAEoxD,SAAwI,OAA/HvxD,EAAEywC,OAAO,EAAE,OAAO1wC,GAAGpS,GAAGqS,EAAE05J,MAAMqP,GAAG/oK,EAAED,EAAE25J,MAAM,KAAKjyJ,GAAGzH,EAAE05J,MAAMqP,GAAG/oK,EAAE,KAAK+H,EAAEN,IAAIupK,GAAGjxK,EAAEC,EAAE+H,EAAEN,GAAGzH,EAAEw5J,cAAcr5J,EAAE5L,MAAM6S,GAAG2+J,GAAG/lK,EAAErhB,GAAE,GAAWqhB,EAAE05J,KAAK,CAAC,SAAS0Y,GAAGryK,GAAG,IAAIC,EAAED,EAAEs5J,UAAUr5J,EAAEqyK,eAAe1M,GAAG5lK,EAAEC,EAAEqyK,eAAeryK,EAAEqyK,iBAAiBryK,EAAE+vI,SAAS/vI,EAAE+vI,SAAS41B,GAAG5lK,EAAEC,EAAE+vI,SAAQ,GAAIw7B,GAAGxrK,EAAEC,EAAEu7J,cAAc,CAC5e,SAAS90C,GAAG1mH,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAuC,OAApC0gK,KAAKC,GAAG3gK,GAAGpH,EAAEywC,OAAO,IAAIugI,GAAGjxK,EAAEC,EAAErhB,EAAEwhB,GAAUH,EAAE05J,KAAK,CAAC,IAaqL4Y,GAAGC,GAAGC,GAAGC,GAb1LC,GAAG,CAACjZ,WAAW,KAAK6N,YAAY,KAAKC,UAAU,GAAG,SAASoL,GAAG5yK,GAAG,MAAM,CAAC0xK,UAAU1xK,EAAE2xK,UAAU,KAAKC,YAAY,KAAK,CAClM,SAASiB,GAAG7yK,EAAEC,EAAErhB,GAAG,IAA0DopB,EAAtD5H,EAAEH,EAAEqnK,aAAajgK,EAAEjB,GAAE4Q,QAAQtP,GAAE,EAAG9Z,EAAE,KAAa,IAARqS,EAAEywC,OAAqJ,IAAvI1oC,EAAEpa,KAAKoa,GAAE,OAAOhI,GAAG,OAAOA,EAAEy5J,gBAAiB,KAAO,EAAFpyJ,IAASW,GAAEN,GAAE,EAAGzH,EAAEywC,QAAQ,KAAY,OAAO1wC,GAAG,OAAOA,EAAEy5J,gBAAcpyJ,GAAG,GAAEy5B,GAAE16B,GAAI,EAAFiB,GAAQ,OAAOrH,EAA2B,OAAxB0nK,GAAGznK,GAAwB,QAArBD,EAAEC,EAAEw5J,gBAA2C,QAAfz5J,EAAEA,EAAE05J,aAA4B,KAAY,EAAPz5J,EAAE/c,MAAQ+c,EAAE4pK,MAAM,EAAE,OAAO7pK,EAAEle,KAAKme,EAAE4pK,MAAM,EAAE5pK,EAAE4pK,MAAM,WAAW,OAAKj8K,EAAEwS,EAAEmxD,SAASvxD,EAAEI,EAAE5S,SAAgBka,GAAGtH,EAAEH,EAAE/c,KAAKwkB,EAAEzH,EAAE05J,MAAM/rK,EAAE,CAAC1K,KAAK,SAASquE,SAAS3jE,GAAG,KAAO,EAAFwS,IAAM,OAAOsH,GAAGA,EAAEgiK,WAAW,EAAEhiK,EAAE4/J,aAC7e15K,GAAG8Z,EAAEorK,GAAGllL,EAAEwS,EAAE,EAAE,MAAMJ,EAAE8oK,GAAG9oK,EAAEI,EAAExhB,EAAE,MAAM8oB,EAAE8xJ,OAAOv5J,EAAED,EAAEw5J,OAAOv5J,EAAEyH,EAAEkyJ,QAAQ55J,EAAEC,EAAE05J,MAAMjyJ,EAAEzH,EAAE05J,MAAMF,cAAcmZ,GAAGh0L,GAAGqhB,EAAEw5J,cAAckZ,GAAG3yK,GAAG+yK,GAAG9yK,EAAErS,IAAqB,GAAG,QAArByZ,EAAErH,EAAEy5J,gBAA2C,QAAfzxJ,EAAEX,EAAEqyJ,YAAqB,OAGpM,SAAY15J,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,EAAE9Z,GAAG,GAAGhP,EAAG,OAAW,IAARqhB,EAAEywC,OAAiBzwC,EAAEywC,QAAQ,IAAwBsiI,GAAGhzK,EAAEC,EAAErS,EAA3BwS,EAAEmwK,GAAG3zL,MAAMke,EAAE,SAAsB,OAAOmF,EAAEw5J,eAAqBx5J,EAAE05J,MAAM35J,EAAE25J,MAAM15J,EAAEywC,OAAO,IAAI,OAAKhpC,EAAEtH,EAAE5S,SAAS6Z,EAAEpH,EAAE/c,KAAKkd,EAAE0yK,GAAG,CAAC5vL,KAAK,UAAUquE,SAASnxD,EAAEmxD,UAAUlqD,EAAE,EAAE,OAAMK,EAAEohK,GAAGphK,EAAEL,EAAEzZ,EAAE,OAAQ8iD,OAAO,EAAEtwC,EAAEo5J,OAAOv5J,EAAEyH,EAAE8xJ,OAAOv5J,EAAEG,EAAEw5J,QAAQlyJ,EAAEzH,EAAE05J,MAAMv5J,EAAE,KAAY,EAAPH,EAAE/c,OAAS8lL,GAAG/oK,EAAED,EAAE25J,MAAM,KAAK/rK,GAAGqS,EAAE05J,MAAMF,cAAcmZ,GAAGhlL,GAAGqS,EAAEw5J,cAAckZ,GAAUjrK,GAAE,GAAG,KAAY,EAAPzH,EAAE/c,MAAQ,OAAO8vL,GAAGhzK,EAAEC,EAAErS,EAAE,MAAM,GAAG,OAAOyZ,EAAEvlB,KAAK,CAChd,GADidse,EAAEiH,EAAEknD,aAAalnD,EAAEknD,YAAY0kH,QAC3e,IAAIjrK,EAAE5H,EAAE8yK,KAA0C,OAArC9yK,EAAE4H,EAA0CgrK,GAAGhzK,EAAEC,EAAErS,EAA/BwS,EAAEmwK,GAAlB7oK,EAAE9qB,MAAMke,EAAE,MAAasF,OAAE,GAA0B,CAAwB,GAAvB4H,EAAE,KAAKpa,EAAEoS,EAAE0pK,YAAeI,IAAI9hK,EAAE,CAAK,GAAG,QAAP5H,EAAEkhC,IAAc,CAAC,OAAO1zC,GAAGA,GAAG,KAAK,EAAEyZ,EAAE,EAAE,MAAM,KAAK,GAAGA,EAAE,EAAE,MAAM,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,SAASA,EAAE,GAAG,MAAM,KAAK,UAAUA,EAAE,UAAU,MAAM,QAAQA,EAAE,EAChd,KADkdA,EAAE,KAAKA,GAAGjH,EAAEs6J,eAAe9sK,IAAI,EAAEyZ,IAC5eA,IAAIK,EAAE8/J,YAAY9/J,EAAE8/J,UAAUngK,EAAE+iK,GAAGpqK,EAAEqH,GAAGq2D,GAAGt9D,EAAEJ,EAAEqH,GAAG,GAAG,CAA0B,OAAzB8rK,KAAgCH,GAAGhzK,EAAEC,EAAErS,EAAlCwS,EAAEmwK,GAAG3zL,MAAMke,EAAE,OAAyB,CAAC,MAAG,OAAOuM,EAAEvlB,MAAYme,EAAEywC,OAAO,IAAIzwC,EAAE05J,MAAM35J,EAAE25J,MAAM15J,EAAEmzK,GAAG/4I,KAAK,KAAKr6B,GAAGqH,EAAEgsK,YAAYpzK,EAAE,OAAKD,EAAE0H,EAAE6/J,YAAYR,GAAGvC,GAAGn9J,EAAEknD,aAAau4G,GAAG7mK,EAAE26B,IAAE,EAAGosI,GAAG,KAAK,OAAOhnK,IAAIwmK,GAAG34K,MAAM64K,GAAGF,GAAG34K,MAAMmiF,GAAGw2F,GAAG34K,MAAM44K,GAAGC,GAAG1mK,EAAE0a,GAAGs1D,GAAGhwE,EAAEwQ,SAASi2J,GAAGxmK,GAAGA,EAAE8yK,GAAG9yK,EAAEG,EAAEmxD,UAAUtxD,EAAEywC,OAAO,KAAYzwC,EAAC,CALrKqzK,CAAGtzK,EAAEC,EAAErS,EAAEwS,EAAE4H,EAAEX,EAAEzoB,GAAG,GAAG8oB,EAAE,CAACA,EAAEtH,EAAE5S,SAASI,EAAEqS,EAAE/c,KAAe8kB,GAAVX,EAAErH,EAAE25J,OAAUC,QAAQ,IAAIh8K,EAAE,CAACsF,KAAK,SAASquE,SAASnxD,EAAEmxD,UAChF,OAD0F,KAAO,EAAF3jE,IAAMqS,EAAE05J,QAAQtyJ,IAAGjH,EAAEH,EAAE05J,OAAQ+P,WAAW,EAAEtpK,EAAEknK,aAAa1pL,EAAEqiB,EAAEmnK,UAAU,OAAOhnK,EAAEqoK,GAAGphK,EAAEzpB,IAAK21L,aAA4B,SAAflsK,EAAEksK,aAAuB,OAAOvrK,EAAEN,EAAE+gK,GAAGzgK,EAAEN,IAAIA,EAAEohK,GAAGphK,EAAE9Z,EAAEhP,EAAE,OAAQ8xD,OAAO,EAAGhpC,EAAE8xJ,OACnfv5J,EAAEG,EAAEo5J,OAAOv5J,EAAEG,EAAEw5J,QAAQlyJ,EAAEzH,EAAE05J,MAAMv5J,EAAEA,EAAEsH,EAAEA,EAAEzH,EAAE05J,MAA8B/rK,EAAE,QAA1BA,EAAEoS,EAAE25J,MAAMF,eAAyBmZ,GAAGh0L,GAAG,CAAC8yL,UAAU9jL,EAAE8jL,UAAU9yL,EAAE+yL,UAAU,KAAKC,YAAYhkL,EAAEgkL,aAAalqK,EAAE+xJ,cAAc7rK,EAAE8Z,EAAEgiK,WAAW1pK,EAAE0pK,YAAY9qL,EAAEqhB,EAAEw5J,cAAckZ,GAAUvyK,CAAC,CAAoO,OAAzNJ,GAAV0H,EAAE1H,EAAE25J,OAAUC,QAAQx5J,EAAEqoK,GAAG/gK,EAAE,CAACxkB,KAAK,UAAUquE,SAASnxD,EAAEmxD,WAAW,KAAY,EAAPtxD,EAAE/c,QAAUkd,EAAEypK,MAAMjrL,GAAGwhB,EAAEo5J,OAAOv5J,EAAEG,EAAEw5J,QAAQ,KAAK,OAAO55J,IAAkB,QAAdphB,EAAEqhB,EAAEmnK,YAAoBnnK,EAAEmnK,UAAU,CAACpnK,GAAGC,EAAEywC,OAAO,IAAI9xD,EAAEqD,KAAK+d,IAAIC,EAAE05J,MAAMv5J,EAAEH,EAAEw5J,cAAc,KAAYr5J,CAAC,CACnd,SAAS2yK,GAAG/yK,EAAEC,GAA8D,OAA3DA,EAAE6yK,GAAG,CAAC5vL,KAAK,UAAUquE,SAAStxD,GAAGD,EAAE9c,KAAK,EAAE,OAAQs2K,OAAOx5J,EAASA,EAAE25J,MAAM15J,CAAC,CAAC,SAAS+yK,GAAGhzK,EAAEC,EAAErhB,EAAEwhB,GAAwG,OAArG,OAAOA,GAAG4nK,GAAG5nK,GAAG4oK,GAAG/oK,EAAED,EAAE25J,MAAM,KAAK/6K,IAAGohB,EAAE+yK,GAAG9yK,EAAEA,EAAEqnK,aAAa/1G,WAAY7gB,OAAO,EAAEzwC,EAAEw5J,cAAc,KAAYz5J,CAAC,CAGkJ,SAASwzK,GAAGxzK,EAAEC,EAAErhB,GAAGohB,EAAE6pK,OAAO5pK,EAAE,IAAIG,EAAEJ,EAAEu5J,UAAU,OAAOn5J,IAAIA,EAAEypK,OAAO5pK,GAAGwpK,GAAGzpK,EAAEw5J,OAAOv5J,EAAErhB,EAAE,CACxc,SAAS60L,GAAGzzK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,IAAIK,EAAE1H,EAAEy5J,cAAc,OAAO/xJ,EAAE1H,EAAEy5J,cAAc,CAACia,YAAYzzK,EAAE0zK,UAAU,KAAKC,mBAAmB,EAAEhqL,KAAKwW,EAAEyzK,KAAKj1L,EAAEk1L,SAASzsK,IAAIK,EAAEgsK,YAAYzzK,EAAEyH,EAAEisK,UAAU,KAAKjsK,EAAEksK,mBAAmB,EAAElsK,EAAE9d,KAAKwW,EAAEsH,EAAEmsK,KAAKj1L,EAAE8oB,EAAEosK,SAASzsK,EAAE,CAC3O,SAAS0sK,GAAG/zK,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEH,EAAEqnK,aAAajgK,EAAEjH,EAAEwrK,YAAYlkK,EAAEtH,EAAEyzK,KAAsC,GAAjC5C,GAAGjxK,EAAEC,EAAEG,EAAEmxD,SAAS3yE,GAAkB,KAAO,GAAtBwhB,EAAEgG,GAAE4Q,UAAqB5W,EAAI,EAAFA,EAAI,EAAEH,EAAEywC,OAAO,QAAQ,CAAC,GAAG,OAAO1wC,GAAG,KAAa,IAARA,EAAE0wC,OAAW1wC,EAAE,IAAIA,EAAEC,EAAE05J,MAAM,OAAO35J,GAAG,CAAC,GAAG,KAAKA,EAAE64E,IAAI,OAAO74E,EAAEy5J,eAAe+Z,GAAGxzK,EAAEphB,EAAEqhB,QAAQ,GAAG,KAAKD,EAAE64E,IAAI26F,GAAGxzK,EAAEphB,EAAEqhB,QAAQ,GAAG,OAAOD,EAAE25J,MAAM,CAAC35J,EAAE25J,MAAMH,OAAOx5J,EAAEA,EAAEA,EAAE25J,MAAM,QAAQ,CAAC,GAAG35J,IAAIC,EAAE,MAAMD,EAAE,KAAK,OAAOA,EAAE45J,SAAS,CAAC,GAAG,OAAO55J,EAAEw5J,QAAQx5J,EAAEw5J,SAASv5J,EAAE,MAAMD,EAAEA,EAAEA,EAAEw5J,MAAM,CAACx5J,EAAE45J,QAAQJ,OAAOx5J,EAAEw5J,OAAOx5J,EAAEA,EAAE45J,OAAO,CAACx5J,GAAG,CAAC,CAAQ,GAAP0gC,GAAE16B,GAAEhG,GAAM,KAAY,EAAPH,EAAE/c,MAAQ+c,EAAEw5J,cAC/e,UAAU,OAAOpyJ,GAAG,IAAK,WAAqB,IAAVzoB,EAAEqhB,EAAE05J,MAAUtyJ,EAAE,KAAK,OAAOzoB,GAAiB,QAAdohB,EAAEphB,EAAE26K,YAAoB,OAAOoS,GAAG3rK,KAAKqH,EAAEzoB,GAAGA,EAAEA,EAAEg7K,QAAY,QAAJh7K,EAAEyoB,IAAYA,EAAEpH,EAAE05J,MAAM15J,EAAE05J,MAAM,OAAOtyJ,EAAEzoB,EAAEg7K,QAAQh7K,EAAEg7K,QAAQ,MAAM6Z,GAAGxzK,GAAE,EAAGoH,EAAEzoB,EAAE8oB,GAAG,MAAM,IAAK,YAA6B,IAAjB9oB,EAAE,KAAKyoB,EAAEpH,EAAE05J,MAAU15J,EAAE05J,MAAM,KAAK,OAAOtyJ,GAAG,CAAe,GAAG,QAAjBrH,EAAEqH,EAAEkyJ,YAAuB,OAAOoS,GAAG3rK,GAAG,CAACC,EAAE05J,MAAMtyJ,EAAE,KAAK,CAACrH,EAAEqH,EAAEuyJ,QAAQvyJ,EAAEuyJ,QAAQh7K,EAAEA,EAAEyoB,EAAEA,EAAErH,CAAC,CAACyzK,GAAGxzK,GAAE,EAAGrhB,EAAE,KAAK8oB,GAAG,MAAM,IAAK,WAAW+rK,GAAGxzK,GAAE,EAAG,KAAK,UAAK,GAAQ,MAAM,QAAQA,EAAEw5J,cAAc,KAAK,OAAOx5J,EAAE05J,KAAK,CAC7d,SAASqY,GAAGhyK,EAAEC,GAAG,KAAY,EAAPA,EAAE/c,OAAS,OAAO8c,IAAIA,EAAEu5J,UAAU,KAAKt5J,EAAEs5J,UAAU,KAAKt5J,EAAEywC,OAAO,EAAE,CAAC,SAASygI,GAAGnxK,EAAEC,EAAErhB,GAAyD,GAAtD,OAAOohB,IAAIC,EAAE0pK,aAAa3pK,EAAE2pK,cAAcyB,IAAInrK,EAAE4pK,MAAS,KAAKjrL,EAAEqhB,EAAEypK,YAAY,OAAO,KAAK,GAAG,OAAO1pK,GAAGC,EAAE05J,QAAQ35J,EAAE25J,MAAM,MAAM/8K,MAAMke,EAAE,MAAM,GAAG,OAAOmF,EAAE05J,MAAM,CAA4C,IAAjC/6K,EAAE6pL,GAAZzoK,EAAEC,EAAE05J,MAAa35J,EAAEsnK,cAAcrnK,EAAE05J,MAAM/6K,EAAMA,EAAE46K,OAAOv5J,EAAE,OAAOD,EAAE45J,SAAS55J,EAAEA,EAAE45J,SAAQh7K,EAAEA,EAAEg7K,QAAQ6O,GAAGzoK,EAAEA,EAAEsnK,eAAgB9N,OAAOv5J,EAAErhB,EAAEg7K,QAAQ,IAAI,CAAC,OAAO35J,EAAE05J,KAAK,CAO9a,SAASqa,GAAGh0K,EAAEC,GAAG,IAAI26B,GAAE,OAAO56B,EAAE8zK,UAAU,IAAK,SAAS7zK,EAAED,EAAE6zK,KAAK,IAAI,IAAIj1L,EAAE,KAAK,OAAOqhB,GAAG,OAAOA,EAAEs5J,YAAY36K,EAAEqhB,GAAGA,EAAEA,EAAE25J,QAAQ,OAAOh7K,EAAEohB,EAAE6zK,KAAK,KAAKj1L,EAAEg7K,QAAQ,KAAK,MAAM,IAAK,YAAYh7K,EAAEohB,EAAE6zK,KAAK,IAAI,IAAIzzK,EAAE,KAAK,OAAOxhB,GAAG,OAAOA,EAAE26K,YAAYn5J,EAAExhB,GAAGA,EAAEA,EAAEg7K,QAAQ,OAAOx5J,EAAEH,GAAG,OAAOD,EAAE6zK,KAAK7zK,EAAE6zK,KAAK,KAAK7zK,EAAE6zK,KAAKja,QAAQ,KAAKx5J,EAAEw5J,QAAQ,KAAK,CAC5U,SAASr/H,GAAEv6B,GAAG,IAAIC,EAAE,OAAOD,EAAEu5J,WAAWv5J,EAAEu5J,UAAUI,QAAQ35J,EAAE25J,MAAM/6K,EAAE,EAAEwhB,EAAE,EAAE,GAAGH,EAAE,IAAI,IAAIoH,EAAErH,EAAE25J,MAAM,OAAOtyJ,GAAGzoB,GAAGyoB,EAAEwiK,MAAMxiK,EAAEqiK,WAAWtpK,GAAkB,SAAfiH,EAAEksK,aAAsBnzK,GAAW,SAARiH,EAAEqpC,MAAerpC,EAAEmyJ,OAAOx5J,EAAEqH,EAAEA,EAAEuyJ,aAAa,IAAIvyJ,EAAErH,EAAE25J,MAAM,OAAOtyJ,GAAGzoB,GAAGyoB,EAAEwiK,MAAMxiK,EAAEqiK,WAAWtpK,GAAGiH,EAAEksK,aAAanzK,GAAGiH,EAAEqpC,MAAMrpC,EAAEmyJ,OAAOx5J,EAAEqH,EAAEA,EAAEuyJ,QAAyC,OAAjC55J,EAAEuzK,cAAcnzK,EAAEJ,EAAE0pK,WAAW9qL,EAASqhB,CAAC,CAC7V,SAASg0K,GAAGj0K,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEH,EAAEqnK,aAAmB,OAANT,GAAG5mK,GAAUA,EAAE44E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAOt+C,GAAEt6B,GAAG,KAAK,KAAK,EAUtD,KAAK,GAAG,OAAOwlK,GAAGxlK,EAAElgB,OAAO4lL,KAAKprI,GAAEt6B,GAAG,KAVqD,KAAK,EAA2Q,OAAzQG,EAAEH,EAAEq5J,UAAUtrF,KAAK9xC,GAAEipI,IAAIjpI,GAAEwE,IAAGorI,KAAK1rK,EAAEkyK,iBAAiBlyK,EAAE4vI,QAAQ5vI,EAAEkyK,eAAelyK,EAAEkyK,eAAe,MAAS,OAAOtyK,GAAG,OAAOA,EAAE25J,QAAMiO,GAAG3nK,GAAGA,EAAEywC,OAAO,EAAE,OAAO1wC,GAAGA,EAAEy5J,cAAc8B,cAAc,KAAa,IAARt7J,EAAEywC,SAAazwC,EAAEywC,OAAO,KAAK,OAAOs2H,KAAKkN,GAAGlN,IAAIA,GAAG,QAAOwL,GAAGxyK,EAAEC,GAAGs6B,GAAEt6B,GAAU,KAAK,KAAK,EAAEyrK,GAAGzrK,GAAG,IAAIoH,EAAEwpE,GAAG06F,GAAGv0J,SAC7e,GAATp4B,EAAEqhB,EAAElgB,KAAQ,OAAOigB,GAAG,MAAMC,EAAEq5J,UAAUmZ,GAAGzyK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAGrH,EAAE0nD,MAAMznD,EAAEynD,MAAMznD,EAAEywC,OAAO,IAAIzwC,EAAEywC,OAAO,aAAa,CAAC,IAAItwC,EAAE,CAAC,GAAG,OAAOH,EAAEq5J,UAAU,MAAM18K,MAAMke,EAAE,MAAW,OAALy/B,GAAEt6B,GAAU,IAAI,CAAkB,GAAjBD,EAAE6wE,GAAGw6F,GAAGr0J,SAAY4wJ,GAAG3nK,GAAG,CAACG,EAAEH,EAAEq5J,UAAU16K,EAAEqhB,EAAElgB,KAAK,IAAI2nB,EAAEzH,EAAE4nK,cAA+C,OAAjCznK,EAAEwkK,IAAI3kK,EAAEG,EAAEykK,IAAIn9J,EAAE1H,EAAE,KAAY,EAAPC,EAAE/c,MAAetE,GAAG,IAAK,SAASuhD,GAAE,SAAS//B,GAAG+/B,GAAE,QAAQ//B,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQ+/B,GAAE,OAAO//B,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIiH,EAAE,EAAEA,EAAEolB,GAAGrvC,OAAOiqB,IAAI84B,GAAE1T,GAAGplB,GAAGjH,GAAG,MAAM,IAAK,SAAS+/B,GAAE,QAAQ//B,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAO+/B,GAAE,QACnhB//B,GAAG+/B,GAAE,OAAO//B,GAAG,MAAM,IAAK,UAAU+/B,GAAE,SAAS//B,GAAG,MAAM,IAAK,QAAQmgE,EAAGngE,EAAEsH,GAAGy4B,GAAE,UAAU//B,GAAG,MAAM,IAAK,SAASA,EAAEw1J,cAAc,CAACue,cAAczsK,EAAE0sK,UAAUj0I,GAAE,UAAU//B,GAAG,MAAM,IAAK,WAAWo4D,GAAGp4D,EAAEsH,GAAGy4B,GAAE,UAAU//B,GAAkB,IAAI,IAAIxS,KAAvB4wE,GAAG5/E,EAAE8oB,GAAGL,EAAE,KAAkBK,EAAE,GAAGA,EAAE/K,eAAe/O,GAAG,CAAC,IAAIoa,EAAEN,EAAE9Z,GAAG,aAAaA,EAAE,kBAAkBoa,EAAE5H,EAAEqW,cAAczO,KAAI,IAAKN,EAAE2sK,0BAA0BxQ,GAAGzjK,EAAEqW,YAAYzO,EAAEhI,GAAGqH,EAAE,CAAC,WAAWW,IAAI,kBAAkBA,GAAG5H,EAAEqW,cAAc,GAAGzO,KAAI,IAAKN,EAAE2sK,0BAA0BxQ,GAAGzjK,EAAEqW,YAC1ezO,EAAEhI,GAAGqH,EAAE,CAAC,WAAW,GAAGW,IAAIwvD,EAAG76D,eAAe/O,IAAI,MAAMoa,GAAG,aAAapa,GAAGuyC,GAAE,SAAS//B,EAAE,CAAC,OAAOxhB,GAAG,IAAK,QAAQijF,EAAGzhE,GAAG41J,EAAG51J,EAAEsH,GAAE,GAAI,MAAM,IAAK,WAAWm6D,EAAGzhE,GAAGg/D,GAAGh/D,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoBsH,EAAE4sK,UAAUl0K,EAAEm0K,QAAQzQ,IAAI1jK,EAAEiH,EAAEpH,EAAEsqK,YAAYnqK,EAAE,OAAOA,IAAIH,EAAEywC,OAAO,EAAE,KAAK,CAAC9iD,EAAE,IAAIyZ,EAAEi5C,SAASj5C,EAAEA,EAAE4uJ,cAAc,iCAAiCj2J,IAAIA,EAAEk4D,GAAGt5E,IAAI,iCAAiCohB,EAAE,WAAWphB,IAAGohB,EAAEpS,EAAEua,cAAc,QAASoO,UAAU,qBAAuBvW,EAAEA,EAAEsvD,YAAYtvD,EAAEsuD,aAC/f,kBAAkBluD,EAAEwuE,GAAG5uE,EAAEpS,EAAEua,cAAcvpB,EAAE,CAACgwF,GAAGxuE,EAAEwuE,MAAM5uE,EAAEpS,EAAEua,cAAcvpB,GAAG,WAAWA,IAAIgP,EAAEoS,EAAEI,EAAEg0K,SAASxmL,EAAEwmL,UAAS,EAAGh0K,EAAE1a,OAAOkI,EAAElI,KAAK0a,EAAE1a,QAAQsa,EAAEpS,EAAEqkG,gBAAgBjyF,EAAEphB,GAAGohB,EAAE4kK,IAAI3kK,EAAED,EAAE6kK,IAAIzkK,EAAEmyK,GAAGvyK,EAAEC,GAAE,GAAG,GAAIA,EAAEq5J,UAAUt5J,EAAEA,EAAE,CAAW,OAAVpS,EAAE2vE,GAAG3+E,EAAEwhB,GAAUxhB,GAAG,IAAK,SAASuhD,GAAE,SAASngC,GAAGmgC,GAAE,QAAQngC,GAAGqH,EAAEjH,EAAE,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQ+/B,GAAE,OAAOngC,GAAGqH,EAAEjH,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIiH,EAAE,EAAEA,EAAEolB,GAAGrvC,OAAOiqB,IAAI84B,GAAE1T,GAAGplB,GAAGrH,GAAGqH,EAAEjH,EAAE,MAAM,IAAK,SAAS+/B,GAAE,QAAQngC,GAAGqH,EAAEjH,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAO+/B,GAAE,QAClfngC,GAAGmgC,GAAE,OAAOngC,GAAGqH,EAAEjH,EAAE,MAAM,IAAK,UAAU+/B,GAAE,SAASngC,GAAGqH,EAAEjH,EAAE,MAAM,IAAK,QAAQmgE,EAAGvgE,EAAEI,GAAGiH,EAAE8zD,EAAGn7D,EAAEI,GAAG+/B,GAAE,UAAUngC,GAAG,MAAM,IAAK,SAAiL,QAAQqH,EAAEjH,QAAxK,IAAK,SAASJ,EAAE41J,cAAc,CAACue,cAAc/zK,EAAEg0K,UAAU/sK,EAAEizB,EAAE,CAAC,EAAEl6B,EAAE,CAAC5a,WAAM,IAAS26C,GAAE,UAAUngC,GAAG,MAAM,IAAK,WAAWw4D,GAAGx4D,EAAEI,GAAGiH,EAAEkgE,GAAGvnE,EAAEI,GAAG+/B,GAAE,UAAUngC,GAAiC,IAAI0H,KAAhB82D,GAAG5/E,EAAEyoB,GAAGW,EAAEX,EAAa,GAAGW,EAAErL,eAAe+K,GAAG,CAAC,IAAI9pB,EAAEoqB,EAAEN,GAAG,UAAUA,EAAEo7D,GAAG9iE,EAAEpiB,GAAG,4BAA4B8pB,EAAuB,OAApB9pB,EAAEA,EAAEA,EAAEsmL,YAAO,IAAgBhgG,GAAGlkE,EAAEpiB,GAAI,aAAa8pB,EAAE,kBAAkB9pB,GAAG,aAC7egB,GAAG,KAAKhB,IAAIk7E,GAAG94D,EAAEpiB,GAAG,kBAAkBA,GAAGk7E,GAAG94D,EAAE,GAAGpiB,GAAG,mCAAmC8pB,GAAG,6BAA6BA,GAAG,cAAcA,IAAI8vD,EAAG76D,eAAe+K,GAAG,MAAM9pB,GAAG,aAAa8pB,GAAGy4B,GAAE,SAASngC,GAAG,MAAMpiB,GAAGslF,EAAGljE,EAAE0H,EAAE9pB,EAAEgQ,GAAG,CAAC,OAAOhP,GAAG,IAAK,QAAQijF,EAAG7hE,GAAGg2J,EAAGh2J,EAAEI,GAAE,GAAI,MAAM,IAAK,WAAWyhE,EAAG7hE,GAAGo/D,GAAGp/D,GAAG,MAAM,IAAK,SAAS,MAAMI,EAAE5a,OAAOwa,EAAEyhG,aAAa,QAAQ,GAAGh6B,EAAGrnE,EAAE5a,QAAQ,MAAM,IAAK,SAASwa,EAAEo0K,WAAWh0K,EAAEg0K,SAAmB,OAAV1sK,EAAEtH,EAAE5a,OAAc+xE,GAAGv3D,IAAII,EAAEg0K,SAAS1sK,GAAE,GAAI,MAAMtH,EAAEuO,cAAc4oD,GAAGv3D,IAAII,EAAEg0K,SAASh0K,EAAEuO,cAClf,GAAI,MAAM,QAAQ,oBAAoBtH,EAAEitK,UAAUt0K,EAAEu0K,QAAQzQ,IAAI,OAAOllL,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAWwhB,IAAIA,EAAEo0K,UAAU,MAAMx0K,EAAE,IAAK,MAAMI,GAAE,EAAG,MAAMJ,EAAE,QAAQI,GAAE,EAAG,CAACA,IAAIH,EAAEywC,OAAO,EAAE,CAAC,OAAOzwC,EAAEynD,MAAMznD,EAAEywC,OAAO,IAAIzwC,EAAEywC,OAAO,QAAQ,CAAM,OAALnW,GAAEt6B,GAAU,KAAK,KAAK,EAAE,GAAGD,GAAG,MAAMC,EAAEq5J,UAAUoZ,GAAG1yK,EAAEC,EAAED,EAAE6nK,cAAcznK,OAAO,CAAC,GAAG,kBAAkBA,GAAG,OAAOH,EAAEq5J,UAAU,MAAM18K,MAAMke,EAAE,MAAsC,GAAhClc,EAAEiyF,GAAG06F,GAAGv0J,SAAS65D,GAAGw6F,GAAGr0J,SAAY4wJ,GAAG3nK,GAAG,CAAyC,GAAxCG,EAAEH,EAAEq5J,UAAU16K,EAAEqhB,EAAE4nK,cAAcznK,EAAEwkK,IAAI3kK,GAAKyH,EAAEtH,EAAEiuD,YAAYzvE,IAC/e,QADofohB,EACvf8mK,IAAY,OAAO9mK,EAAE64E,KAAK,KAAK,EAAEgrF,GAAGzjK,EAAEiuD,UAAUzvE,EAAE,KAAY,EAAPohB,EAAE9c,OAAS,MAAM,KAAK,GAAE,IAAK8c,EAAE6nK,cAAcwM,0BAA0BxQ,GAAGzjK,EAAEiuD,UAAUzvE,EAAE,KAAY,EAAPohB,EAAE9c,OAASwkB,IAAIzH,EAAEywC,OAAO,EAAE,MAAMtwC,GAAG,IAAIxhB,EAAE0hE,SAAS1hE,EAAEA,EAAEq3K,eAAe7nG,eAAehuD,IAAKwkK,IAAI3kK,EAAEA,EAAEq5J,UAAUl5J,CAAC,CAAM,OAALm6B,GAAEt6B,GAAU,KAAK,KAAK,GAA0B,GAAvBi8B,GAAE91B,IAAGhG,EAAEH,EAAEw5J,cAAiB,OAAOz5J,GAAG,OAAOA,EAAEy5J,eAAe,OAAOz5J,EAAEy5J,cAAcC,WAAW,CAAC,GAAG9+H,IAAG,OAAOmsI,IAAI,KAAY,EAAP9mK,EAAE/c,OAAS,KAAa,IAAR+c,EAAEywC,OAAWo3H,KAAKC,KAAK9nK,EAAEywC,OAAO,MAAMhpC,GAAE,OAAQ,GAAGA,EAAEkgK,GAAG3nK,GAAG,OAAOG,GAAG,OAAOA,EAAEs5J,WAAW,CAAC,GAAG,OAC5f15J,EAAE,CAAC,IAAI0H,EAAE,MAAM9qB,MAAMke,EAAE,MAAqD,KAA7B4M,EAAE,QAApBA,EAAEzH,EAAEw5J,eAAyB/xJ,EAAEgyJ,WAAW,MAAW,MAAM98K,MAAMke,EAAE,MAAM4M,EAAEk9J,IAAI3kK,CAAC,MAAM8nK,KAAK,KAAa,IAAR9nK,EAAEywC,SAAazwC,EAAEw5J,cAAc,MAAMx5J,EAAEywC,OAAO,EAAEnW,GAAEt6B,GAAGyH,GAAE,CAAE,MAAM,OAAOs/J,KAAKkN,GAAGlN,IAAIA,GAAG,MAAMt/J,GAAE,EAAG,IAAIA,EAAE,OAAe,MAARzH,EAAEywC,MAAYzwC,EAAE,IAAI,CAAC,OAAG,KAAa,IAARA,EAAEywC,QAAkBzwC,EAAE4pK,MAAMjrL,EAAEqhB,KAAEG,EAAE,OAAOA,MAAO,OAAOJ,GAAG,OAAOA,EAAEy5J,gBAAgBr5J,IAAIH,EAAE05J,MAAMjpH,OAAO,KAAK,KAAY,EAAPzwC,EAAE/c,QAAU,OAAO8c,GAAG,KAAe,EAAVoG,GAAE4Q,SAAW,IAAIjS,KAAIA,GAAE,GAAGouK,OAAO,OAAOlzK,EAAEsqK,cAActqK,EAAEywC,OAAO,GAAGnW,GAAEt6B,GAAU,MAAK,KAAK,EAAE,OAAO+tE,KACrfwkG,GAAGxyK,EAAEC,GAAG,OAAOD,GAAGqZ,GAAGpZ,EAAEq5J,UAAUkC,eAAejhI,GAAEt6B,GAAG,KAAK,KAAK,GAAG,OAAOspK,GAAGtpK,EAAElgB,KAAKo1K,UAAU56H,GAAEt6B,GAAG,KAA+C,KAAK,GAA0B,GAAvBi8B,GAAE91B,IAAwB,QAArBsB,EAAEzH,EAAEw5J,eAA0B,OAAOl/H,GAAEt6B,GAAG,KAAuC,GAAlCG,EAAE,KAAa,IAARH,EAAEywC,OAA4B,QAAjB9iD,EAAE8Z,EAAEisK,WAAsB,GAAGvzK,EAAE4zK,GAAGtsK,GAAE,OAAQ,CAAC,GAAG,IAAI3C,IAAG,OAAO/E,GAAG,KAAa,IAARA,EAAE0wC,OAAW,IAAI1wC,EAAEC,EAAE05J,MAAM,OAAO35J,GAAG,CAAS,GAAG,QAAXpS,EAAE+9K,GAAG3rK,IAAe,CAAmG,IAAlGC,EAAEywC,OAAO,IAAIsjI,GAAGtsK,GAAE,GAAoB,QAAhBtH,EAAExS,EAAE28K,eAAuBtqK,EAAEsqK,YAAYnqK,EAAEH,EAAEywC,OAAO,GAAGzwC,EAAEszK,aAAa,EAAEnzK,EAAExhB,EAAMA,EAAEqhB,EAAE05J,MAAM,OAAO/6K,GAAOohB,EAAEI,GAANsH,EAAE9oB,GAAQ8xD,OAAO,SAC/d,QAAd9iD,EAAE8Z,EAAE6xJ,YAAoB7xJ,EAAEgiK,WAAW,EAAEhiK,EAAEmiK,MAAM7pK,EAAE0H,EAAEiyJ,MAAM,KAAKjyJ,EAAE6rK,aAAa,EAAE7rK,EAAEmgK,cAAc,KAAKngK,EAAE+xJ,cAAc,KAAK/xJ,EAAE6iK,YAAY,KAAK7iK,EAAEiiK,aAAa,KAAKjiK,EAAE4xJ,UAAU,OAAO5xJ,EAAEgiK,WAAW97K,EAAE87K,WAAWhiK,EAAEmiK,MAAMj8K,EAAEi8K,MAAMniK,EAAEiyJ,MAAM/rK,EAAE+rK,MAAMjyJ,EAAE6rK,aAAa,EAAE7rK,EAAE0/J,UAAU,KAAK1/J,EAAEmgK,cAAcj6K,EAAEi6K,cAAcngK,EAAE+xJ,cAAc7rK,EAAE6rK,cAAc/xJ,EAAE6iK,YAAY38K,EAAE28K,YAAY7iK,EAAE3nB,KAAK6N,EAAE7N,KAAKigB,EAAEpS,EAAE+7K,aAAajiK,EAAEiiK,aAAa,OAAO3pK,EAAE,KAAK,CAAC6pK,MAAM7pK,EAAE6pK,MAAMD,aAAa5pK,EAAE4pK,eAAehrL,EAAEA,EAAEg7K,QAA2B,OAAnB94H,GAAE16B,GAAY,EAAVA,GAAE4Q,QAAU,GAAU/W,EAAE05J,KAAK,CAAC35J,EAClgBA,EAAE45J,OAAO,CAAC,OAAOlyJ,EAAEmsK,MAAMvtK,KAAImuK,KAAKx0K,EAAEywC,OAAO,IAAItwC,GAAE,EAAG4zK,GAAGtsK,GAAE,GAAIzH,EAAE4pK,MAAM,QAAQ,KAAK,CAAC,IAAIzpK,EAAE,GAAW,QAARJ,EAAE2rK,GAAG/9K,KAAa,GAAGqS,EAAEywC,OAAO,IAAItwC,GAAE,EAAmB,QAAhBxhB,EAAEohB,EAAEuqK,eAAuBtqK,EAAEsqK,YAAY3rL,EAAEqhB,EAAEywC,OAAO,GAAGsjI,GAAGtsK,GAAE,GAAI,OAAOA,EAAEmsK,MAAM,WAAWnsK,EAAEosK,WAAWlmL,EAAE2rK,YAAY3+H,GAAE,OAAOL,GAAEt6B,GAAG,UAAU,EAAEqG,KAAIoB,EAAEksK,mBAAmBa,IAAI,aAAa71L,IAAIqhB,EAAEywC,OAAO,IAAItwC,GAAE,EAAG4zK,GAAGtsK,GAAE,GAAIzH,EAAE4pK,MAAM,SAASniK,EAAEgsK,aAAa9lL,EAAEgsK,QAAQ35J,EAAE05J,MAAM15J,EAAE05J,MAAM/rK,IAAa,QAAThP,EAAE8oB,EAAE9d,MAAchL,EAAEg7K,QAAQhsK,EAAEqS,EAAE05J,MAAM/rK,EAAE8Z,EAAE9d,KAAKgE,EAAE,CAAC,OAAG,OAAO8Z,EAAEmsK,MAAY5zK,EAAEyH,EAAEmsK,KAAKnsK,EAAEisK,UAC9e1zK,EAAEyH,EAAEmsK,KAAK5zK,EAAE25J,QAAQlyJ,EAAEksK,mBAAmBttK,KAAIrG,EAAE25J,QAAQ,KAAKh7K,EAAEwnB,GAAE4Q,QAAQ8pB,GAAE16B,GAAEhG,EAAI,EAAFxhB,EAAI,EAAI,EAAFA,GAAKqhB,IAAEs6B,GAAEt6B,GAAU,MAAK,KAAK,GAAG,KAAK,GAAG,OAAOy0K,KAAKt0K,EAAE,OAAOH,EAAEw5J,cAAc,OAAOz5J,GAAG,OAAOA,EAAEy5J,gBAAgBr5J,IAAIH,EAAEywC,OAAO,MAAMtwC,GAAG,KAAY,EAAPH,EAAE/c,MAAQ,KAAQ,WAAHmrF,MAAiB9zC,GAAEt6B,GAAkB,EAAfA,EAAEszK,eAAiBtzK,EAAEywC,OAAO,OAAOnW,GAAEt6B,GAAG,KAAK,KAAK,GAAe,KAAK,GAAG,OAAO,KAAK,MAAMrjB,MAAMke,EAAE,IAAImF,EAAE44E,KAAM,CAClX,SAAS87F,GAAG30K,EAAEC,GAAS,OAAN4mK,GAAG5mK,GAAUA,EAAE44E,KAAK,KAAK,EAAE,OAAO4sF,GAAGxlK,EAAElgB,OAAO4lL,KAAiB,OAAZ3lK,EAAEC,EAAEywC,QAAezwC,EAAEywC,OAAS,MAAH1wC,EAAS,IAAIC,GAAG,KAAK,KAAK,EAAE,OAAO+tE,KAAK9xC,GAAEipI,IAAIjpI,GAAEwE,IAAGorI,KAAe,KAAO,OAAjB9rK,EAAEC,EAAEywC,SAAqB,KAAO,IAAF1wC,IAAQC,EAAEywC,OAAS,MAAH1wC,EAAS,IAAIC,GAAG,KAAK,KAAK,EAAE,OAAOyrK,GAAGzrK,GAAG,KAAK,KAAK,GAA0B,GAAvBi8B,GAAE91B,IAAwB,QAArBpG,EAAEC,EAAEw5J,gBAA2B,OAAOz5J,EAAE05J,WAAW,CAAC,GAAG,OAAOz5J,EAAEs5J,UAAU,MAAM38K,MAAMke,EAAE,MAAMitK,IAAI,CAAW,OAAS,OAAnB/nK,EAAEC,EAAEywC,QAAsBzwC,EAAEywC,OAAS,MAAH1wC,EAAS,IAAIC,GAAG,KAAK,KAAK,GAAG,OAAOi8B,GAAE91B,IAAG,KAAK,KAAK,EAAE,OAAO4nE,KAAK,KAAK,KAAK,GAAG,OAAOu7F,GAAGtpK,EAAElgB,KAAKo1K,UAAU,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOuf,KAC1gB,KAAyB,QAAQ,OAAO,KAAK,CArB7CnC,GAAG,SAASvyK,EAAEC,GAAG,IAAI,IAAIrhB,EAAEqhB,EAAE05J,MAAM,OAAO/6K,GAAG,CAAC,GAAG,IAAIA,EAAEi6F,KAAK,IAAIj6F,EAAEi6F,IAAI74E,EAAEwuD,YAAY5vE,EAAE06K,gBAAgB,GAAG,IAAI16K,EAAEi6F,KAAK,OAAOj6F,EAAE+6K,MAAM,CAAC/6K,EAAE+6K,MAAMH,OAAO56K,EAAEA,EAAEA,EAAE+6K,MAAM,QAAQ,CAAC,GAAG/6K,IAAIqhB,EAAE,MAAM,KAAK,OAAOrhB,EAAEg7K,SAAS,CAAC,GAAG,OAAOh7K,EAAE46K,QAAQ56K,EAAE46K,SAASv5J,EAAE,OAAOrhB,EAAEA,EAAE46K,MAAM,CAAC56K,EAAEg7K,QAAQJ,OAAO56K,EAAE46K,OAAO56K,EAAEA,EAAEg7K,OAAO,CAAC,EAAE4Y,GAAG,WAAW,EACxTC,GAAG,SAASzyK,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAErH,EAAE6nK,cAAc,GAAGxgK,IAAIjH,EAAE,CAACJ,EAAEC,EAAEq5J,UAAUzoF,GAAGw6F,GAAGr0J,SAAS,IAA4RppB,EAAxR8Z,EAAE,KAAK,OAAO9oB,GAAG,IAAK,QAAQyoB,EAAE8zD,EAAGn7D,EAAEqH,GAAGjH,EAAE+6D,EAAGn7D,EAAEI,GAAGsH,EAAE,GAAG,MAAM,IAAK,SAASL,EAAEizB,EAAE,CAAC,EAAEjzB,EAAE,CAAC7hB,WAAM,IAAS4a,EAAEk6B,EAAE,CAAC,EAAEl6B,EAAE,CAAC5a,WAAM,IAASkiB,EAAE,GAAG,MAAM,IAAK,WAAWL,EAAEkgE,GAAGvnE,EAAEqH,GAAGjH,EAAEmnE,GAAGvnE,EAAEI,GAAGsH,EAAE,GAAG,MAAM,QAAQ,oBAAoBL,EAAEitK,SAAS,oBAAoBl0K,EAAEk0K,UAAUt0K,EAAEu0K,QAAQzQ,IAAyB,IAAIzoK,KAAzBmjE,GAAG5/E,EAAEwhB,GAASxhB,EAAE,KAAcyoB,EAAE,IAAIjH,EAAEzD,eAAetB,IAAIgM,EAAE1K,eAAetB,IAAI,MAAMgM,EAAEhM,GAAG,GAAG,UAAUA,EAAE,CAAC,IAAI2M,EAAEX,EAAEhM,GAAG,IAAIzN,KAAKoa,EAAEA,EAAErL,eAAe/O,KACjfhP,IAAIA,EAAE,CAAC,GAAGA,EAAEgP,GAAG,GAAG,KAAK,4BAA4ByN,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAIm8D,EAAG76D,eAAetB,GAAGqM,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAIzlB,KAAKoZ,EAAE,OAAO,IAAIA,KAAK+E,EAAE,CAAC,IAAIxiB,EAAEwiB,EAAE/E,GAAyB,GAAtB2M,EAAE,MAAMX,EAAEA,EAAEhM,QAAG,EAAU+E,EAAEzD,eAAetB,IAAIzd,IAAIoqB,IAAI,MAAMpqB,GAAG,MAAMoqB,GAAG,GAAG,UAAU3M,EAAE,GAAG2M,EAAE,CAAC,IAAIpa,KAAKoa,GAAGA,EAAErL,eAAe/O,IAAIhQ,GAAGA,EAAE+e,eAAe/O,KAAKhP,IAAIA,EAAE,CAAC,GAAGA,EAAEgP,GAAG,IAAI,IAAIA,KAAKhQ,EAAEA,EAAE+e,eAAe/O,IAAIoa,EAAEpa,KAAKhQ,EAAEgQ,KAAKhP,IAAIA,EAAE,CAAC,GAAGA,EAAEgP,GAAGhQ,EAAEgQ,GAAG,MAAMhP,IAAI8oB,IAAIA,EAAE,IAAIA,EAAEzlB,KAAKoZ,EACpfzc,IAAIA,EAAEhB,MAAM,4BAA4Byd,GAAGzd,EAAEA,EAAEA,EAAEsmL,YAAO,EAAOl8J,EAAEA,EAAEA,EAAEk8J,YAAO,EAAO,MAAMtmL,GAAGoqB,IAAIpqB,IAAI8pB,EAAEA,GAAG,IAAIzlB,KAAKoZ,EAAEzd,IAAI,aAAayd,EAAE,kBAAkBzd,GAAG,kBAAkBA,IAAI8pB,EAAEA,GAAG,IAAIzlB,KAAKoZ,EAAE,GAAGzd,GAAG,mCAAmCyd,GAAG,6BAA6BA,IAAIm8D,EAAG76D,eAAetB,IAAI,MAAMzd,GAAG,aAAayd,GAAG8kC,GAAE,SAASngC,GAAG0H,GAAGM,IAAIpqB,IAAI8pB,EAAE,MAAMA,EAAEA,GAAG,IAAIzlB,KAAKoZ,EAAEzd,GAAG,CAACgB,IAAI8oB,EAAEA,GAAG,IAAIzlB,KAAK,QAAQrD,GAAG,IAAIyc,EAAEqM,GAAKzH,EAAEsqK,YAAYlvK,KAAE4E,EAAEywC,OAAO,EAAC,CAAC,EAAEgiI,GAAG,SAAS1yK,EAAEC,EAAErhB,EAAEwhB,GAAGxhB,IAAIwhB,IAAIH,EAAEywC,OAAO,EAAE,EAkBlb,IAAIkkI,IAAG,EAAGz5I,IAAE,EAAG05I,GAAG,oBAAoBC,QAAQA,QAAQzgB,IAAIxzH,GAAE,KAAK,SAASk0I,GAAG/0K,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAE0nD,IAAI,GAAG,OAAO9oE,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,KAAK,CAAC,MAAMwhB,GAAGwgC,GAAE5gC,EAAEC,EAAEG,EAAE,MAAMxhB,EAAEo4B,QAAQ,IAAI,CAAC,SAASg+J,GAAGh1K,EAAEC,EAAErhB,GAAG,IAAIA,GAAG,CAAC,MAAMwhB,GAAGwgC,GAAE5gC,EAAEC,EAAEG,EAAE,CAAC,CAAC,IAAI60K,IAAG,EAIxR,SAASC,GAAGl1K,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEH,EAAEsqK,YAAyC,GAAG,QAAhCnqK,EAAE,OAAOA,EAAEA,EAAE2tK,WAAW,MAAiB,CAAC,IAAI1mK,EAAEjH,EAAEA,EAAEy/E,KAAK,EAAE,CAAC,IAAIx4E,EAAEwxE,IAAI74E,KAAKA,EAAE,CAAC,IAAI0H,EAAEL,EAAE+/E,QAAQ//E,EAAE+/E,aAAQ,OAAO,IAAS1/E,GAAGstK,GAAG/0K,EAAErhB,EAAE8oB,EAAE,CAACL,EAAEA,EAAEw4E,IAAI,OAAOx4E,IAAIjH,EAAE,CAAC,CAAC,SAAS+0K,GAAGn1K,EAAEC,GAAgD,GAAG,QAAhCA,EAAE,QAAlBA,EAAEA,EAAEsqK,aAAuBtqK,EAAE8tK,WAAW,MAAiB,CAAC,IAAInvL,EAAEqhB,EAAEA,EAAE4/E,KAAK,EAAE,CAAC,IAAIjhG,EAAEi6F,IAAI74E,KAAKA,EAAE,CAAC,IAAII,EAAExhB,EAAEmrB,OAAOnrB,EAAEwoG,QAAQhnF,GAAG,CAACxhB,EAAEA,EAAEihG,IAAI,OAAOjhG,IAAIqhB,EAAE,CAAC,CAAC,SAASm1K,GAAGp1K,GAAG,IAAIC,EAAED,EAAE0nD,IAAI,GAAG,OAAOznD,EAAE,CAAC,IAAIrhB,EAAEohB,EAAEs5J,UAAiBt5J,EAAE64E,IAA8B74E,EAAEphB,EAAE,oBAAoBqhB,EAAEA,EAAED,GAAGC,EAAE+W,QAAQhX,CAAC,CAAC,CAClf,SAASq1K,GAAGr1K,GAAG,IAAIC,EAAED,EAAEu5J,UAAU,OAAOt5J,IAAID,EAAEu5J,UAAU,KAAK8b,GAAGp1K,IAAID,EAAE25J,MAAM,KAAK35J,EAAEonK,UAAU,KAAKpnK,EAAE45J,QAAQ,KAAK,IAAI55J,EAAE64E,MAAoB,QAAd54E,EAAED,EAAEs5J,oBAA4Br5J,EAAE2kK,WAAW3kK,EAAE4kK,WAAW5kK,EAAEk8H,WAAWl8H,EAAE6kK,WAAW7kK,EAAE8kK,MAAM/kK,EAAEs5J,UAAU,KAAKt5J,EAAEw5J,OAAO,KAAKx5J,EAAE2pK,aAAa,KAAK3pK,EAAE6nK,cAAc,KAAK7nK,EAAEy5J,cAAc,KAAKz5J,EAAEsnK,aAAa,KAAKtnK,EAAEs5J,UAAU,KAAKt5J,EAAEuqK,YAAY,IAAI,CAAC,SAAS+K,GAAGt1K,GAAG,OAAO,IAAIA,EAAE64E,KAAK,IAAI74E,EAAE64E,KAAK,IAAI74E,EAAE64E,GAAG,CACna,SAAS08F,GAAGv1K,GAAGA,EAAE,OAAO,CAAC,KAAK,OAAOA,EAAE45J,SAAS,CAAC,GAAG,OAAO55J,EAAEw5J,QAAQ8b,GAAGt1K,EAAEw5J,QAAQ,OAAO,KAAKx5J,EAAEA,EAAEw5J,MAAM,CAA2B,IAA1Bx5J,EAAE45J,QAAQJ,OAAOx5J,EAAEw5J,OAAWx5J,EAAEA,EAAE45J,QAAQ,IAAI55J,EAAE64E,KAAK,IAAI74E,EAAE64E,KAAK,KAAK74E,EAAE64E,KAAK,CAAC,GAAW,EAAR74E,EAAE0wC,MAAQ,SAAS1wC,EAAE,GAAG,OAAOA,EAAE25J,OAAO,IAAI35J,EAAE64E,IAAI,SAAS74E,EAAOA,EAAE25J,MAAMH,OAAOx5J,EAAEA,EAAEA,EAAE25J,KAAK,CAAC,KAAa,EAAR35J,EAAE0wC,OAAS,OAAO1wC,EAAEs5J,SAAS,CAAC,CACzT,SAASkc,GAAGx1K,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEJ,EAAE64E,IAAI,GAAG,IAAIz4E,GAAG,IAAIA,EAAEJ,EAAEA,EAAEs5J,UAAUr5J,EAAE,IAAIrhB,EAAE0hE,SAAS1hE,EAAEyqE,WAAW6iF,aAAalsI,EAAEC,GAAGrhB,EAAEstJ,aAAalsI,EAAEC,IAAI,IAAIrhB,EAAE0hE,UAAUrgD,EAAErhB,EAAEyqE,YAAa6iF,aAAalsI,EAAEphB,IAAKqhB,EAAErhB,GAAI4vE,YAAYxuD,GAA4B,QAAxBphB,EAAEA,EAAE62L,2BAA8B,IAAS72L,GAAG,OAAOqhB,EAAEs0K,UAAUt0K,EAAEs0K,QAAQzQ,UAAU,GAAG,IAAI1jK,GAAc,QAAVJ,EAAEA,EAAE25J,OAAgB,IAAI6b,GAAGx1K,EAAEC,EAAErhB,GAAGohB,EAAEA,EAAE45J,QAAQ,OAAO55J,GAAGw1K,GAAGx1K,EAAEC,EAAErhB,GAAGohB,EAAEA,EAAE45J,OAAO,CAC1X,SAAS8b,GAAG11K,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEJ,EAAE64E,IAAI,GAAG,IAAIz4E,GAAG,IAAIA,EAAEJ,EAAEA,EAAEs5J,UAAUr5J,EAAErhB,EAAEstJ,aAAalsI,EAAEC,GAAGrhB,EAAE4vE,YAAYxuD,QAAQ,GAAG,IAAII,GAAc,QAAVJ,EAAEA,EAAE25J,OAAgB,IAAI+b,GAAG11K,EAAEC,EAAErhB,GAAGohB,EAAEA,EAAE45J,QAAQ,OAAO55J,GAAG01K,GAAG11K,EAAEC,EAAErhB,GAAGohB,EAAEA,EAAE45J,OAAO,CAAC,IAAIl4H,GAAE,KAAKi0I,IAAG,EAAG,SAASC,GAAG51K,EAAEC,EAAErhB,GAAG,IAAIA,EAAEA,EAAE+6K,MAAM,OAAO/6K,GAAGi3L,GAAG71K,EAAEC,EAAErhB,GAAGA,EAAEA,EAAEg7K,OAAO,CACnR,SAASic,GAAG71K,EAAEC,EAAErhB,GAAG,GAAGmtC,IAAI,oBAAoBA,GAAG+pJ,qBAAqB,IAAI/pJ,GAAG+pJ,qBAAqBvzG,GAAG3jF,EAAE,CAAC,MAAMopB,GAAG,CAAC,OAAOppB,EAAEi6F,KAAK,KAAK,EAAE19C,IAAG45I,GAAGn2L,EAAEqhB,GAAG,KAAK,EAAE,IAAIG,EAAEshC,GAAEr6B,EAAEsuK,GAAGj0I,GAAE,KAAKk0I,GAAG51K,EAAEC,EAAErhB,GAAO+2L,GAAGtuK,EAAE,QAATq6B,GAAEthC,KAAkBu1K,IAAI31K,EAAE0hC,GAAE9iD,EAAEA,EAAE06K,UAAU,IAAIt5J,EAAEsgD,SAAStgD,EAAEqpD,WAAWiG,YAAY1wE,GAAGohB,EAAEsvD,YAAY1wE,IAAI8iD,GAAE4tB,YAAY1wE,EAAE06K,YAAY,MAAM,KAAK,GAAG,OAAO53H,KAAIi0I,IAAI31K,EAAE0hC,GAAE9iD,EAAEA,EAAE06K,UAAU,IAAIt5J,EAAEsgD,SAASikH,GAAGvkK,EAAEqpD,WAAWzqE,GAAG,IAAIohB,EAAEsgD,UAAUikH,GAAGvkK,EAAEphB,GAAG+5E,GAAG34D,IAAIukK,GAAG7iI,GAAE9iD,EAAE06K,YAAY,MAAM,KAAK,EAAEl5J,EAAEshC,GAAEr6B,EAAEsuK,GAAGj0I,GAAE9iD,EAAE06K,UAAUkC,cAAcma,IAAG,EAClfC,GAAG51K,EAAEC,EAAErhB,GAAG8iD,GAAEthC,EAAEu1K,GAAGtuK,EAAE,MAAM,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI8zB,KAAoB,QAAhB/6B,EAAExhB,EAAE2rL,cAAsC,QAAfnqK,EAAEA,EAAE2tK,aAAsB,CAAC1mK,EAAEjH,EAAEA,EAAEy/E,KAAK,EAAE,CAAC,IAAIn4E,EAAEL,EAAEzZ,EAAE8Z,EAAE0/E,QAAQ1/E,EAAEA,EAAEmxE,SAAI,IAASjrF,IAAI,KAAO,EAAF8Z,IAAe,KAAO,EAAFA,KAAfstK,GAAGp2L,EAAEqhB,EAAErS,GAAyByZ,EAAEA,EAAEw4E,IAAI,OAAOx4E,IAAIjH,EAAE,CAACw1K,GAAG51K,EAAEC,EAAErhB,GAAG,MAAM,KAAK,EAAE,IAAIu8C,KAAI45I,GAAGn2L,EAAEqhB,GAAiB,oBAAdG,EAAExhB,EAAE06K,WAAgCyc,sBAAsB,IAAI31K,EAAEgkF,MAAMxlG,EAAEipL,cAAcznK,EAAE5L,MAAM5V,EAAE66K,cAAcr5J,EAAE21K,sBAAsB,CAAC,MAAM/tK,GAAG44B,GAAEhiD,EAAEqhB,EAAE+H,EAAE,CAAC4tK,GAAG51K,EAAEC,EAAErhB,GAAG,MAAM,KAAK,GAAGg3L,GAAG51K,EAAEC,EAAErhB,GAAG,MAAM,KAAK,GAAU,EAAPA,EAAEsE,MAAQi4C,IAAG/6B,EAAE+6B,KAAI,OAChfv8C,EAAE66K,cAAcmc,GAAG51K,EAAEC,EAAErhB,GAAGu8C,GAAE/6B,GAAGw1K,GAAG51K,EAAEC,EAAErhB,GAAG,MAAM,QAAQg3L,GAAG51K,EAAEC,EAAErhB,GAAG,CAAC,SAASo3L,GAAGh2K,GAAG,IAAIC,EAAED,EAAEuqK,YAAY,GAAG,OAAOtqK,EAAE,CAACD,EAAEuqK,YAAY,KAAK,IAAI3rL,EAAEohB,EAAEs5J,UAAU,OAAO16K,IAAIA,EAAEohB,EAAEs5J,UAAU,IAAIub,IAAI50K,EAAEjW,SAAQ,SAASiW,GAAG,IAAIG,EAAE61K,GAAG57I,KAAK,KAAKr6B,EAAEC,GAAGrhB,EAAE0kC,IAAIrjB,KAAKrhB,EAAE8rC,IAAIzqB,GAAGA,EAAE2sD,KAAKxsD,EAAEA,GAAG,GAAE,CAAC,CACzQ,SAAS81K,GAAGl2K,EAAEC,GAAG,IAAIrhB,EAAEqhB,EAAEmnK,UAAU,GAAG,OAAOxoL,EAAE,IAAI,IAAIwhB,EAAE,EAAEA,EAAExhB,EAAExB,OAAOgjB,IAAI,CAAC,IAAIiH,EAAEzoB,EAAEwhB,GAAG,IAAI,IAAIsH,EAAE1H,EAAEpS,EAAEqS,EAAE+H,EAAEpa,EAAEoS,EAAE,KAAK,OAAOgI,GAAG,CAAC,OAAOA,EAAE6wE,KAAK,KAAK,EAAEn3C,GAAE15B,EAAEsxJ,UAAUqc,IAAG,EAAG,MAAM31K,EAAE,KAAK,EAA4C,KAAK,EAAE0hC,GAAE15B,EAAEsxJ,UAAUkC,cAAcma,IAAG,EAAG,MAAM31K,EAAEgI,EAAEA,EAAEwxJ,MAAM,CAAC,GAAG,OAAO93H,GAAE,MAAM9kD,MAAMke,EAAE,MAAM+6K,GAAGnuK,EAAE9Z,EAAEyZ,GAAGq6B,GAAE,KAAKi0I,IAAG,EAAG,IAAI/3L,EAAEypB,EAAEkyJ,UAAU,OAAO37K,IAAIA,EAAE47K,OAAO,MAAMnyJ,EAAEmyJ,OAAO,IAAI,CAAC,MAAMn+J,GAAGulC,GAAEv5B,EAAEpH,EAAE5E,EAAE,CAAC,CAAC,GAAkB,MAAf4E,EAAEszK,aAAmB,IAAItzK,EAAEA,EAAE05J,MAAM,OAAO15J,GAAGk2K,GAAGl2K,EAAED,GAAGC,EAAEA,EAAE25J,OAAO,CACje,SAASuc,GAAGn2K,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAEu5J,UAAUn5J,EAAEJ,EAAE0wC,MAAM,OAAO1wC,EAAE64E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAiB,GAAdq9F,GAAGj2K,EAAED,GAAGo2K,GAAGp2K,GAAQ,EAAFI,EAAI,CAAC,IAAI80K,GAAG,EAAEl1K,EAAEA,EAAEw5J,QAAQ2b,GAAG,EAAEn1K,EAAE,CAAC,MAAME,GAAG0gC,GAAE5gC,EAAEA,EAAEw5J,OAAOt5J,EAAE,CAAC,IAAIg1K,GAAG,EAAEl1K,EAAEA,EAAEw5J,OAAO,CAAC,MAAMt5J,GAAG0gC,GAAE5gC,EAAEA,EAAEw5J,OAAOt5J,EAAE,CAAC,CAAC,MAAM,KAAK,EAAEg2K,GAAGj2K,EAAED,GAAGo2K,GAAGp2K,GAAK,IAAFI,GAAO,OAAOxhB,GAAGm2L,GAAGn2L,EAAEA,EAAE46K,QAAQ,MAAM,KAAK,EAAgD,GAA9C0c,GAAGj2K,EAAED,GAAGo2K,GAAGp2K,GAAK,IAAFI,GAAO,OAAOxhB,GAAGm2L,GAAGn2L,EAAEA,EAAE46K,QAAmB,GAARx5J,EAAE0wC,MAAS,CAAC,IAAIrpC,EAAErH,EAAEs5J,UAAU,IAAIxgG,GAAGzxD,EAAE,GAAG,CAAC,MAAMnH,GAAG0gC,GAAE5gC,EAAEA,EAAEw5J,OAAOt5J,EAAE,CAAC,CAAC,GAAK,EAAFE,GAAoB,OAAdiH,EAAErH,EAAEs5J,WAAmB,CAAC,IAAI5xJ,EAAE1H,EAAE6nK,cAAcj6K,EAAE,OAAOhP,EAAEA,EAAEipL,cAAcngK,EAAEM,EAAEhI,EAAEjgB,KAAKnC,EAAEoiB,EAAEuqK,YACje,GAAnBvqK,EAAEuqK,YAAY,KAAQ,OAAO3sL,EAAE,IAAI,UAAUoqB,GAAG,UAAUN,EAAE3nB,MAAM,MAAM2nB,EAAEhrB,MAAM0+E,EAAG/zD,EAAEK,GAAG61D,GAAGv1D,EAAEpa,GAAG,IAAIyN,EAAEkiE,GAAGv1D,EAAEN,GAAG,IAAI9Z,EAAE,EAAEA,EAAEhQ,EAAER,OAAOwQ,GAAG,EAAE,CAAC,IAAIvL,EAAEzE,EAAEgQ,GAAGmS,EAAEniB,EAAEgQ,EAAE,GAAG,UAAUvL,EAAEygF,GAAGz7D,EAAEtH,GAAG,4BAA4B1d,EAAE6hF,GAAG78D,EAAEtH,GAAG,aAAa1d,EAAEy2E,GAAGzxD,EAAEtH,GAAGmjE,EAAG77D,EAAEhlB,EAAE0d,EAAE1E,EAAE,CAAC,OAAO2M,GAAG,IAAK,QAAQyuD,EAAGpvD,EAAEK,GAAG,MAAM,IAAK,WAAW+wD,GAAGpxD,EAAEK,GAAG,MAAM,IAAK,SAAS,IAAI5Z,EAAEuZ,EAAEuuJ,cAAcue,YAAY9sK,EAAEuuJ,cAAcue,cAAczsK,EAAE0sK,SAAS,IAAIhqL,EAAEsd,EAAEliB,MAAM,MAAM4E,EAAEmtE,GAAGlwD,IAAIK,EAAE0sK,SAAShqL,GAAE,GAAI0D,MAAM4Z,EAAE0sK,WAAW,MAAM1sK,EAAEiH,aAAa4oD,GAAGlwD,IAAIK,EAAE0sK,SACnf1sK,EAAEiH,cAAa,GAAI4oD,GAAGlwD,IAAIK,EAAE0sK,SAAS1sK,EAAE0sK,SAAS,GAAG,IAAG,IAAK/sK,EAAEw9J,IAAIn9J,CAAC,CAAC,MAAMxH,GAAG0gC,GAAE5gC,EAAEA,EAAEw5J,OAAOt5J,EAAE,CAAC,CAAC,MAAM,KAAK,EAAgB,GAAdg2K,GAAGj2K,EAAED,GAAGo2K,GAAGp2K,GAAQ,EAAFI,EAAI,CAAC,GAAG,OAAOJ,EAAEs5J,UAAU,MAAM18K,MAAMke,EAAE,MAAMuM,EAAErH,EAAEs5J,UAAU5xJ,EAAE1H,EAAE6nK,cAAc,IAAIxgK,EAAEgnD,UAAU3mD,CAAC,CAAC,MAAMxH,GAAG0gC,GAAE5gC,EAAEA,EAAEw5J,OAAOt5J,EAAE,CAAC,CAAC,MAAM,KAAK,EAAgB,GAAdg2K,GAAGj2K,EAAED,GAAGo2K,GAAGp2K,GAAQ,EAAFI,GAAK,OAAOxhB,GAAGA,EAAE66K,cAAc8B,aAAa,IAAI5iG,GAAG14D,EAAEu7J,cAAc,CAAC,MAAMt7J,GAAG0gC,GAAE5gC,EAAEA,EAAEw5J,OAAOt5J,EAAE,CAAC,MAAM,KAAK,EAG4G,QAAQg2K,GAAGj2K,EACnfD,GAAGo2K,GAAGp2K,SAJ4Y,KAAK,GAAGk2K,GAAGj2K,EAAED,GAAGo2K,GAAGp2K,GAAqB,MAAlBqH,EAAErH,EAAE25J,OAAQjpH,QAAahpC,EAAE,OAAOL,EAAEoyJ,cAAcpyJ,EAAEiyJ,UAAU+c,SAAS3uK,GAAGA,GAClf,OAAOL,EAAEkyJ,WAAW,OAAOlyJ,EAAEkyJ,UAAUE,gBAAgB6c,GAAGhwK,OAAQ,EAAFlG,GAAK41K,GAAGh2K,GAAG,MAAM,KAAK,GAAsF,GAAnF3d,EAAE,OAAOzD,GAAG,OAAOA,EAAE66K,cAAqB,EAAPz5J,EAAE9c,MAAQi4C,IAAG9/B,EAAE8/B,KAAI94C,EAAE6zL,GAAGj2K,EAAED,GAAGm7B,GAAE9/B,GAAG66K,GAAGj2K,EAAED,GAAGo2K,GAAGp2K,GAAQ,KAAFI,EAAO,CAA0B,GAAzB/E,EAAE,OAAO2E,EAAEy5J,eAAkBz5J,EAAEs5J,UAAU+c,SAASh7K,KAAKhZ,GAAG,KAAY,EAAP2d,EAAE9c,MAAQ,IAAI29C,GAAE7gC,EAAE3d,EAAE2d,EAAE25J,MAAM,OAAOt3K,GAAG,CAAC,IAAI0d,EAAE8gC,GAAEx+C,EAAE,OAAOw+C,IAAG,CAAe,OAAVz2C,GAAJ0D,EAAE+yC,IAAM84H,MAAa7rK,EAAE+qF,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAGq8F,GAAG,EAAEpnL,EAAEA,EAAE0rK,QAAQ,MAAM,KAAK,EAAEub,GAAGjnL,EAAEA,EAAE0rK,QAAQ,IAAIp3K,EAAE0L,EAAEwrK,UAAU,GAAG,oBAAoBl3K,EAAE2zL,qBAAqB,CAAC31K,EAAEtS,EAAElP,EAAEkP,EAAE0rK,OAAO,IAAIv5J,EAAEG,EAAEhe,EAAEgiG,MACpfnkF,EAAE4nK,cAAczlL,EAAEoS,MAAMyL,EAAEw5J,cAAcr3K,EAAE2zL,sBAAsB,CAAC,MAAM71K,GAAG0gC,GAAExgC,EAAExhB,EAAEshB,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE60K,GAAGjnL,EAAEA,EAAE0rK,QAAQ,MAAM,KAAK,GAAG,GAAG,OAAO1rK,EAAE2rK,cAAc,CAAC8c,GAAGx2K,GAAG,QAAQ,EAAE,OAAO3V,GAAGA,EAAEovK,OAAO1rK,EAAE+yC,GAAEz2C,GAAGmsL,GAAGx2K,EAAE,CAAC1d,EAAEA,EAAEu3K,OAAO,CAAC55J,EAAE,IAAI3d,EAAE,KAAK0d,EAAEC,IAAI,CAAC,GAAG,IAAID,EAAE84E,KAAK,GAAG,OAAOx2F,EAAE,CAACA,EAAE0d,EAAE,IAAIsH,EAAEtH,EAAEu5J,UAAUj+J,EAAa,oBAAVqM,EAAEL,EAAEyK,OAA4B6mJ,YAAYjxJ,EAAEixJ,YAAY,UAAU,OAAO,aAAajxJ,EAAEsO,QAAQ,QAAShO,EAAEjI,EAAEu5J,UAAkC1rK,OAAE,KAA1BhQ,EAAEmiB,EAAE8nK,cAAc/1J,QAAoB,OAAOl0B,GAAGA,EAAE+e,eAAe,WAAW/e,EAAEo4B,QAAQ,KAAKhO,EAAE8J,MAAMkE,QACzf6sD,GAAG,UAAUj1E,GAAG,CAAC,MAAMsS,GAAG0gC,GAAE5gC,EAAEA,EAAEw5J,OAAOt5J,EAAE,CAAC,OAAO,GAAG,IAAIH,EAAE84E,KAAK,GAAG,OAAOx2F,EAAE,IAAI0d,EAAEu5J,UAAUjrG,UAAUhzD,EAAE,GAAG0E,EAAE8nK,aAAa,CAAC,MAAM3nK,GAAG0gC,GAAE5gC,EAAEA,EAAEw5J,OAAOt5J,EAAE,OAAO,IAAI,KAAKH,EAAE84E,KAAK,KAAK94E,EAAE84E,KAAK,OAAO94E,EAAE05J,eAAe15J,IAAIC,IAAI,OAAOD,EAAE45J,MAAM,CAAC55J,EAAE45J,MAAMH,OAAOz5J,EAAEA,EAAEA,EAAE45J,MAAM,QAAQ,CAAC,GAAG55J,IAAIC,EAAE,MAAMA,EAAE,KAAK,OAAOD,EAAE65J,SAAS,CAAC,GAAG,OAAO75J,EAAEy5J,QAAQz5J,EAAEy5J,SAASx5J,EAAE,MAAMA,EAAE3d,IAAI0d,IAAI1d,EAAE,MAAM0d,EAAEA,EAAEy5J,MAAM,CAACn3K,IAAI0d,IAAI1d,EAAE,MAAM0d,EAAE65J,QAAQJ,OAAOz5J,EAAEy5J,OAAOz5J,EAAEA,EAAE65J,OAAO,CAAC,CAAC,MAAM,KAAK,GAAGsc,GAAGj2K,EAAED,GAAGo2K,GAAGp2K,GAAK,EAAFI,GAAK41K,GAAGh2K,GAAS,KAAK,IACtd,CAAC,SAASo2K,GAAGp2K,GAAG,IAAIC,EAAED,EAAE0wC,MAAM,GAAK,EAAFzwC,EAAI,CAAC,IAAID,EAAE,CAAC,IAAI,IAAIphB,EAAEohB,EAAEw5J,OAAO,OAAO56K,GAAG,CAAC,GAAG02L,GAAG12L,GAAG,CAAC,IAAIwhB,EAAExhB,EAAE,MAAMohB,CAAC,CAACphB,EAAEA,EAAE46K,MAAM,CAAC,MAAM58K,MAAMke,EAAE,KAAM,CAAC,OAAOsF,EAAEy4E,KAAK,KAAK,EAAE,IAAIxxE,EAAEjH,EAAEk5J,UAAkB,GAARl5J,EAAEswC,QAAWooB,GAAGzxD,EAAE,IAAIjH,EAAEswC,QAAQ,IAAgBglI,GAAG11K,EAATu1K,GAAGv1K,GAAUqH,GAAG,MAAM,KAAK,EAAE,KAAK,EAAE,IAAIzZ,EAAEwS,EAAEk5J,UAAUkC,cAAsBga,GAAGx1K,EAATu1K,GAAGv1K,GAAUpS,GAAG,MAAM,QAAQ,MAAMhR,MAAMke,EAAE,MAAO,CAAC,MAAMld,GAAGgjD,GAAE5gC,EAAEA,EAAEw5J,OAAO57K,EAAE,CAACoiB,EAAE0wC,QAAQ,CAAC,CAAG,KAAFzwC,IAASD,EAAE0wC,QAAQ,KAAK,CAAC,SAAS8lI,GAAGx2K,EAAEC,EAAErhB,GAAGiiD,GAAE7gC,EAAEy2K,GAAGz2K,EAAEC,EAAErhB,EAAE,CACvb,SAAS63L,GAAGz2K,EAAEC,EAAErhB,GAAG,IAAI,IAAIwhB,EAAE,KAAY,EAAPJ,EAAE9c,MAAQ,OAAO29C,IAAG,CAAC,IAAIx5B,EAAEw5B,GAAEn5B,EAAEL,EAAEsyJ,MAAM,GAAG,KAAKtyJ,EAAEwxE,KAAKz4E,EAAE,CAAC,IAAIxS,EAAE,OAAOyZ,EAAEoyJ,eAAemb,GAAG,IAAIhnL,EAAE,CAAC,IAAIoa,EAAEX,EAAEkyJ,UAAU37K,EAAE,OAAOoqB,GAAG,OAAOA,EAAEyxJ,eAAet+H,GAAEnzB,EAAE4sK,GAAG,IAAIv5K,EAAE8/B,GAAO,GAALy5I,GAAGhnL,GAAMutC,GAAEv9C,KAAKyd,EAAE,IAAIwlC,GAAEx5B,EAAE,OAAOw5B,IAAOjjD,GAAJgQ,EAAEizC,IAAM84H,MAAM,KAAK/rK,EAAEirF,KAAK,OAAOjrF,EAAE6rK,cAAcid,GAAGrvK,GAAG,OAAOzpB,GAAGA,EAAE47K,OAAO5rK,EAAEizC,GAAEjjD,GAAG84L,GAAGrvK,GAAG,KAAK,OAAOK,GAAGm5B,GAAEn5B,EAAE+uK,GAAG/uK,EAAEzH,EAAErhB,GAAG8oB,EAAEA,EAAEkyJ,QAAQ/4H,GAAEx5B,EAAEutK,GAAG5sK,EAAEmzB,GAAE9/B,CAAC,CAACgE,GAAGW,EAAM,MAAM,KAAoB,KAAfqH,EAAEksK,eAAoB,OAAO7rK,GAAGA,EAAE8xJ,OAAOnyJ,EAAEw5B,GAAEn5B,GAAGrI,GAAGW,EAAM,CAAC,CACvc,SAASX,GAAGW,GAAG,KAAK,OAAO6gC,IAAG,CAAC,IAAI5gC,EAAE4gC,GAAE,GAAG,KAAa,KAAR5gC,EAAEywC,OAAY,CAAC,IAAI9xD,EAAEqhB,EAAEs5J,UAAU,IAAI,GAAG,KAAa,KAARt5J,EAAEywC,OAAY,OAAOzwC,EAAE44E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG19C,IAAGg6I,GAAG,EAAEl1K,GAAG,MAAM,KAAK,EAAE,IAAIG,EAAEH,EAAEq5J,UAAU,GAAW,EAARr5J,EAAEywC,QAAUvV,GAAE,GAAG,OAAOv8C,EAAEwhB,EAAEgwK,wBAAwB,CAAC,IAAI/oK,EAAEpH,EAAEknK,cAAclnK,EAAElgB,KAAKnB,EAAEipL,cAAcztG,GAAGn6D,EAAElgB,KAAKnB,EAAEipL,eAAeznK,EAAE+xK,mBAAmB9qK,EAAEzoB,EAAE66K,cAAcr5J,EAAEu2K,oCAAoC,CAAC,IAAIjvK,EAAEzH,EAAEsqK,YAAY,OAAO7iK,GAAGikG,GAAG1rG,EAAEyH,EAAEtH,GAAG,MAAM,KAAK,EAAE,IAAIxS,EAAEqS,EAAEsqK,YAAY,GAAG,OAAO38K,EAAE,CAAQ,GAAPhP,EAAE,KAAQ,OAAOqhB,EAAE05J,MAAM,OAAO15J,EAAE05J,MAAM9gF,KAAK,KAAK,EACvf,KAAK,EAAEj6F,EAAEqhB,EAAE05J,MAAML,UAAU3tD,GAAG1rG,EAAErS,EAAEhP,EAAE,CAAC,MAAM,KAAK,EAAE,IAAIopB,EAAE/H,EAAEq5J,UAAU,GAAG,OAAO16K,GAAW,EAARqhB,EAAEywC,MAAQ,CAAC9xD,EAAEopB,EAAE,IAAIpqB,EAAEqiB,EAAE4nK,cAAc,OAAO5nK,EAAElgB,MAAM,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAWnC,EAAE42L,WAAW51L,EAAEyjL,QAAQ,MAAM,IAAK,MAAMzkL,EAAE6pE,MAAM7oE,EAAE6oE,IAAI7pE,EAAE6pE,KAAK,CAAC,MAAM,KAAK,EAAQ,KAAK,EAAQ,KAAK,GAAyJ,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAhM,KAAK,GAAG,GAAG,OAAOxnD,EAAEw5J,cAAc,CAAC,IAAIp+J,EAAE4E,EAAEs5J,UAAU,GAAG,OAAOl+J,EAAE,CAAC,IAAIhZ,EAAEgZ,EAAEo+J,cAAc,GAAG,OAAOp3K,EAAE,CAAC,IAAI0d,EAAE1d,EAAEq3K,WAAW,OAAO35J,GAAG44D,GAAG54D,EAAE,CAAC,CAAC,CAAC,MAC5c,QAAQ,MAAMnjB,MAAMke,EAAE,MAAOqgC,IAAW,IAARl7B,EAAEywC,OAAW0kI,GAAGn1K,EAAE,CAAC,MAAMnS,GAAG8yC,GAAE3gC,EAAEA,EAAEu5J,OAAO1rK,EAAE,CAAC,CAAC,GAAGmS,IAAID,EAAE,CAAC6gC,GAAE,KAAK,KAAK,CAAa,GAAG,QAAfjiD,EAAEqhB,EAAE25J,SAAoB,CAACh7K,EAAE46K,OAAOv5J,EAAEu5J,OAAO34H,GAAEjiD,EAAE,KAAK,CAACiiD,GAAE5gC,EAAEu5J,MAAM,CAAC,CAAC,SAAS+c,GAAGv2K,GAAG,KAAK,OAAO6gC,IAAG,CAAC,IAAI5gC,EAAE4gC,GAAE,GAAG5gC,IAAID,EAAE,CAAC6gC,GAAE,KAAK,KAAK,CAAC,IAAIjiD,EAAEqhB,EAAE25J,QAAQ,GAAG,OAAOh7K,EAAE,CAACA,EAAE46K,OAAOv5J,EAAEu5J,OAAO34H,GAAEjiD,EAAE,KAAK,CAACiiD,GAAE5gC,EAAEu5J,MAAM,CAAC,CACvS,SAASkd,GAAG12K,GAAG,KAAK,OAAO6gC,IAAG,CAAC,IAAI5gC,EAAE4gC,GAAE,IAAI,OAAO5gC,EAAE44E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAIj6F,EAAEqhB,EAAEu5J,OAAO,IAAI2b,GAAG,EAAEl1K,EAAE,CAAC,MAAMriB,GAAGgjD,GAAE3gC,EAAErhB,EAAEhB,EAAE,CAAC,MAAM,KAAK,EAAE,IAAIwiB,EAAEH,EAAEq5J,UAAU,GAAG,oBAAoBl5J,EAAEgwK,kBAAkB,CAAC,IAAI/oK,EAAEpH,EAAEu5J,OAAO,IAAIp5J,EAAEgwK,mBAAmB,CAAC,MAAMxyL,GAAGgjD,GAAE3gC,EAAEoH,EAAEzpB,EAAE,CAAC,CAAC,IAAI8pB,EAAEzH,EAAEu5J,OAAO,IAAI4b,GAAGn1K,EAAE,CAAC,MAAMriB,GAAGgjD,GAAE3gC,EAAEyH,EAAE9pB,EAAE,CAAC,MAAM,KAAK,EAAE,IAAIgQ,EAAEqS,EAAEu5J,OAAO,IAAI4b,GAAGn1K,EAAE,CAAC,MAAMriB,GAAGgjD,GAAE3gC,EAAErS,EAAEhQ,EAAE,EAAE,CAAC,MAAMA,GAAGgjD,GAAE3gC,EAAEA,EAAEu5J,OAAO57K,EAAE,CAAC,GAAGqiB,IAAID,EAAE,CAAC6gC,GAAE,KAAK,KAAK,CAAC,IAAI74B,EAAE/H,EAAE25J,QAAQ,GAAG,OAAO5xJ,EAAE,CAACA,EAAEwxJ,OAAOv5J,EAAEu5J,OAAO34H,GAAE74B,EAAE,KAAK,CAAC64B,GAAE5gC,EAAEu5J,MAAM,CAAC,CAC7d,IAwBkNod,GAxB9MC,GAAGh2L,KAAK4gC,KAAK0tD,GAAGvS,EAAGqvG,uBAAuB6K,GAAGl6G,EAAGo0G,kBAAkBhgJ,GAAG4rC,EAAG6+F,wBAAwB75H,GAAE,EAAEN,GAAE,KAAKN,GAAE,KAAKc,GAAE,EAAEusC,GAAG,EAAEwjG,GAAG5M,GAAG,GAAGlgK,GAAE,EAAEgyK,GAAG,KAAK3L,GAAG,EAAE4L,GAAG,EAAEC,GAAG,EAAEhnG,GAAG,KAAKO,GAAG,KAAK8lG,GAAG,EAAE7B,GAAGyC,IAASzmG,GAAG,KAAKhW,IAAG,EAAGC,GAAG,KAAKwK,GAAG,KAAKiyG,IAAG,EAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,IAAI,EAAEC,GAAG,EAAE,SAASn3I,KAAI,OAAO,KAAO,EAAFsB,IAAKt7B,MAAK,IAAIkxK,GAAGA,GAAGA,GAAGlxK,IAAG,CAChU,SAASyhE,GAAG/nE,GAAG,OAAG,KAAY,EAAPA,EAAE9c,MAAe,EAAK,KAAO,EAAF0+C,KAAM,IAAIE,GAASA,IAAGA,GAAK,OAAOmmI,GAAGvM,YAAkB,IAAI+b,KAAKA,GAAGj6G,MAAMi6G,IAAU,KAAPz3K,EAAEmG,IAAkBnG,EAAiBA,OAAE,KAAjBA,EAAEoC,OAAOo0F,OAAmB,GAAGv/B,GAAGj3D,EAAEjgB,KAAc,CAAC,SAAS29E,GAAG19D,EAAEC,EAAErhB,EAAEwhB,GAAG,GAAG,GAAGk3K,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAK36L,MAAMke,EAAE,MAAM0nE,GAAGxiE,EAAEphB,EAAEwhB,GAAM,KAAO,EAAFwhC,KAAM5hC,IAAIshC,KAAEthC,IAAIshC,KAAI,KAAO,EAAFM,MAAOo1I,IAAIp4L,GAAG,IAAImmB,IAAG2yK,GAAG13K,EAAE8hC,KAAI61I,GAAG33K,EAAEI,GAAG,IAAIxhB,GAAG,IAAIgjD,IAAG,KAAY,EAAP3hC,EAAE/c,QAAUuxL,GAAGnuK,KAAI,IAAI4/J,IAAIE,MAAK,CAC1Y,SAASuR,GAAG33K,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAE43K,cA3MzB,SAAY53K,EAAEC,GAAG,IAAI,IAAIrhB,EAAEohB,EAAE06J,eAAet6J,EAAEJ,EAAE26J,YAAYtzJ,EAAErH,EAAE63K,gBAAgBnwK,EAAE1H,EAAEy6J,aAAa,EAAE/yJ,GAAG,CAAC,IAAI9Z,EAAE,GAAGm1E,GAAGr7D,GAAGM,EAAE,GAAGpa,EAAEhQ,EAAEypB,EAAEzZ,IAAO,IAAIhQ,EAAM,KAAKoqB,EAAEppB,IAAI,KAAKopB,EAAE5H,KAAGiH,EAAEzZ,GAAGqtE,GAAGjzD,EAAE/H,IAAQriB,GAAGqiB,IAAID,EAAE83K,cAAc9vK,GAAGN,IAAIM,CAAC,CAAC,CA2MnLo1D,CAAGp9D,EAAEC,GAAG,IAAIG,EAAE0gE,GAAG9gE,EAAEA,IAAIshC,GAAEQ,GAAE,GAAG,GAAG,IAAI1hC,EAAE,OAAOxhB,GAAG4lF,GAAG5lF,GAAGohB,EAAE43K,aAAa,KAAK53K,EAAE+3K,iBAAiB,OAAO,GAAG93K,EAAEG,GAAGA,EAAEJ,EAAE+3K,mBAAmB93K,EAAE,CAAgB,GAAf,MAAMrhB,GAAG4lF,GAAG5lF,GAAM,IAAIqhB,EAAE,IAAID,EAAE64E,IA5IsJ,SAAY74E,GAAGkmK,IAAG,EAAGC,GAAGnmK,EAAE,CA4I5Kg4K,CAAGC,GAAG59I,KAAK,KAAKr6B,IAAImmK,GAAG8R,GAAG59I,KAAK,KAAKr6B,IAAIqkK,IAAG,WAAW,KAAO,EAAFziI,KAAMwkI,IAAI,IAAGxnL,EAAE,SAAS,CAAC,OAAOk8E,GAAG16D,IAAI,KAAK,EAAExhB,EAAEy6E,GAAG,MAAM,KAAK,EAAEz6E,EAAE08E,GAAG,MAAM,KAAK,GAAwC,QAAQ18E,EAAE48E,SAApC,KAAK,UAAU58E,EAAE+2E,GAAsB/2E,EAAEs5L,GAAGt5L,EAAEu5L,GAAG99I,KAAK,KAAKr6B,GAAG,CAACA,EAAE+3K,iBAAiB93K,EAAED,EAAE43K,aAAah5L,CAAC,CAAC,CAC7c,SAASu5L,GAAGn4K,EAAEC,GAAc,GAAXu3K,IAAI,EAAEC,GAAG,EAAK,KAAO,EAAF71I,IAAK,MAAMhlD,MAAMke,EAAE,MAAM,IAAIlc,EAAEohB,EAAE43K,aAAa,GAAGQ,MAAMp4K,EAAE43K,eAAeh5L,EAAE,OAAO,KAAK,IAAIwhB,EAAE0gE,GAAG9gE,EAAEA,IAAIshC,GAAEQ,GAAE,GAAG,GAAG,IAAI1hC,EAAE,OAAO,KAAK,GAAG,KAAO,GAAFA,IAAO,KAAKA,EAAEJ,EAAE83K,eAAe73K,EAAEA,EAAEo4K,GAAGr4K,EAAEI,OAAO,CAACH,EAAEG,EAAE,IAAIiH,EAAEu6B,GAAEA,IAAG,EAAE,IAAIl6B,EAAE4wK,KAAgD,IAAxCh3I,KAAIthC,GAAG8hC,KAAI7hC,IAAEwwE,GAAG,KAAKgkG,GAAGnuK,KAAI,IAAIiyK,GAAGv4K,EAAEC,UAAUu4K,KAAK,KAAK,CAAC,MAAMxwK,GAAGywK,GAAGz4K,EAAEgI,EAAE,CAAUshK,KAAKn6F,GAAGn4D,QAAQtP,EAAEk6B,GAAEv6B,EAAE,OAAO25B,GAAE/gC,EAAE,GAAGqhC,GAAE,KAAKQ,GAAE,EAAE7hC,EAAE8E,GAAE,CAAC,GAAG,IAAI9E,EAAE,CAAyC,GAAxC,IAAIA,IAAY,KAARoH,EAAE2zD,GAAGh7D,MAAWI,EAAEiH,EAAEpH,EAAEy4K,GAAG14K,EAAEqH,KAAQ,IAAIpH,EAAE,MAAMrhB,EAAEm4L,GAAGwB,GAAGv4K,EAAE,GAAG03K,GAAG13K,EAAEI,GAAGu3K,GAAG33K,EAAEsG,MAAK1nB,EAAE,GAAG,IAAIqhB,EAAEy3K,GAAG13K,EAAEI,OAChf,CAAuB,GAAtBiH,EAAErH,EAAEgX,QAAQuiJ,UAAa,KAAO,GAAFn5J,KAGnC,SAAYJ,GAAG,IAAI,IAAIC,EAAED,IAAI,CAAC,GAAW,MAARC,EAAEywC,MAAY,CAAC,IAAI9xD,EAAEqhB,EAAEsqK,YAAY,GAAG,OAAO3rL,GAAe,QAAXA,EAAEA,EAAEovL,QAAiB,IAAI,IAAI5tK,EAAE,EAAEA,EAAExhB,EAAExB,OAAOgjB,IAAI,CAAC,IAAIiH,EAAEzoB,EAAEwhB,GAAGsH,EAAEL,EAAEymK,YAAYzmK,EAAEA,EAAE7hB,MAAM,IAAI,IAAIqpD,GAAGnnC,IAAIL,GAAG,OAAM,CAAE,CAAC,MAAMzZ,GAAG,OAAM,CAAE,CAAC,CAAC,CAAW,GAAVhP,EAAEqhB,EAAE05J,MAAwB,MAAf15J,EAAEszK,cAAoB,OAAO30L,EAAEA,EAAE46K,OAAOv5J,EAAEA,EAAErhB,MAAM,CAAC,GAAGqhB,IAAID,EAAE,MAAM,KAAK,OAAOC,EAAE25J,SAAS,CAAC,GAAG,OAAO35J,EAAEu5J,QAAQv5J,EAAEu5J,SAASx5J,EAAE,OAAM,EAAGC,EAAEA,EAAEu5J,MAAM,CAACv5J,EAAE25J,QAAQJ,OAAOv5J,EAAEu5J,OAAOv5J,EAAEA,EAAE25J,OAAO,CAAC,CAAC,OAAM,CAAE,CAHvX+e,CAAGtxK,KAAe,KAAVpH,EAAEo4K,GAAGr4K,EAAEI,MAAmB,KAARsH,EAAEszD,GAAGh7D,MAAWI,EAAEsH,EAAEzH,EAAEy4K,GAAG14K,EAAE0H,KAAK,IAAIzH,GAAG,MAAMrhB,EAAEm4L,GAAGwB,GAAGv4K,EAAE,GAAG03K,GAAG13K,EAAEI,GAAGu3K,GAAG33K,EAAEsG,MAAK1nB,EAAqC,OAAnCohB,EAAE44K,aAAavxK,EAAErH,EAAE64K,cAAcz4K,EAASH,GAAG,KAAK,EAAE,KAAK,EAAE,MAAMrjB,MAAMke,EAAE,MAAM,KAAK,EAC8B,KAAK,EAAEg+K,GAAG94K,EAAEwwE,GAAGC,IAAI,MAD7B,KAAK,EAAU,GAARinG,GAAG13K,EAAEI,IAAS,UAAFA,KAAeA,GAAiB,IAAbH,EAAEq2K,GAAG,IAAIhwK,MAAU,CAAC,GAAG,IAAIw6D,GAAG9gE,EAAE,GAAG,MAAyB,KAAnBqH,EAAErH,EAAE06J,gBAAqBt6J,KAAKA,EAAE,CAACkgC,KAAItgC,EAAE26J,aAAa36J,EAAE06J,eAAerzJ,EAAE,KAAK,CAACrH,EAAE+4K,cAAcr9H,GAAGo9H,GAAGz+I,KAAK,KAAKr6B,EAAEwwE,GAAGC,IAAIxwE,GAAG,KAAK,CAAC64K,GAAG94K,EAAEwwE,GAAGC,IAAI,MAAM,KAAK,EAAU,GAARinG,GAAG13K,EAAEI,IAAS,QAAFA,KAC9eA,EAAE,MAAqB,IAAfH,EAAED,EAAE86J,WAAezzJ,GAAG,EAAE,EAAEjH,GAAG,CAAC,IAAIxS,EAAE,GAAGm1E,GAAG3iE,GAAGsH,EAAE,GAAG9Z,GAAEA,EAAEqS,EAAErS,IAAKyZ,IAAIA,EAAEzZ,GAAGwS,IAAIsH,CAAC,CAAqG,GAApGtH,EAAEiH,EAAqG,IAA3FjH,GAAG,KAAXA,EAAEkG,KAAIlG,GAAW,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKy2K,GAAGz2K,EAAE,OAAOA,GAAU,CAACJ,EAAE+4K,cAAcr9H,GAAGo9H,GAAGz+I,KAAK,KAAKr6B,EAAEwwE,GAAGC,IAAIrwE,GAAG,KAAK,CAAC04K,GAAG94K,EAAEwwE,GAAGC,IAAI,MAA+B,QAAQ,MAAM7zF,MAAMke,EAAE,MAAO,CAAC,CAAW,OAAV68K,GAAG33K,EAAEsG,MAAYtG,EAAE43K,eAAeh5L,EAAEu5L,GAAG99I,KAAK,KAAKr6B,GAAG,IAAI,CACrX,SAAS04K,GAAG14K,EAAEC,GAAG,IAAIrhB,EAAEqxF,GAA2G,OAAxGjwE,EAAEgX,QAAQyiJ,cAAc8B,eAAegd,GAAGv4K,EAAEC,GAAGywC,OAAO,KAAe,KAAV1wC,EAAEq4K,GAAGr4K,EAAEC,MAAWA,EAAEuwE,GAAGA,GAAG5xF,EAAE,OAAOqhB,GAAGi0K,GAAGj0K,IAAWD,CAAC,CAAC,SAASk0K,GAAGl0K,GAAG,OAAOwwE,GAAGA,GAAGxwE,EAAEwwE,GAAGvuF,KAAK6C,MAAM0rF,GAAGxwE,EAAE,CAE5L,SAAS03K,GAAG13K,EAAEC,GAAuD,IAApDA,IAAIg3K,GAAGh3K,IAAI+2K,GAAGh3K,EAAE06J,gBAAgBz6J,EAAED,EAAE26J,cAAc16J,EAAMD,EAAEA,EAAE63K,gBAAgB,EAAE53K,GAAG,CAAC,IAAIrhB,EAAE,GAAGmkF,GAAG9iE,GAAGG,EAAE,GAAGxhB,EAAEohB,EAAEphB,IAAI,EAAEqhB,IAAIG,CAAC,CAAC,CAAC,SAAS63K,GAAGj4K,GAAG,GAAG,KAAO,EAAF4hC,IAAK,MAAMhlD,MAAMke,EAAE,MAAMs9K,KAAK,IAAIn4K,EAAE6gE,GAAG9gE,EAAE,GAAG,GAAG,KAAO,EAAFC,GAAK,OAAO03K,GAAG33K,EAAEsG,MAAK,KAAK,IAAI1nB,EAAEy5L,GAAGr4K,EAAEC,GAAG,GAAG,IAAID,EAAE64E,KAAK,IAAIj6F,EAAE,CAAC,IAAIwhB,EAAE46D,GAAGh7D,GAAG,IAAII,IAAIH,EAAEG,EAAExhB,EAAE85L,GAAG14K,EAAEI,GAAG,CAAC,GAAG,IAAIxhB,EAAE,MAAMA,EAAEm4L,GAAGwB,GAAGv4K,EAAE,GAAG03K,GAAG13K,EAAEC,GAAG03K,GAAG33K,EAAEsG,MAAK1nB,EAAE,GAAG,IAAIA,EAAE,MAAMhC,MAAMke,EAAE,MAAiF,OAA3EkF,EAAE44K,aAAa54K,EAAEgX,QAAQuiJ,UAAUv5J,EAAE64K,cAAc54K,EAAE64K,GAAG94K,EAAEwwE,GAAGC,IAAIknG,GAAG33K,EAAEsG,MAAY,IAAI,CACvd,SAAS0yK,GAAGh5K,EAAEC,GAAG,IAAIrhB,EAAEgjD,GAAEA,IAAG,EAAE,IAAI,OAAO5hC,EAAEC,EAAE,CAAC,QAAY,KAAJ2hC,GAAEhjD,KAAU61L,GAAGnuK,KAAI,IAAI4/J,IAAIE,KAAK,CAAC,CAAC,SAAS6S,GAAGj5K,GAAG,OAAOo3K,IAAI,IAAIA,GAAGv+F,KAAK,KAAO,EAAFj3C,KAAMw2I,KAAK,IAAIn4K,EAAE2hC,GAAEA,IAAG,EAAE,IAAIhjD,EAAEoyC,GAAG0qI,WAAWt7J,EAAE+F,GAAE,IAAI,GAAG6qB,GAAG0qI,WAAW,KAAKv1J,GAAE,EAAEnG,EAAE,OAAOA,GAAG,CAAC,QAAQmG,GAAE/F,EAAE4wB,GAAG0qI,WAAW98K,EAAM,KAAO,GAAXgjD,GAAE3hC,KAAammK,IAAI,CAAC,CAAC,SAASsO,KAAKrmG,GAAGwjG,GAAG76J,QAAQklB,GAAE21I,GAAG,CAChT,SAAS0G,GAAGv4K,EAAEC,GAAGD,EAAE44K,aAAa,KAAK54K,EAAE64K,cAAc,EAAE,IAAIj6L,EAAEohB,EAAE+4K,cAAiD,IAAlC,IAAIn6L,IAAIohB,EAAE+4K,eAAe,EAAE5U,GAAGvlL,IAAO,OAAOoiD,GAAE,IAAIpiD,EAAEoiD,GAAEw4H,OAAO,OAAO56K,GAAG,CAAC,IAAIwhB,EAAExhB,EAAQ,OAANioL,GAAGzmK,GAAUA,EAAEy4E,KAAK,KAAK,EAA6B,QAA3Bz4E,EAAEA,EAAErgB,KAAK2lL,yBAA4B,IAAStlK,GAAGulK,KAAK,MAAM,KAAK,EAAE33F,KAAK9xC,GAAEipI,IAAIjpI,GAAEwE,IAAGorI,KAAK,MAAM,KAAK,EAAEJ,GAAGtrK,GAAG,MAAM,KAAK,EAAE4tE,KAAK,MAAM,KAAK,GAAc,KAAK,GAAG9xC,GAAE91B,IAAG,MAAM,KAAK,GAAGmjK,GAAGnpK,EAAErgB,KAAKo1K,UAAU,MAAM,KAAK,GAAG,KAAK,GAAGuf,KAAK91L,EAAEA,EAAE46K,MAAM,CAAqE,GAApEl4H,GAAEthC,EAAEghC,GAAEhhC,EAAEyoK,GAAGzoK,EAAEgX,QAAQ,MAAM8qB,GAAEusC,GAAGpuE,EAAE8E,GAAE,EAAEgyK,GAAG,KAAKE,GAAGD,GAAG5L,GAAG,EAAE56F,GAAGP,GAAG,KAAQ,OAAOkzD,GAAG,CAAC,IAAIljI,EAC1f,EAAEA,EAAEkjI,GAAG/lJ,OAAO6iB,IAAI,GAA2B,QAAhBG,GAARxhB,EAAEukJ,GAAGljI,IAAOkqK,aAAqB,CAACvrL,EAAEurL,YAAY,KAAK,IAAI9iK,EAAEjH,EAAEy/E,KAAKn4E,EAAE9oB,EAAEgsL,QAAQ,GAAG,OAAOljK,EAAE,CAAC,IAAI9Z,EAAE8Z,EAAEm4E,KAAKn4E,EAAEm4E,KAAKx4E,EAAEjH,EAAEy/E,KAAKjyF,CAAC,CAAChP,EAAEgsL,QAAQxqK,CAAC,CAAC+iI,GAAG,IAAI,CAAC,OAAOnjI,CAAC,CAC3K,SAASy4K,GAAGz4K,EAAEC,GAAG,OAAE,CAAC,IAAIrhB,EAAEoiD,GAAE,IAAuB,GAAnBsoI,KAAK0C,GAAGh1J,QAAQ61J,GAAMT,GAAG,CAAC,IAAI,IAAIhsK,EAAE1B,GAAE+6J,cAAc,OAAOr5J,GAAG,CAAC,IAAIiH,EAAEjH,EAAE6sK,MAAM,OAAO5lK,IAAIA,EAAEujK,QAAQ,MAAMxqK,EAAEA,EAAEy/E,IAAI,CAACusF,IAAG,CAAE,CAA4C,GAA3CD,GAAG,EAAErxI,GAAEr8B,GAAEC,GAAE,KAAK2tK,IAAG,EAAGC,GAAG,EAAEwK,GAAG9/J,QAAQ,KAAQ,OAAOp4B,GAAG,OAAOA,EAAE46K,OAAO,CAACz0J,GAAE,EAAEgyK,GAAG92K,EAAE+gC,GAAE,KAAK,KAAK,CAAChhC,EAAE,CAAC,IAAI0H,EAAE1H,EAAEpS,EAAEhP,EAAE46K,OAAOxxJ,EAAEppB,EAAEhB,EAAEqiB,EAAqB,GAAnBA,EAAE6hC,GAAE95B,EAAE0oC,OAAO,MAAS,OAAO9yD,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAEgvE,KAAK,CAAC,IAAIvxD,EAAEzd,EAAEyE,EAAE2lB,EAAEjI,EAAE1d,EAAEw2F,IAAI,GAAG,KAAY,EAAPx2F,EAAEa,QAAU,IAAI6c,GAAG,KAAKA,GAAG,KAAKA,GAAG,CAAC,IAAIjS,EAAEzL,EAAEk3K,UAAUzrK,GAAGzL,EAAEkoL,YAAYz8K,EAAEy8K,YAAYloL,EAAEo3K,cAAc3rK,EAAE2rK,cACxep3K,EAAEwnL,MAAM/7K,EAAE+7K,QAAQxnL,EAAEkoL,YAAY,KAAKloL,EAAEo3K,cAAc,KAAK,CAAC,IAAIrvK,EAAE+6E,GAAGv3E,GAAG,GAAG,OAAOxD,EAAE,CAACA,EAAEsmD,QAAQ,IAAIogI,GAAG1mL,EAAEwD,EAAEoa,EAAEN,EAAEzH,GAAU,EAAP7V,EAAElH,MAAQo3E,GAAG5yD,EAAErM,EAAE4E,GAAOriB,EAAEyd,EAAE,IAAIjZ,GAAZ6d,EAAE7V,GAAcmgL,YAAY,GAAG,OAAOnoL,EAAE,CAAC,IAAI8d,EAAE,IAAIm0J,IAAIn0J,EAAEwqB,IAAI9sC,GAAGqiB,EAAEsqK,YAAYrqK,CAAC,MAAM9d,EAAEsoC,IAAI9sC,GAAG,MAAMoiB,CAAC,CAAM,GAAG,KAAO,EAAFC,GAAK,CAACq6D,GAAG5yD,EAAErM,EAAE4E,GAAGkzK,KAAK,MAAMnzK,CAAC,CAACpiB,EAAEhB,MAAMke,EAAE,KAAM,MAAM,GAAG8/B,IAAU,EAAP5yB,EAAE9kB,KAAO,CAAC,IAAIi+C,EAAEgkC,GAAGv3E,GAAG,GAAG,OAAOuzC,EAAE,CAAC,KAAa,MAARA,EAAEuP,SAAevP,EAAEuP,OAAO,KAAKogI,GAAG3vI,EAAEvzC,EAAEoa,EAAEN,EAAEzH,GAAG+nK,GAAGqI,GAAGzyL,EAAEoqB,IAAI,MAAMhI,CAAC,CAAC,CAAC0H,EAAE9pB,EAAEyyL,GAAGzyL,EAAEoqB,GAAG,IAAIjD,KAAIA,GAAE,GAAG,OAAOkrE,GAAGA,GAAG,CAACvoE,GAAGuoE,GAAGhuF,KAAKylB,GAAGA,EAAE9Z,EAAE,EAAE,CAAC,OAAO8Z,EAAEmxE,KAAK,KAAK,EAAEnxE,EAAEgpC,OAAO,MACpfzwC,IAAIA,EAAEyH,EAAEmiK,OAAO5pK,EAAkBirK,GAAGxjK,EAAbsgE,GAAGtgE,EAAE9pB,EAAEqiB,IAAW,MAAMD,EAAE,KAAK,EAAEgI,EAAEpqB,EAAE,IAAIwuC,EAAE1kB,EAAE3nB,KAAK4d,EAAE+J,EAAE4xJ,UAAU,GAAG,KAAa,IAAR5xJ,EAAEgpC,SAAa,oBAAoBtkB,EAAEskJ,0BAA0B,OAAO/yK,GAAG,oBAAoBA,EAAEgzK,oBAAoB,OAAOzrG,KAAKA,GAAG5hD,IAAI3lB,KAAK,CAAC+J,EAAEgpC,OAAO,MAAMzwC,IAAIA,EAAEyH,EAAEmiK,OAAO5pK,EAAkBirK,GAAGxjK,EAAb+oK,GAAG/oK,EAAEM,EAAE/H,IAAW,MAAMD,CAAC,EAAE0H,EAAEA,EAAE8xJ,MAAM,OAAO,OAAO9xJ,EAAE,CAACwxK,GAAGt6L,EAAE,CAAC,MAAMyoF,GAAIpnE,EAAEonE,EAAGrmC,KAAIpiD,GAAG,OAAOA,IAAIoiD,GAAEpiD,EAAEA,EAAE46K,QAAQ,QAAQ,CAAC,KAAK,CAAS,CAAC,SAAS8e,KAAK,IAAIt4K,EAAEmvE,GAAGn4D,QAAsB,OAAdm4D,GAAGn4D,QAAQ61J,GAAU,OAAO7sK,EAAE6sK,GAAG7sK,CAAC,CACrd,SAASmzK,KAAQ,IAAIpuK,IAAG,IAAIA,IAAG,IAAIA,KAAEA,GAAE,GAAE,OAAOu8B,IAAG,KAAQ,UAAH8pI,KAAe,KAAQ,UAAH4L,KAAeU,GAAGp2I,GAAEQ,GAAE,CAAC,SAASu2I,GAAGr4K,EAAEC,GAAG,IAAIrhB,EAAEgjD,GAAEA,IAAG,EAAE,IAAIxhC,EAAEk4K,KAAqC,IAA7Bh3I,KAAIthC,GAAG8hC,KAAI7hC,IAAEwwE,GAAG,KAAK8nG,GAAGv4K,EAAEC,UAAUk5K,KAAK,KAAK,CAAC,MAAM9xK,GAAGoxK,GAAGz4K,EAAEqH,EAAE,CAAgC,GAAtBiiK,KAAK1nI,GAAEhjD,EAAEuwF,GAAGn4D,QAAQ5W,EAAK,OAAO4gC,GAAE,MAAMpkD,MAAMke,EAAE,MAAiB,OAAXwmC,GAAE,KAAKQ,GAAE,EAAS/8B,EAAC,CAAC,SAASo0K,KAAK,KAAK,OAAOn4I,IAAGo4I,GAAGp4I,GAAE,CAAC,SAASw3I,KAAK,KAAK,OAAOx3I,KAAI3qC,MAAM+iL,GAAGp4I,GAAE,CAAC,SAASo4I,GAAGp5K,GAAG,IAAIC,EAAE22K,GAAG52K,EAAEu5J,UAAUv5J,EAAEquE,IAAIruE,EAAE6nK,cAAc7nK,EAAEsnK,aAAa,OAAOrnK,EAAEi5K,GAAGl5K,GAAGghC,GAAE/gC,EAAE62K,GAAG9/J,QAAQ,IAAI,CAC1d,SAASkiK,GAAGl5K,GAAG,IAAIC,EAAED,EAAE,EAAE,CAAC,IAAIphB,EAAEqhB,EAAEs5J,UAAqB,GAAXv5J,EAAEC,EAAEu5J,OAAU,KAAa,MAARv5J,EAAEywC,QAAc,GAAgB,QAAb9xD,EAAEq1L,GAAGr1L,EAAEqhB,EAAEouE,KAAkB,YAAJrtC,GAAEpiD,OAAc,CAAW,GAAG,QAAbA,EAAE+1L,GAAG/1L,EAAEqhB,IAAmC,OAAnBrhB,EAAE8xD,OAAO,WAAM1P,GAAEpiD,GAAS,GAAG,OAAOohB,EAAmE,OAAX+E,GAAE,OAAEi8B,GAAE,MAA5DhhC,EAAE0wC,OAAO,MAAM1wC,EAAEuzK,aAAa,EAAEvzK,EAAEonK,UAAU,IAA4B,CAAa,GAAG,QAAfnnK,EAAEA,EAAE25J,SAAyB,YAAJ54H,GAAE/gC,GAAS+gC,GAAE/gC,EAAED,CAAC,OAAO,OAAOC,GAAG,IAAI8E,KAAIA,GAAE,EAAE,CAAC,SAAS+zK,GAAG94K,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAE+F,GAAEkB,EAAE2pB,GAAG0qI,WAAW,IAAI1qI,GAAG0qI,WAAW,KAAKv1J,GAAE,EAC3Y,SAAYnG,EAAEC,EAAErhB,EAAEwhB,GAAG,GAAGg4K,WAAW,OAAOhB,IAAI,GAAG,KAAO,EAAFx1I,IAAK,MAAMhlD,MAAMke,EAAE,MAAMlc,EAAEohB,EAAE44K,aAAa,IAAIvxK,EAAErH,EAAE64K,cAAc,GAAG,OAAOj6L,EAAE,OAAO,KAA2C,GAAtCohB,EAAE44K,aAAa,KAAK54K,EAAE64K,cAAc,EAAKj6L,IAAIohB,EAAEgX,QAAQ,MAAMp6B,MAAMke,EAAE,MAAMkF,EAAE43K,aAAa,KAAK53K,EAAE+3K,iBAAiB,EAAE,IAAIrwK,EAAE9oB,EAAEirL,MAAMjrL,EAAE8qL,WAA8J,GAzNtT,SAAY1pK,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAEy6J,cAAcx6J,EAAED,EAAEy6J,aAAax6J,EAAED,EAAE06J,eAAe,EAAE16J,EAAE26J,YAAY,EAAE36J,EAAE83K,cAAc73K,EAAED,EAAEq5K,kBAAkBp5K,EAAED,EAAE46J,gBAAgB36J,EAAEA,EAAED,EAAE66J,cAAc,IAAIz6J,EAAEJ,EAAE86J,WAAW,IAAI96J,EAAEA,EAAE63K,gBAAgB,EAAEj5L,GAAG,CAAC,IAAIyoB,EAAE,GAAG07D,GAAGnkF,GAAG8oB,EAAE,GAAGL,EAAEpH,EAAEoH,GAAG,EAAEjH,EAAEiH,IAAI,EAAErH,EAAEqH,IAAI,EAAEzoB,IAAI8oB,CAAC,CAAC,CAyN5G+6D,CAAGziE,EAAE0H,GAAG1H,IAAIshC,KAAIN,GAAEM,GAAE,KAAKQ,GAAE,GAAG,KAAoB,KAAfljD,EAAE20L,eAAoB,KAAa,KAAR30L,EAAE8xD,QAAaymI,KAAKA,IAAG,EAAGe,GAAG18G,IAAG,WAAgB,OAAL48G,KAAY,IAAI,KAAI1wK,EAAE,KAAa,MAAR9oB,EAAE8xD,OAAgB,KAAoB,MAAf9xD,EAAE20L,eAAqB7rK,EAAE,CAACA,EAAEspB,GAAG0qI,WAAW1qI,GAAG0qI,WAAW,KAChf,IAAI9tK,EAAEuY,GAAEA,GAAE,EAAE,IAAI6B,EAAE45B,GAAEA,IAAG,EAAEk1I,GAAG9/J,QAAQ,KA1CpC,SAAYhX,EAAEC,GAAgB,GAAb8jK,GAAGjkG,GAAa9zB,GAAVhsC,EAAEutC,MAAc,CAAC,GAAG,mBAAmBvtC,EAAE,IAAIphB,EAAE,CAAC8Q,MAAMsQ,EAAEshK,eAAeh8K,IAAI0a,EAAEuhK,mBAAmBvhK,EAAE,CAA8C,IAAII,GAAjDxhB,GAAGA,EAAEohB,EAAEi2J,gBAAgBr3K,EAAE4iL,aAAap/J,QAAeq/J,cAAc7iL,EAAE6iL,eAAe,GAAGrhK,GAAG,IAAIA,EAAEuhK,WAAW,CAAC/iL,EAAEwhB,EAAEwhK,WAAW,IAAIv6J,EAAEjH,EAAEyhK,aAAan6J,EAAEtH,EAAE0hK,UAAU1hK,EAAEA,EAAE2hK,YAAY,IAAInjL,EAAE0hE,SAAS54C,EAAE44C,QAAQ,CAAC,MAAMllB,GAAGx8C,EAAE,KAAK,MAAMohB,CAAC,CAAC,IAAIpS,EAAE,EAAEoa,GAAG,EAAEpqB,GAAG,EAAEyd,EAAE,EAAEhZ,EAAE,EAAE0d,EAAEC,EAAElS,EAAE,KAAKmS,EAAE,OAAO,CAAC,IAAI,IAAI7V,EAAK2V,IAAInhB,GAAG,IAAIyoB,GAAG,IAAItH,EAAEugD,WAAWt4C,EAAEpa,EAAEyZ,GAAGtH,IAAI2H,GAAG,IAAItH,GAAG,IAAIL,EAAEugD,WAAW1iE,EAAEgQ,EAAEwS,GAAG,IAAIL,EAAEugD,WAAW1yD,GACnfmS,EAAEsuD,UAAUjxE,QAAW,QAAQgN,EAAE2V,EAAEuuD,aAAkBxgE,EAAEiS,EAAEA,EAAE3V,EAAE,OAAO,CAAC,GAAG2V,IAAIC,EAAE,MAAMC,EAA8C,GAA5CnS,IAAIlP,KAAKyc,IAAIgM,IAAIW,EAAEpa,GAAGE,IAAI4Z,KAAKrlB,IAAI+d,IAAIxiB,EAAEgQ,GAAM,QAAQxD,EAAE2V,EAAEwuD,aAAa,MAAUzgE,GAAJiS,EAAEjS,GAAMu7D,UAAU,CAACtpD,EAAE3V,CAAC,CAACxL,GAAG,IAAIopB,IAAI,IAAIpqB,EAAE,KAAK,CAAC8R,MAAMsY,EAAE1iB,IAAI1H,EAAE,MAAMgB,EAAE,IAAI,CAACA,EAAEA,GAAG,CAAC8Q,MAAM,EAAEpK,IAAI,EAAE,MAAM1G,EAAE,KAA+C,IAA1ColL,GAAG,CAAC5C,YAAYphK,EAAEqhK,eAAeziL,GAAGkhF,IAAG,EAAOj/B,GAAE5gC,EAAE,OAAO4gC,IAAG,GAAO7gC,GAAJC,EAAE4gC,IAAM84H,MAAM,KAAoB,KAAf15J,EAAEszK,eAAoB,OAAOvzK,EAAEA,EAAEw5J,OAAOv5J,EAAE4gC,GAAE7gC,OAAO,KAAK,OAAO6gC,IAAG,CAAC5gC,EAAE4gC,GAAE,IAAI,IAAIz+C,EAAE6d,EAAEs5J,UAAU,GAAG,KAAa,KAARt5J,EAAEywC,OAAY,OAAOzwC,EAAE44E,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GACvK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAA3W,KAAK,EAAE,GAAG,OAAOz2F,EAAE,CAAC,IAAI8d,EAAE9d,EAAEylL,cAAc1mI,EAAE/+C,EAAEq3K,cAActvK,EAAE8V,EAAEq5J,UAAUltI,EAAEjiC,EAAE8lL,wBAAwBhwK,EAAEknK,cAAclnK,EAAElgB,KAAKmgB,EAAEk6D,GAAGn6D,EAAElgB,KAAKmgB,GAAGihC,GAAGh3C,EAAEwsL,oCAAoCvqJ,CAAC,CAAC,MAAM,KAAK,EAAE,IAAIzuB,EAAEsC,EAAEq5J,UAAUkC,cAAc,IAAI79J,EAAE2iD,SAAS3iD,EAAE8Y,YAAY,GAAG,IAAI9Y,EAAE2iD,UAAU3iD,EAAEkyC,iBAAiBlyC,EAAE2xD,YAAY3xD,EAAEkyC,iBAAiB,MAAyC,QAAQ,MAAMjzD,MAAMke,EAAE,MAAO,CAAC,MAAMsgC,GAAGwF,GAAE3gC,EAAEA,EAAEu5J,OAAOp+H,EAAE,CAAa,GAAG,QAAfp7B,EAAEC,EAAE25J,SAAoB,CAAC55J,EAAEw5J,OAAOv5J,EAAEu5J,OAAO34H,GAAE7gC,EAAE,KAAK,CAAC6gC,GAAE5gC,EAAEu5J,MAAM,CAACp3K,EAAE6yL,GAAGA,IAAG,CAAW,CAwCldqE,CAAGt5K,EAAEphB,GAAGu3L,GAAGv3L,EAAEohB,GAAGwtC,GAAGw2H,IAAIlkG,KAAKikG,GAAGC,GAAGD,GAAG,KAAK/jK,EAAEgX,QAAQp4B,EAAE43L,GAAG53L,EAAEohB,EAAEqH,GAAG6xD,KAAKt3B,GAAE55B,EAAE7B,GAAEvY,EAAEojC,GAAG0qI,WAAWh0J,CAAC,MAAM1H,EAAEgX,QAAQp4B,EAAsF,GAApFu4L,KAAKA,IAAG,EAAGC,GAAGp3K,EAAEq3K,GAAGhwK,GAAGK,EAAE1H,EAAEy6J,aAAa,IAAI/yJ,IAAIw9D,GAAG,MAhOmJ,SAAYllE,GAAG,GAAG+rB,IAAI,oBAAoBA,GAAGwtJ,kBAAkB,IAAIxtJ,GAAGwtJ,kBAAkBh3G,GAAGviE,OAAE,EAAO,OAAuB,IAAhBA,EAAEgX,QAAQ05B,OAAW,CAAC,MAAMzwC,GAAG,CAAC,CAgOxR4nE,CAAGjpF,EAAE06K,WAAaqe,GAAG33K,EAAEsG,MAAQ,OAAOrG,EAAE,IAAIG,EAAEJ,EAAEw5K,mBAAmB56L,EAAE,EAAEA,EAAEqhB,EAAE7iB,OAAOwB,IAAIyoB,EAAEpH,EAAErhB,GAAGwhB,EAAEiH,EAAE7hB,MAAM,CAACorL,eAAevpK,EAAEgoC,MAAMihI,OAAOjpK,EAAEipK,SAAS,GAAG71G,GAAG,MAAMA,IAAG,EAAGz6D,EAAE06D,GAAGA,GAAG,KAAK16D,EAAE,KAAQ,EAAHq3K,KAAO,IAAIr3K,EAAE64E,KAAKu/F,KAAK1wK,EAAE1H,EAAEy6J,aAAa,KAAO,EAAF/yJ,GAAK1H,IAAIu3K,GAAGD,MAAMA,GAAG,EAAEC,GAAGv3K,GAAGs3K,GAAG,EAAElR,IAAgB,CAFxFqT,CAAGz5K,EAAEC,EAAErhB,EAAEwhB,EAAE,CAAC,QAAQ4wB,GAAG0qI,WAAWr0J,EAAElB,GAAE/F,CAAC,CAAC,OAAO,IAAI,CAGhc,SAASg4K,KAAK,GAAG,OAAOhB,GAAG,CAAC,IAAIp3K,EAAE86D,GAAGu8G,IAAIp3K,EAAE+wB,GAAG0qI,WAAW98K,EAAEunB,GAAE,IAAmC,GAA/B6qB,GAAG0qI,WAAW,KAAKv1J,GAAE,GAAGnG,EAAE,GAAGA,EAAK,OAAOo3K,GAAG,IAAIh3K,GAAE,MAAO,CAAmB,GAAlBJ,EAAEo3K,GAAGA,GAAG,KAAKC,GAAG,EAAK,KAAO,EAAFz1I,IAAK,MAAMhlD,MAAMke,EAAE,MAAM,IAAIuM,EAAEu6B,GAAO,IAALA,IAAG,EAAMf,GAAE7gC,EAAEgX,QAAQ,OAAO6pB,IAAG,CAAC,IAAIn5B,EAAEm5B,GAAEjzC,EAAE8Z,EAAEiyJ,MAAM,GAAG,KAAa,GAAR94H,GAAE6P,OAAU,CAAC,IAAI1oC,EAAEN,EAAE0/J,UAAU,GAAG,OAAOp/J,EAAE,CAAC,IAAI,IAAIpqB,EAAE,EAAEA,EAAEoqB,EAAE5qB,OAAOQ,IAAI,CAAC,IAAIyd,EAAE2M,EAAEpqB,GAAG,IAAIijD,GAAExlC,EAAE,OAAOwlC,IAAG,CAAC,IAAIx+C,EAAEw+C,GAAE,OAAOx+C,EAAEw2F,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGq8F,GAAG,EAAE7yL,EAAEqlB,GAAG,IAAI3H,EAAE1d,EAAEs3K,MAAM,GAAG,OAAO55J,EAAEA,EAAEy5J,OAAOn3K,EAAEw+C,GAAE9gC,OAAO,KAAK,OAAO8gC,IAAG,CAAK,IAAI/yC,GAARzL,EAAEw+C,IAAU+4H,QAAQxvK,EAAE/H,EAAEm3K,OAAa,GAAN6b,GAAGhzL,GAAMA,IACnfgZ,EAAE,CAACwlC,GAAE,KAAK,KAAK,CAAC,GAAG,OAAO/yC,EAAE,CAACA,EAAE0rK,OAAOpvK,EAAEy2C,GAAE/yC,EAAE,KAAK,CAAC+yC,GAAEz2C,CAAC,CAAC,CAAC,CAAC,IAAIhI,EAAEslB,EAAE6xJ,UAAU,GAAG,OAAOn3K,EAAE,CAAC,IAAI8d,EAAE9d,EAAEu3K,MAAM,GAAG,OAAOz5J,EAAE,CAAC9d,EAAEu3K,MAAM,KAAK,EAAE,CAAC,IAAIx4H,EAAEjhC,EAAE05J,QAAQ15J,EAAE05J,QAAQ,KAAK15J,EAAEihC,CAAC,OAAO,OAAOjhC,EAAE,CAAC,CAAC2gC,GAAEn5B,CAAC,CAAC,CAAC,GAAG,KAAoB,KAAfA,EAAE6rK,eAAoB,OAAO3lL,EAAEA,EAAE4rK,OAAO9xJ,EAAEm5B,GAAEjzC,OAAOqS,EAAE,KAAK,OAAO4gC,IAAG,CAAK,GAAG,KAAa,MAApBn5B,EAAEm5B,IAAY6P,OAAY,OAAOhpC,EAAEmxE,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGq8F,GAAG,EAAExtK,EAAEA,EAAE8xJ,QAAQ,IAAIrvK,EAAEud,EAAEkyJ,QAAQ,GAAG,OAAOzvK,EAAE,CAACA,EAAEqvK,OAAO9xJ,EAAE8xJ,OAAO34H,GAAE12C,EAAE,MAAM8V,CAAC,CAAC4gC,GAAEn5B,EAAE8xJ,MAAM,CAAC,CAAC,IAAIptI,EAAEpsB,EAAEgX,QAAQ,IAAI6pB,GAAEzU,EAAE,OAAOyU,IAAG,CAAK,IAAIljC,GAAR/P,EAAEizC,IAAU84H,MAAM,GAAG,KAAoB,KAAf/rK,EAAE2lL,eAAoB,OAClf51K,EAAEA,EAAE67J,OAAO5rK,EAAEizC,GAAEljC,OAAOsC,EAAE,IAAIrS,EAAEw+B,EAAE,OAAOyU,IAAG,CAAK,GAAG,KAAa,MAApB74B,EAAE64B,IAAY6P,OAAY,IAAI,OAAO1oC,EAAE6wE,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGs8F,GAAG,EAAEntK,GAAG,CAAC,MAAMq/D,GAAIzmC,GAAE54B,EAAEA,EAAEwxJ,OAAOnyF,EAAG,CAAC,GAAGr/D,IAAIpa,EAAE,CAACizC,GAAE,KAAK,MAAM5gC,CAAC,CAAC,IAAIm7B,EAAEpzB,EAAE4xJ,QAAQ,GAAG,OAAOx+H,EAAE,CAACA,EAAEo+H,OAAOxxJ,EAAEwxJ,OAAO34H,GAAEzF,EAAE,MAAMn7B,CAAC,CAAC4gC,GAAE74B,EAAEwxJ,MAAM,CAAC,CAAU,GAAT53H,GAAEv6B,EAAE++J,KAAQr6I,IAAI,oBAAoBA,GAAG2tJ,sBAAsB,IAAI3tJ,GAAG2tJ,sBAAsBn3G,GAAGviE,EAAE,CAAC,MAAMqnE,GAAI,CAACjnE,GAAE,CAAE,CAAC,OAAOA,CAAC,CAAC,QAAQ+F,GAAEvnB,EAAEoyC,GAAG0qI,WAAWz7J,CAAC,CAAC,CAAC,OAAM,CAAE,CAAC,SAAS05K,GAAG35K,EAAEC,EAAErhB,GAAyBohB,EAAEgrK,GAAGhrK,EAAjBC,EAAE+nE,GAAGhoE,EAAfC,EAAEowK,GAAGzxL,EAAEqhB,GAAY,GAAY,GAAGA,EAAEqgC,KAAI,OAAOtgC,IAAIwiE,GAAGxiE,EAAE,EAAEC,GAAG03K,GAAG33K,EAAEC,GAAG,CACze,SAAS2gC,GAAE5gC,EAAEC,EAAErhB,GAAG,GAAG,IAAIohB,EAAE64E,IAAI8gG,GAAG35K,EAAEA,EAAEphB,QAAQ,KAAK,OAAOqhB,GAAG,CAAC,GAAG,IAAIA,EAAE44E,IAAI,CAAC8gG,GAAG15K,EAAED,EAAEphB,GAAG,KAAK,CAAM,GAAG,IAAIqhB,EAAE44E,IAAI,CAAC,IAAIz4E,EAAEH,EAAEq5J,UAAU,GAAG,oBAAoBr5J,EAAElgB,KAAK2wL,0BAA0B,oBAAoBtwK,EAAEuwK,oBAAoB,OAAOzrG,KAAKA,GAAG5hD,IAAIljB,IAAI,CAAuBH,EAAE+qK,GAAG/qK,EAAjBD,EAAEywK,GAAGxwK,EAAfD,EAAEqwK,GAAGzxL,EAAEohB,GAAY,GAAY,GAAGA,EAAEsgC,KAAI,OAAOrgC,IAAIuiE,GAAGviE,EAAE,EAAED,GAAG23K,GAAG13K,EAAED,IAAI,KAAK,CAAC,CAACC,EAAEA,EAAEu5J,MAAM,CAAC,CACnV,SAAShvF,GAAGxqE,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAEJ,EAAE6wK,UAAU,OAAOzwK,GAAGA,EAAE26J,OAAO96J,GAAGA,EAAEqgC,KAAItgC,EAAE26J,aAAa36J,EAAE06J,eAAe97K,EAAE0iD,KAAIthC,IAAI8hC,GAAEljD,KAAKA,IAAI,IAAImmB,IAAG,IAAIA,KAAM,UAAF+8B,MAAeA,IAAG,IAAIx7B,KAAIgwK,GAAGiC,GAAGv4K,EAAE,GAAGi3K,IAAIr4L,GAAG+4L,GAAG33K,EAAEC,EAAE,CAAC,SAAS25K,GAAG55K,EAAEC,GAAG,IAAIA,IAAI,KAAY,EAAPD,EAAE9c,MAAQ+c,EAAE,GAAGA,EAAEmhE,GAAU,KAAQ,WAAfA,KAAK,MAAuBA,GAAG,WAAW,IAAIxiF,EAAE0hD,KAAc,QAAVtgC,EAAEoqK,GAAGpqK,EAAEC,MAAcuiE,GAAGxiE,EAAEC,EAAErhB,GAAG+4L,GAAG33K,EAAEphB,GAAG,CAAC,SAASw0L,GAAGpzK,GAAG,IAAIC,EAAED,EAAEy5J,cAAc76K,EAAE,EAAE,OAAOqhB,IAAIrhB,EAAEqhB,EAAEunK,WAAWoS,GAAG55K,EAAEphB,EAAE,CACjZ,SAASq3L,GAAGj2K,EAAEC,GAAG,IAAIrhB,EAAE,EAAE,OAAOohB,EAAE64E,KAAK,KAAK,GAAG,IAAIz4E,EAAEJ,EAAEs5J,UAAcjyJ,EAAErH,EAAEy5J,cAAc,OAAOpyJ,IAAIzoB,EAAEyoB,EAAEmgK,WAAW,MAAM,KAAK,GAAGpnK,EAAEJ,EAAEs5J,UAAU,MAAM,QAAQ,MAAM18K,MAAMke,EAAE,MAAO,OAAOsF,GAAGA,EAAE26J,OAAO96J,GAAG25K,GAAG55K,EAAEphB,EAAE,CAQqK,SAASs5L,GAAGl4K,EAAEC,GAAG,OAAOskE,GAAGvkE,EAAEC,EAAE,CACjZ,SAAS45K,GAAG75K,EAAEC,EAAErhB,EAAEwhB,GAAG3jB,KAAKo8F,IAAI74E,EAAEvjB,KAAKwN,IAAIrL,EAAEnC,KAAKm9K,QAAQn9K,KAAKk9K,MAAMl9K,KAAK+8K,OAAO/8K,KAAK68K,UAAU78K,KAAKsD,KAAKtD,KAAK0qL,YAAY,KAAK1qL,KAAK8I,MAAM,EAAE9I,KAAKirE,IAAI,KAAKjrE,KAAK6qL,aAAarnK,EAAExjB,KAAKktL,aAAaltL,KAAKg9K,cAAch9K,KAAK8tL,YAAY9tL,KAAKorL,cAAc,KAAKprL,KAAKyG,KAAKkd,EAAE3jB,KAAK82L,aAAa92L,KAAKi0D,MAAM,EAAEj0D,KAAK2qL,UAAU,KAAK3qL,KAAKitL,WAAWjtL,KAAKotL,MAAM,EAAEptL,KAAK88K,UAAU,IAAI,CAAC,SAAS2N,GAAGlnK,EAAEC,EAAErhB,EAAEwhB,GAAG,OAAO,IAAIy5K,GAAG75K,EAAEC,EAAErhB,EAAEwhB,EAAE,CAAC,SAASixK,GAAGrxK,GAAiB,UAAdA,EAAEA,EAAErjB,aAAuBqjB,EAAE85K,iBAAiB,CAEpd,SAASrR,GAAGzoK,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAEu5J,UACuB,OADb,OAAO36K,IAAGA,EAAEsoL,GAAGlnK,EAAE64E,IAAI54E,EAAED,EAAE/V,IAAI+V,EAAE9c,OAAQikL,YAAYnnK,EAAEmnK,YAAYvoL,EAAEmB,KAAKigB,EAAEjgB,KAAKnB,EAAE06K,UAAUt5J,EAAEs5J,UAAU16K,EAAE26K,UAAUv5J,EAAEA,EAAEu5J,UAAU36K,IAAIA,EAAE0oL,aAAarnK,EAAErhB,EAAEmB,KAAKigB,EAAEjgB,KAAKnB,EAAE8xD,MAAM,EAAE9xD,EAAE20L,aAAa,EAAE30L,EAAEwoL,UAAU,MAAMxoL,EAAE8xD,MAAc,SAAR1wC,EAAE0wC,MAAe9xD,EAAE8qL,WAAW1pK,EAAE0pK,WAAW9qL,EAAEirL,MAAM7pK,EAAE6pK,MAAMjrL,EAAE+6K,MAAM35J,EAAE25J,MAAM/6K,EAAEipL,cAAc7nK,EAAE6nK,cAAcjpL,EAAE66K,cAAcz5J,EAAEy5J,cAAc76K,EAAE2rL,YAAYvqK,EAAEuqK,YAAYtqK,EAAED,EAAE2pK,aAAa/qL,EAAE+qL,aAAa,OAAO1pK,EAAE,KAAK,CAAC4pK,MAAM5pK,EAAE4pK,MAAMD,aAAa3pK,EAAE2pK,cAC/ehrL,EAAEg7K,QAAQ55J,EAAE45J,QAAQh7K,EAAE2G,MAAMya,EAAEza,MAAM3G,EAAE8oE,IAAI1nD,EAAE0nD,IAAW9oE,CAAC,CACxD,SAAS+pL,GAAG3oK,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,GAAG,IAAI9Z,EAAE,EAAM,GAAJwS,EAAEJ,EAAK,oBAAoBA,EAAEqxK,GAAGrxK,KAAKpS,EAAE,QAAQ,GAAG,kBAAkBoS,EAAEpS,EAAE,OAAOoS,EAAE,OAAOA,GAAG,KAAKihE,EAAG,OAAO6nG,GAAGlqL,EAAE2yE,SAASlqD,EAAEK,EAAEzH,GAAG,KAAKiiE,EAAGt0E,EAAE,EAAEyZ,GAAG,EAAE,MAAM,KAAKs6D,EAAG,OAAO3hE,EAAEknK,GAAG,GAAGtoL,EAAEqhB,EAAI,EAAFoH,IAAO8/J,YAAYxlG,EAAG3hE,EAAE6pK,MAAMniK,EAAE1H,EAAE,KAAKk3D,EAAG,OAAOl3D,EAAEknK,GAAG,GAAGtoL,EAAEqhB,EAAEoH,IAAK8/J,YAAYjwG,EAAGl3D,EAAE6pK,MAAMniK,EAAE1H,EAAE,KAAK6jE,EAAG,OAAO7jE,EAAEknK,GAAG,GAAGtoL,EAAEqhB,EAAEoH,IAAK8/J,YAAYtjG,EAAG7jE,EAAE6pK,MAAMniK,EAAE1H,EAAE,KAAKsjE,EAAG,OAAOwvG,GAAGl0L,EAAEyoB,EAAEK,EAAEzH,GAAG,QAAQ,GAAG,kBAAkBD,GAAG,OAAOA,EAAE,OAAOA,EAAEk1J,UAAU,KAAKn5F,EAAGnuE,EAAE,GAAG,MAAMoS,EAAE,KAAKg2D,EAAGpoE,EAAE,EAAE,MAAMoS,EAAE,KAAK44D,EAAGhrE,EAAE,GACpf,MAAMoS,EAAE,KAAKokE,EAAGx2E,EAAE,GAAG,MAAMoS,EAAE,KAAKqjE,EAAGz1E,EAAE,GAAGwS,EAAE,KAAK,MAAMJ,EAAE,MAAMpjB,MAAMke,EAAE,IAAI,MAAMkF,EAAEA,SAASA,EAAE,KAAuD,OAAjDC,EAAEinK,GAAGt5K,EAAEhP,EAAEqhB,EAAEoH,IAAK8/J,YAAYnnK,EAAEC,EAAElgB,KAAKqgB,EAAEH,EAAE4pK,MAAMniK,EAASzH,CAAC,CAAC,SAAS6oK,GAAG9oK,EAAEC,EAAErhB,EAAEwhB,GAA2B,OAAxBJ,EAAEknK,GAAG,EAAElnK,EAAEI,EAAEH,IAAK4pK,MAAMjrL,EAASohB,CAAC,CAAC,SAAS8yK,GAAG9yK,EAAEC,EAAErhB,EAAEwhB,GAAuE,OAApEJ,EAAEknK,GAAG,GAAGlnK,EAAEI,EAAEH,IAAKknK,YAAY7jG,EAAGtjE,EAAE6pK,MAAMjrL,EAAEohB,EAAEs5J,UAAU,CAAC+c,UAAS,GAAWr2K,CAAC,CAAC,SAAS0oK,GAAG1oK,EAAEC,EAAErhB,GAA8B,OAA3BohB,EAAEknK,GAAG,EAAElnK,EAAE,KAAKC,IAAK4pK,MAAMjrL,EAASohB,CAAC,CAC5W,SAAS6oK,GAAG7oK,EAAEC,EAAErhB,GAA8J,OAA3JqhB,EAAEinK,GAAG,EAAE,OAAOlnK,EAAEuxD,SAASvxD,EAAEuxD,SAAS,GAAGvxD,EAAE/V,IAAIgW,IAAK4pK,MAAMjrL,EAAEqhB,EAAEq5J,UAAU,CAACkC,cAAcx7J,EAAEw7J,cAAcue,gBAAgB,KAAKnR,eAAe5oK,EAAE4oK,gBAAuB3oK,CAAC,CACtL,SAAS+5K,GAAGh6K,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG5qB,KAAKo8F,IAAI54E,EAAExjB,KAAK++K,cAAcx7J,EAAEvjB,KAAKm8L,aAAan8L,KAAKo0L,UAAUp0L,KAAKu6B,QAAQv6B,KAAKs9L,gBAAgB,KAAKt9L,KAAKs8L,eAAe,EAAEt8L,KAAKm7L,aAAan7L,KAAK61L,eAAe71L,KAAKuzJ,QAAQ,KAAKvzJ,KAAKs7L,iBAAiB,EAAEt7L,KAAKq+K,WAAWp4F,GAAG,GAAGjmF,KAAKo7L,gBAAgBn1G,IAAI,GAAGjmF,KAAKm+K,eAAen+K,KAAKo8L,cAAcp8L,KAAK48L,iBAAiB58L,KAAKq7L,aAAar7L,KAAKk+K,YAAYl+K,KAAKi+K,eAAej+K,KAAKg+K,aAAa,EAAEh+K,KAAKo+K,cAAcn4F,GAAG,GAAGjmF,KAAKwyL,iBAAiB7uK,EAAE3jB,KAAK+8L,mBAAmBnyK,EAAE5qB,KAAKw9L,gCAC/e,IAAI,CAAC,SAAS9wJ,GAAGnpB,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,EAAE9Z,EAAEoa,EAAEpqB,GAAgN,OAA7MoiB,EAAE,IAAIg6K,GAAGh6K,EAAEC,EAAErhB,EAAEopB,EAAEpqB,GAAG,IAAIqiB,GAAGA,EAAE,GAAE,IAAKyH,IAAIzH,GAAG,IAAIA,EAAE,EAAEyH,EAAEw/J,GAAG,EAAE,KAAK,KAAKjnK,GAAGD,EAAEgX,QAAQtP,EAAEA,EAAE4xJ,UAAUt5J,EAAE0H,EAAE+xJ,cAAc,CAACrpJ,QAAQhQ,EAAEm7J,aAAa38K,EAAEygG,MAAM,KAAKuyF,YAAY,KAAKsI,0BAA0B,MAAM5P,GAAG5iK,GAAU1H,CAAC,CACzP,SAAS8oB,GAAG9oB,GAAG,IAAIA,EAAE,OAAOklK,GAAuBllK,EAAE,CAAC,GAAGyjE,GAA1BzjE,EAAEA,EAAEovK,mBAA8BpvK,GAAG,IAAIA,EAAE64E,IAAI,MAAMj8F,MAAMke,EAAE,MAAM,IAAImF,EAAED,EAAE,EAAE,CAAC,OAAOC,EAAE44E,KAAK,KAAK,EAAE54E,EAAEA,EAAEq5J,UAAUtpB,QAAQ,MAAMhwI,EAAE,KAAK,EAAE,GAAGylK,GAAGxlK,EAAElgB,MAAM,CAACkgB,EAAEA,EAAEq5J,UAAUyM,0CAA0C,MAAM/lK,CAAC,EAAEC,EAAEA,EAAEu5J,MAAM,OAAO,OAAOv5J,GAAG,MAAMrjB,MAAMke,EAAE,KAAM,CAAC,GAAG,IAAIkF,EAAE64E,IAAI,CAAC,IAAIj6F,EAAEohB,EAAEjgB,KAAK,GAAG0lL,GAAG7mL,GAAG,OAAO+yB,GAAG3R,EAAEphB,EAAEqhB,EAAE,CAAC,OAAOA,CAAC,CACpW,SAASwuE,GAAGzuE,EAAEC,EAAErhB,EAAEwhB,EAAEiH,EAAEK,EAAE9Z,EAAEoa,EAAEpqB,GAAwK,OAArKoiB,EAAEmpB,GAAGvqC,EAAEwhB,GAAE,EAAGJ,EAAEqH,EAAEK,EAAE9Z,EAAEoa,EAAEpqB,IAAKoyJ,QAAQlnH,GAAG,MAAMlqC,EAAEohB,EAAEgX,SAAsBtP,EAAEmjK,GAAhBzqK,EAAEkgC,KAAIj5B,EAAE0gE,GAAGnpF,KAAe0uE,cAAS,IAASrtD,GAAG,OAAOA,EAAEA,EAAE,KAAK+qK,GAAGpsL,EAAE8oB,EAAEL,GAAGrH,EAAEgX,QAAQ6yJ,MAAMxiK,EAAEm7D,GAAGxiE,EAAEqH,EAAEjH,GAAGu3K,GAAG33K,EAAEI,GAAUJ,CAAC,CAAC,SAAS/B,GAAG+B,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIiH,EAAEpH,EAAE+W,QAAQtP,EAAE44B,KAAI1yC,EAAEm6E,GAAG1gE,GAAsL,OAAnLzoB,EAAEkqC,GAAGlqC,GAAG,OAAOqhB,EAAE+vI,QAAQ/vI,EAAE+vI,QAAQpxJ,EAAEqhB,EAAEqyK,eAAe1zL,GAAEqhB,EAAE4qK,GAAGnjK,EAAE9Z,IAAK2oG,QAAQ,CAACnmF,QAAQpQ,GAAuB,QAApBI,OAAE,IAASA,EAAE,KAAKA,KAAaH,EAAEqtD,SAASltD,GAAe,QAAZJ,EAAEgrK,GAAG3jK,EAAEpH,EAAErS,MAAc8vE,GAAG19D,EAAEqH,EAAEzZ,EAAE8Z,GAAGujK,GAAGjrK,EAAEqH,EAAEzZ,IAAWA,CAAC,CAC3b,SAAS4gF,GAAGxuE,GAAe,OAAZA,EAAEA,EAAEgX,SAAc2iJ,OAAyB35J,EAAE25J,MAAM9gF,IAAoD74E,EAAE25J,MAAML,WAAhF,IAA0F,CAAC,SAAS6gB,GAAGn6K,EAAEC,GAAqB,GAAG,QAArBD,EAAEA,EAAEy5J,gBAA2B,OAAOz5J,EAAE05J,WAAW,CAAC,IAAI96K,EAAEohB,EAAEwnK,UAAUxnK,EAAEwnK,UAAU,IAAI5oL,GAAGA,EAAEqhB,EAAErhB,EAAEqhB,CAAC,CAAC,CAAC,SAASm6K,GAAGp6K,EAAEC,GAAGk6K,GAAGn6K,EAAEC,IAAID,EAAEA,EAAEu5J,YAAY4gB,GAAGn6K,EAAEC,EAAE,CAnB7S22K,GAAG,SAAS52K,EAAEC,EAAErhB,GAAG,GAAG,OAAOohB,EAAE,GAAGA,EAAE6nK,gBAAgB5nK,EAAEqnK,cAAcnC,GAAGnuJ,QAAQ8yJ,IAAG,MAAO,CAAC,GAAG,KAAK9pK,EAAE6pK,MAAMjrL,IAAI,KAAa,IAARqhB,EAAEywC,OAAW,OAAOo5H,IAAG,EAzE1I,SAAY9pK,EAAEC,EAAErhB,GAAG,OAAOqhB,EAAE44E,KAAK,KAAK,EAAEw5F,GAAGpyK,GAAG8nK,KAAK,MAAM,KAAK,EAAE0D,GAAGxrK,GAAG,MAAM,KAAK,EAAEwlK,GAAGxlK,EAAElgB,OAAO+lL,GAAG7lK,GAAG,MAAM,KAAK,EAAEurK,GAAGvrK,EAAEA,EAAEq5J,UAAUkC,eAAe,MAAM,KAAK,GAAG,IAAIp7J,EAAEH,EAAElgB,KAAKo1K,SAAS9tJ,EAAEpH,EAAE4nK,cAAcriL,MAAMs7C,GAAEooI,GAAG9oK,EAAEopK,eAAeppK,EAAEopK,cAAcniK,EAAE,MAAM,KAAK,GAAqB,GAAG,QAArBjH,EAAEH,EAAEw5J,eAA2B,OAAG,OAAOr5J,EAAEs5J,YAAkB54H,GAAE16B,GAAY,EAAVA,GAAE4Q,SAAW/W,EAAEywC,OAAO,IAAI,MAAQ,KAAK9xD,EAAEqhB,EAAE05J,MAAM+P,YAAmBmJ,GAAG7yK,EAAEC,EAAErhB,IAAGkiD,GAAE16B,GAAY,EAAVA,GAAE4Q,SAA8B,QAAnBhX,EAAEmxK,GAAGnxK,EAAEC,EAAErhB,IAAmBohB,EAAE45J,QAAQ,MAAK94H,GAAE16B,GAAY,EAAVA,GAAE4Q,SAAW,MAAM,KAAK,GAC7d,GADge5W,EAAE,KAAKxhB,EACrfqhB,EAAEypK,YAAe,KAAa,IAAR1pK,EAAE0wC,OAAW,CAAC,GAAGtwC,EAAE,OAAO2zK,GAAG/zK,EAAEC,EAAErhB,GAAGqhB,EAAEywC,OAAO,GAAG,CAA6F,GAA1E,QAAlBrpC,EAAEpH,EAAEw5J,iBAAyBpyJ,EAAEssK,UAAU,KAAKtsK,EAAEwsK,KAAK,KAAKxsK,EAAE0mK,WAAW,MAAMjtI,GAAE16B,GAAEA,GAAE4Q,SAAY5W,EAAE,MAAW,OAAO,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOH,EAAE4pK,MAAM,EAAE4H,GAAGzxK,EAAEC,EAAErhB,GAAG,OAAOuyL,GAAGnxK,EAAEC,EAAErhB,EAAE,CAwE7Gy7L,CAAGr6K,EAAEC,EAAErhB,GAAGkrL,GAAG,KAAa,OAAR9pK,EAAE0wC,MAAmB,MAAMo5H,IAAG,EAAGlvI,IAAG,KAAa,QAAR36B,EAAEywC,QAAgBi2H,GAAG1mK,EAAEsvE,GAAGtvE,EAAE1a,OAAiB,OAAV0a,EAAE4pK,MAAM,EAAS5pK,EAAE44E,KAAK,KAAK,EAAE,IAAIz4E,EAAEH,EAAElgB,KAAKiyL,GAAGhyK,EAAEC,GAAGD,EAAEC,EAAEqnK,aAAa,IAAIjgK,EAAEg+J,GAAGplK,EAAEygC,GAAE1pB,SAAS+2D,GAAG9tE,EAAErhB,GAAGyoB,EAAEolK,GAAG,KAAKxsK,EAAEG,EAAEJ,EAAEqH,EAAEzoB,GAAG,IAAI8oB,EAAEolK,KACvI,OAD4I7sK,EAAEywC,OAAO,EAAE,kBAAkBrpC,GAAG,OAAOA,GAAG,oBAAoBA,EAAEmqD,aAAQ,IAASnqD,EAAE6tJ,UAAUj1J,EAAE44E,IAAI,EAAE54E,EAAEw5J,cAAc,KAAKx5J,EAAEsqK,YAC1e,KAAK9E,GAAGrlK,IAAIsH,GAAE,EAAGo+J,GAAG7lK,IAAIyH,GAAE,EAAGzH,EAAEw5J,cAAc,OAAOpyJ,EAAE7S,YAAO,IAAS6S,EAAE7S,MAAM6S,EAAE7S,MAAM,KAAK81K,GAAGrqK,GAAGoH,EAAEuoK,QAAQh1G,GAAG36D,EAAEq5J,UAAUjyJ,EAAEA,EAAE+nK,gBAAgBnvK,EAAEooE,GAAGpoE,EAAEG,EAAEJ,EAAEphB,GAAGqhB,EAAEmyK,GAAG,KAAKnyK,EAAEG,GAAE,EAAGsH,EAAE9oB,KAAKqhB,EAAE44E,IAAI,EAAEj+C,IAAGlzB,GAAGk/J,GAAG3mK,GAAGgxK,GAAG,KAAKhxK,EAAEoH,EAAEzoB,GAAGqhB,EAAEA,EAAE05J,OAAc15J,EAAE,KAAK,GAAGG,EAAEH,EAAEknK,YAAYnnK,EAAE,CAAqF,OAApFgyK,GAAGhyK,EAAEC,GAAGD,EAAEC,EAAEqnK,aAAuBlnK,GAAViH,EAAEjH,EAAEi1J,OAAUj1J,EAAEg1J,UAAUn1J,EAAElgB,KAAKqgB,EAAEiH,EAAEpH,EAAE44E,IAQtU,SAAY74E,GAAG,GAAG,oBAAoBA,EAAE,OAAOqxK,GAAGrxK,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAEk1J,YAAgBt8F,EAAG,OAAO,GAAG,GAAG54D,IAAIokE,EAAG,OAAO,EAAE,CAAC,OAAO,CAAC,CAR2Lk2G,CAAGl6K,GAAGJ,EAAEo6D,GAAGh6D,EAAEJ,GAAUqH,GAAG,KAAK,EAAEpH,EAAEuxK,GAAG,KAAKvxK,EAAEG,EAAEJ,EAAEphB,GAAG,MAAMohB,EAAE,KAAK,EAAEC,EAAE8xK,GAAG,KAAK9xK,EAAEG,EAAEJ,EAAEphB,GAAG,MAAMohB,EAAE,KAAK,GAAGC,EAAEixK,GAAG,KAAKjxK,EAAEG,EAAEJ,EAAEphB,GAAG,MAAMohB,EAAE,KAAK,GAAGC,EAAEmxK,GAAG,KAAKnxK,EAAEG,EAAEg6D,GAAGh6D,EAAErgB,KAAKigB,GAAGphB,GAAG,MAAMohB,EAAE,MAAMpjB,MAAMke,EAAE,IACvgBsF,EAAE,IAAK,CAAC,OAAOH,EAAE,KAAK,EAAE,OAAOG,EAAEH,EAAElgB,KAAKsnB,EAAEpH,EAAEqnK,aAA2CkK,GAAGxxK,EAAEC,EAAEG,EAArCiH,EAAEpH,EAAEknK,cAAc/mK,EAAEiH,EAAE+yD,GAAGh6D,EAAEiH,GAAczoB,GAAG,KAAK,EAAE,OAAOwhB,EAAEH,EAAElgB,KAAKsnB,EAAEpH,EAAEqnK,aAA2CyK,GAAG/xK,EAAEC,EAAEG,EAArCiH,EAAEpH,EAAEknK,cAAc/mK,EAAEiH,EAAE+yD,GAAGh6D,EAAEiH,GAAczoB,GAAG,KAAK,EAAEohB,EAAE,CAAO,GAANqyK,GAAGpyK,GAAM,OAAOD,EAAE,MAAMpjB,MAAMke,EAAE,MAAMsF,EAAEH,EAAEqnK,aAA+BjgK,GAAlBK,EAAEzH,EAAEw5J,eAAkBrpJ,QAAQyuH,GAAG7+H,EAAEC,GAAGkrK,GAAGlrK,EAAEG,EAAE,KAAKxhB,GAAG,IAAIgP,EAAEqS,EAAEw5J,cAA0B,GAAZr5J,EAAExS,EAAEwiB,QAAW1I,EAAE6zJ,aAAY,CAAC,GAAG7zJ,EAAE,CAAC0I,QAAQhQ,EAAEm7J,cAAa,EAAGl8E,MAAMzxF,EAAEyxF,MAAM66F,0BAA0BtsL,EAAEssL,0BAA0BtI,YAAYhkL,EAAEgkL,aAAa3xK,EAAEsqK,YAAYC,UAChf9iK,EAAEzH,EAAEw5J,cAAc/xJ,EAAU,IAARzH,EAAEywC,MAAU,CAAuBzwC,EAAEymH,GAAG1mH,EAAEC,EAAEG,EAAExhB,EAAjCyoB,EAAEgpK,GAAGzzL,MAAMke,EAAE,MAAMmF,IAAmB,MAAMD,CAAC,CAAM,GAAGI,IAAIiH,EAAE,CAAuBpH,EAAEymH,GAAG1mH,EAAEC,EAAEG,EAAExhB,EAAjCyoB,EAAEgpK,GAAGzzL,MAAMke,EAAE,MAAMmF,IAAmB,MAAMD,CAAC,CAAM,IAAI+mK,GAAGvC,GAAGvkK,EAAEq5J,UAAUkC,cAAcltG,YAAYw4G,GAAG7mK,EAAE26B,IAAE,EAAGosI,GAAG,KAAKpoL,EAAEqqL,GAAGhpK,EAAE,KAAKG,EAAExhB,GAAGqhB,EAAE05J,MAAM/6K,EAAEA,GAAGA,EAAE8xD,OAAe,EAAT9xD,EAAE8xD,MAAS,KAAK9xD,EAAEA,EAAEg7K,OAAQ,KAAI,CAAM,GAALmO,KAAQ3nK,IAAIiH,EAAE,CAACpH,EAAEkxK,GAAGnxK,EAAEC,EAAErhB,GAAG,MAAMohB,CAAC,CAACixK,GAAGjxK,EAAEC,EAAEG,EAAExhB,EAAE,CAACqhB,EAAEA,EAAE05J,KAAK,CAAC,OAAO15J,EAAE,KAAK,EAAE,OAAOwrK,GAAGxrK,GAAG,OAAOD,GAAG0nK,GAAGznK,GAAGG,EAAEH,EAAElgB,KAAKsnB,EAAEpH,EAAEqnK,aAAa5/J,EAAE,OAAO1H,EAAEA,EAAE6nK,cAAc,KAAKj6K,EAAEyZ,EAAEkqD,SAAS0yG,GAAG7jK,EAAEiH,GAAGzZ,EAAE,KAAK,OAAO8Z,GAAGu8J,GAAG7jK,EAAEsH,KAAKzH,EAAEywC,OAAO,IACnfohI,GAAG9xK,EAAEC,GAAGgxK,GAAGjxK,EAAEC,EAAErS,EAAEhP,GAAGqhB,EAAE05J,MAAM,KAAK,EAAE,OAAO,OAAO35J,GAAG0nK,GAAGznK,GAAG,KAAK,KAAK,GAAG,OAAO4yK,GAAG7yK,EAAEC,EAAErhB,GAAG,KAAK,EAAE,OAAO4sL,GAAGvrK,EAAEA,EAAEq5J,UAAUkC,eAAep7J,EAAEH,EAAEqnK,aAAa,OAAOtnK,EAAEC,EAAE05J,MAAMqP,GAAG/oK,EAAE,KAAKG,EAAExhB,GAAGqyL,GAAGjxK,EAAEC,EAAEG,EAAExhB,GAAGqhB,EAAE05J,MAAM,KAAK,GAAG,OAAOv5J,EAAEH,EAAElgB,KAAKsnB,EAAEpH,EAAEqnK,aAA2C4J,GAAGlxK,EAAEC,EAAEG,EAArCiH,EAAEpH,EAAEknK,cAAc/mK,EAAEiH,EAAE+yD,GAAGh6D,EAAEiH,GAAczoB,GAAG,KAAK,EAAE,OAAOqyL,GAAGjxK,EAAEC,EAAEA,EAAEqnK,aAAa1oL,GAAGqhB,EAAE05J,MAAM,KAAK,EAAmD,KAAK,GAAG,OAAOsX,GAAGjxK,EAAEC,EAAEA,EAAEqnK,aAAa/1G,SAAS3yE,GAAGqhB,EAAE05J,MAAM,KAAK,GAAG35J,EAAE,CACxZ,GADyZI,EAAEH,EAAElgB,KAAKo1K,SAAS9tJ,EAAEpH,EAAEqnK,aAAa5/J,EAAEzH,EAAE4nK,cAClfj6K,EAAEyZ,EAAE7hB,MAAMs7C,GAAEooI,GAAG9oK,EAAEopK,eAAeppK,EAAEopK,cAAc57K,EAAK,OAAO8Z,EAAE,GAAGmnC,GAAGnnC,EAAEliB,MAAMoI,IAAI,GAAG8Z,EAAE6pD,WAAWlqD,EAAEkqD,WAAW4zG,GAAGnuJ,QAAQ,CAAC/W,EAAEkxK,GAAGnxK,EAAEC,EAAErhB,GAAG,MAAMohB,CAAC,OAAO,IAAc,QAAV0H,EAAEzH,EAAE05J,SAAiBjyJ,EAAE8xJ,OAAOv5J,GAAG,OAAOyH,GAAG,CAAC,IAAIM,EAAEN,EAAEiiK,aAAa,GAAG,OAAO3hK,EAAE,CAACpa,EAAE8Z,EAAEiyJ,MAAM,IAAI,IAAI/7K,EAAEoqB,EAAE4hK,aAAa,OAAOhsL,GAAG,CAAC,GAAGA,EAAEoyJ,UAAU5vI,EAAE,CAAC,GAAG,IAAIsH,EAAEmxE,IAAI,EAACj7F,EAAEitL,IAAI,EAAEjsL,GAAGA,IAAKi6F,IAAI,EAAE,IAAIx9E,EAAEqM,EAAE6iK,YAAY,GAAG,OAAOlvK,EAAE,CAAY,IAAIhZ,GAAfgZ,EAAEA,EAAEsvK,QAAeC,QAAQ,OAAOvoL,EAAEzE,EAAEiiG,KAAKjiG,GAAGA,EAAEiiG,KAAKx9F,EAAEw9F,KAAKx9F,EAAEw9F,KAAKjiG,GAAGyd,EAAEuvK,QAAQhtL,CAAC,CAAC,CAAC8pB,EAAEmiK,OAAOjrL,EAAgB,QAAdhB,EAAE8pB,EAAE6xJ,aAAqB37K,EAAEisL,OAAOjrL,GAAG6qL,GAAG/hK,EAAE8xJ,OAClf56K,EAAEqhB,GAAG+H,EAAE6hK,OAAOjrL,EAAE,KAAK,CAAChB,EAAEA,EAAEiiG,IAAI,CAAC,MAAM,GAAG,KAAKn4E,EAAEmxE,IAAIjrF,EAAE8Z,EAAE3nB,OAAOkgB,EAAElgB,KAAK,KAAK2nB,EAAEiyJ,WAAW,GAAG,KAAKjyJ,EAAEmxE,IAAI,CAAY,GAAG,QAAdjrF,EAAE8Z,EAAE8xJ,QAAmB,MAAM58K,MAAMke,EAAE,MAAMlN,EAAEi8K,OAAOjrL,EAAgB,QAAdopB,EAAEpa,EAAE2rK,aAAqBvxJ,EAAE6hK,OAAOjrL,GAAG6qL,GAAG77K,EAAEhP,EAAEqhB,GAAGrS,EAAE8Z,EAAEkyJ,OAAO,MAAMhsK,EAAE8Z,EAAEiyJ,MAAM,GAAG,OAAO/rK,EAAEA,EAAE4rK,OAAO9xJ,OAAO,IAAI9Z,EAAE8Z,EAAE,OAAO9Z,GAAG,CAAC,GAAGA,IAAIqS,EAAE,CAACrS,EAAE,KAAK,KAAK,CAAa,GAAG,QAAf8Z,EAAE9Z,EAAEgsK,SAAoB,CAAClyJ,EAAE8xJ,OAAO5rK,EAAE4rK,OAAO5rK,EAAE8Z,EAAE,KAAK,CAAC9Z,EAAEA,EAAE4rK,MAAM,CAAC9xJ,EAAE9Z,CAAC,CAACqjL,GAAGjxK,EAAEC,EAAEoH,EAAEkqD,SAAS3yE,GAAGqhB,EAAEA,EAAE05J,KAAK,CAAC,OAAO15J,EAAE,KAAK,EAAE,OAAOoH,EAAEpH,EAAElgB,KAAKqgB,EAAEH,EAAEqnK,aAAa/1G,SAASwc,GAAG9tE,EAAErhB,GAAWwhB,EAAEA,EAAViH,EAAE0iK,GAAG1iK,IAAUpH,EAAEywC,OAAO,EAAEugI,GAAGjxK,EAAEC,EAAEG,EAAExhB,GACpfqhB,EAAE05J,MAAM,KAAK,GAAG,OAAgBtyJ,EAAE+yD,GAAXh6D,EAAEH,EAAElgB,KAAYkgB,EAAEqnK,cAA6B8J,GAAGpxK,EAAEC,EAAEG,EAAtBiH,EAAE+yD,GAAGh6D,EAAErgB,KAAKsnB,GAAczoB,GAAG,KAAK,GAAG,OAAO2yL,GAAGvxK,EAAEC,EAAEA,EAAElgB,KAAKkgB,EAAEqnK,aAAa1oL,GAAG,KAAK,GAAG,OAAOwhB,EAAEH,EAAElgB,KAAKsnB,EAAEpH,EAAEqnK,aAAajgK,EAAEpH,EAAEknK,cAAc/mK,EAAEiH,EAAE+yD,GAAGh6D,EAAEiH,GAAG2qK,GAAGhyK,EAAEC,GAAGA,EAAE44E,IAAI,EAAE4sF,GAAGrlK,IAAIJ,GAAE,EAAG8lK,GAAG7lK,IAAID,GAAE,EAAG+tE,GAAG9tE,EAAErhB,GAAG8wL,GAAGzvK,EAAEG,EAAEiH,GAAGghE,GAAGpoE,EAAEG,EAAEiH,EAAEzoB,GAAGwzL,GAAG,KAAKnyK,EAAEG,GAAE,EAAGJ,EAAEphB,GAAG,KAAK,GAAG,OAAOm1L,GAAG/zK,EAAEC,EAAErhB,GAAG,KAAK,GAAG,OAAO6yL,GAAGzxK,EAAEC,EAAErhB,GAAG,MAAMhC,MAAMke,EAAE,IAAImF,EAAE44E,KAAM,EAYxC,IAAI0hG,GAAG,oBAAoBC,YAAYA,YAAY,SAASx6K,GAAGyG,QAAQS,MAAMlH,EAAE,EAAE,SAASytB,GAAGztB,GAAGvjB,KAAKg+L,cAAcz6K,CAAC,CACjI,SAASwvB,GAAGxvB,GAAGvjB,KAAKg+L,cAAcz6K,CAAC,CAC5J,SAASyvB,GAAGzvB,GAAG,SAASA,GAAG,IAAIA,EAAEsgD,UAAU,IAAItgD,EAAEsgD,UAAU,KAAKtgD,EAAEsgD,SAAS,CAAC,SAASo6H,GAAG16K,GAAG,SAASA,GAAG,IAAIA,EAAEsgD,UAAU,IAAItgD,EAAEsgD,UAAU,KAAKtgD,EAAEsgD,WAAW,IAAItgD,EAAEsgD,UAAU,iCAAiCtgD,EAAEquD,WAAW,CAAC,SAASqhB,KAAK,CAExa,SAASirG,GAAG36K,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,IAAIK,EAAE9oB,EAAE62L,oBAAoB,GAAG/tK,EAAE,CAAC,IAAI9Z,EAAE8Z,EAAE,GAAG,oBAAoBL,EAAE,CAAC,IAAIW,EAAEX,EAAEA,EAAE,WAAW,IAAIrH,EAAEwuE,GAAG5gF,GAAGoa,EAAEvqB,KAAKuiB,EAAE,CAAC,CAAC/B,GAAGgC,EAAErS,EAAEoS,EAAEqH,EAAE,MAAMzZ,EADxJ,SAAYoS,EAAEC,EAAErhB,EAAEwhB,EAAEiH,GAAG,GAAGA,EAAE,CAAC,GAAG,oBAAoBjH,EAAE,CAAC,IAAIsH,EAAEtH,EAAEA,EAAE,WAAW,IAAIJ,EAAEwuE,GAAG5gF,GAAG8Z,EAAEjqB,KAAKuiB,EAAE,CAAC,CAAC,IAAIpS,EAAE6gF,GAAGxuE,EAAEG,EAAEJ,EAAE,EAAE,MAAK,EAAG,EAAG,GAAG0vE,IAAmF,OAA/E1vE,EAAEy1K,oBAAoB7nL,EAAEoS,EAAEqjK,IAAIz1K,EAAEopB,QAAQqC,GAAG,IAAIrZ,EAAEsgD,SAAStgD,EAAEqpD,WAAWrpD,GAAGi5K,KAAYrrL,CAAC,CAAC,KAAKyZ,EAAErH,EAAEy2J,WAAWz2J,EAAEsvD,YAAYjoD,GAAG,GAAG,oBAAoBjH,EAAE,CAAC,IAAI4H,EAAE5H,EAAEA,EAAE,WAAW,IAAIJ,EAAEwuE,GAAG5wF,GAAGoqB,EAAEvqB,KAAKuiB,EAAE,CAAC,CAAC,IAAIpiB,EAAEurC,GAAGnpB,EAAE,GAAE,EAAG,KAAK,GAAK,EAAG,EAAG,GAAG0vE,IAA0G,OAAtG1vE,EAAEy1K,oBAAoB73L,EAAEoiB,EAAEqjK,IAAIzlL,EAAEo5B,QAAQqC,GAAG,IAAIrZ,EAAEsgD,SAAStgD,EAAEqpD,WAAWrpD,GAAGi5K,IAAG,WAAWh7K,GAAGgC,EAAEriB,EAAEgB,EAAEwhB,EAAE,IAAUxiB,CAAC,CACpUg9L,CAAGh8L,EAAEqhB,EAAED,EAAEqH,EAAEjH,GAAG,OAAOouE,GAAG5gF,EAAE,CAHpL4hC,GAAG7yC,UAAU60E,OAAO/jC,GAAG9wC,UAAU60E,OAAO,SAASxxD,GAAG,IAAIC,EAAExjB,KAAKg+L,cAAc,GAAG,OAAOx6K,EAAE,MAAMrjB,MAAMke,EAAE,MAAMmD,GAAG+B,EAAEC,EAAE,KAAK,KAAK,EAAEuvB,GAAG7yC,UAAUk+L,QAAQptJ,GAAG9wC,UAAUk+L,QAAQ,WAAW,IAAI76K,EAAEvjB,KAAKg+L,cAAc,GAAG,OAAOz6K,EAAE,CAACvjB,KAAKg+L,cAAc,KAAK,IAAIx6K,EAAED,EAAEw7J,cAAcyd,IAAG,WAAWh7K,GAAG,KAAK+B,EAAE,KAAK,KAAK,IAAGC,EAAEojK,IAAI,IAAI,CAAC,EACzT7zI,GAAG7yC,UAAUm+L,2BAA2B,SAAS96K,GAAG,GAAGA,EAAE,CAAC,IAAIC,EAAE2gE,KAAK5gE,EAAE,CAACk7J,UAAU,KAAKl+J,OAAOgD,EAAEs7J,SAASr7J,GAAG,IAAI,IAAIrhB,EAAE,EAAEA,EAAEwhF,GAAGhjF,QAAQ,IAAI6iB,GAAGA,EAAEmgE,GAAGxhF,GAAG08K,SAAS18K,KAAKwhF,GAAG15E,OAAO9H,EAAE,EAAEohB,GAAG,IAAIphB,GAAGylF,GAAGrkE,EAAE,CAAC,EAEXujE,GAAG,SAASvjE,GAAG,OAAOA,EAAE64E,KAAK,KAAK,EAAE,IAAI54E,EAAED,EAAEs5J,UAAU,GAAGr5J,EAAE+W,QAAQyiJ,cAAc8B,aAAa,CAAC,IAAI38K,EAAEmhF,GAAG9/D,EAAEw6J,cAAc,IAAI77K,IAAIklF,GAAG7jE,EAAI,EAAFrhB,GAAK+4L,GAAG13K,EAAEqG,MAAK,KAAO,EAAFs7B,MAAO6yI,GAAGnuK,KAAI,IAAI8/J,MAAM,CAAC,MAAM,KAAK,GAAG6S,IAAG,WAAW,IAAIh5K,EAAEmqK,GAAGpqK,EAAE,GAAG,GAAG,OAAOC,EAAE,CAAC,IAAIrhB,EAAE0hD,KAAIo9B,GAAGz9D,EAAED,EAAE,EAAEphB,EAAE,CAAC,IAAGw7L,GAAGp6K,EAAE,GAAG,EAC/b0jE,GAAG,SAAS1jE,GAAG,GAAG,KAAKA,EAAE64E,IAAI,CAAC,IAAI54E,EAAEmqK,GAAGpqK,EAAE,WAAW,GAAG,OAAOC,EAAay9D,GAAGz9D,EAAED,EAAE,UAAXsgC,MAAwB85I,GAAGp6K,EAAE,UAAU,CAAC,EAAE2gE,GAAG,SAAS3gE,GAAG,GAAG,KAAKA,EAAE64E,IAAI,CAAC,IAAI54E,EAAE8nE,GAAG/nE,GAAGphB,EAAEwrL,GAAGpqK,EAAEC,GAAG,GAAG,OAAOrhB,EAAa8+E,GAAG9+E,EAAEohB,EAAEC,EAAXqgC,MAAgB85I,GAAGp6K,EAAEC,EAAE,CAAC,EAAE2gE,GAAG,WAAW,OAAOz6D,EAAC,EAAEs7D,GAAG,SAASzhE,EAAEC,GAAG,IAAIrhB,EAAEunB,GAAE,IAAI,OAAOA,GAAEnG,EAAEC,GAAG,CAAC,QAAQkG,GAAEvnB,CAAC,CAAC,EAClSojF,GAAG,SAAShiE,EAAEC,EAAErhB,GAAG,OAAOqhB,GAAG,IAAK,QAAyB,GAAjBw2D,EAAGz2D,EAAEphB,GAAGqhB,EAAErhB,EAAElC,KAAQ,UAAUkC,EAAEmB,MAAM,MAAMkgB,EAAE,CAAC,IAAIrhB,EAAEohB,EAAEphB,EAAEyqE,YAAYzqE,EAAEA,EAAEyqE,WAAsF,IAA3EzqE,EAAEA,EAAE6rI,iBAAiB,cAAc9lI,KAAKE,UAAU,GAAGob,GAAG,mBAAuBA,EAAE,EAAEA,EAAErhB,EAAExB,OAAO6iB,IAAI,CAAC,IAAIG,EAAExhB,EAAEqhB,GAAG,GAAGG,IAAIJ,GAAGI,EAAE26K,OAAO/6K,EAAE+6K,KAAK,CAAC,IAAI1zK,EAAEwwD,GAAGz3D,GAAG,IAAIiH,EAAE,MAAMzqB,MAAMke,EAAE,KAAKqiE,EAAG/8D,GAAGq2D,EAAGr2D,EAAEiH,EAAE,CAAC,CAAC,CAAC,MAAM,IAAK,WAAWoxD,GAAGz4D,EAAEphB,GAAG,MAAM,IAAK,SAAmB,OAAVqhB,EAAErhB,EAAE4G,QAAe+xE,GAAGv3D,IAAIphB,EAAEw1L,SAASn0K,GAAE,GAAI,EAAE+jE,GAAGg1G,GAAGl3G,GAAGm3G,GACpa,IAAIpwJ,GAAG,CAACmyJ,uBAAsB,EAAGC,OAAO,CAACj8G,GAAG5zB,GAAGysB,GAAGsI,GAAGrB,GAAGk6G,KAAKlvJ,GAAG,CAACoxJ,wBAAwB77G,GAAG87G,WAAW,EAAEpgL,QAAQ,SAASqgL,oBAAoB,aAC1IC,GAAG,CAACF,WAAWrxJ,GAAGqxJ,WAAWpgL,QAAQ+uB,GAAG/uB,QAAQqgL,oBAAoBtxJ,GAAGsxJ,oBAAoBE,eAAexxJ,GAAGwxJ,eAAeC,kBAAkB,KAAKC,4BAA4B,KAAKC,4BAA4B,KAAKC,cAAc,KAAKC,wBAAwB,KAAKC,wBAAwB,KAAKC,gBAAgB,KAAKC,mBAAmB,KAAKC,eAAe,KAAKC,qBAAqBp/G,EAAGqvG,uBAAuBgQ,wBAAwB,SAASj8K,GAAW,OAAO,QAAfA,EAAEi/D,GAAGj/D,IAAmB,KAAKA,EAAEs5J,SAAS,EAAE4hB,wBAAwBpxJ,GAAGoxJ,yBARjN,WAAc,OAAO,IAAI,EASpUgB,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,KAAKC,kBAAkB,mCAAmC,GAAG,qBAAqBC,+BAA+B,CAAC,IAAIC,GAAGD,+BAA+B,IAAIC,GAAGC,YAAYD,GAAGE,cAAc,IAAIp6G,GAAGk6G,GAAGG,OAAOvB,IAAItvJ,GAAG0wJ,EAAE,CAAC,MAAMz8K,IAAG,CAAC,CAACkC,EAAQ2yJ,mDAAmDhsI,GAC/Y3mB,EAAQ26K,aAAa,SAAS78K,EAAEC,GAAG,IAAIrhB,EAAE,EAAEzB,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAIsyC,GAAGxvB,GAAG,MAAMrjB,MAAMke,EAAE,MAAM,OAbuH,SAAYkF,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAE,EAAEjjB,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAAC+3K,SAASl0F,EAAG/2E,IAAI,MAAMmW,EAAE,KAAK,GAAGA,EAAEmxD,SAASvxD,EAAEw7J,cAAcv7J,EAAE2oK,eAAehqL,EAAE,CAa1RotC,CAAGhsB,EAAEC,EAAE,KAAKrhB,EAAE,EAAEsjB,EAAQ46K,WAAW,SAAS98K,EAAEC,GAAG,IAAIwvB,GAAGzvB,GAAG,MAAMpjB,MAAMke,EAAE,MAAM,IAAIlc,GAAE,EAAGwhB,EAAE,GAAGiH,EAAEkzK,GAA4P,OAAzP,OAAOt6K,QAAG,IAASA,KAAI,IAAKA,EAAE88K,sBAAsBn+L,GAAE,QAAI,IAASqhB,EAAEgvK,mBAAmB7uK,EAAEH,EAAEgvK,uBAAkB,IAAShvK,EAAEu5K,qBAAqBnyK,EAAEpH,EAAEu5K,qBAAqBv5K,EAAEkpB,GAAGnpB,EAAE,GAAE,EAAG,KAAK,EAAKphB,EAAE,EAAGwhB,EAAEiH,GAAGrH,EAAEqjK,IAAIpjK,EAAE+W,QAAQqC,GAAG,IAAIrZ,EAAEsgD,SAAStgD,EAAEqpD,WAAWrpD,GAAU,IAAIytB,GAAGxtB,EAAE,EACrfiC,EAAQ86K,YAAY,SAASh9K,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEsgD,SAAS,OAAOtgD,EAAE,IAAIC,EAAED,EAAEovK,gBAAgB,QAAG,IAASnvK,EAAE,CAAC,GAAG,oBAAoBD,EAAEwxD,OAAO,MAAM50E,MAAMke,EAAE,MAAiC,MAA3BkF,EAAEziB,OAAOwM,KAAKiW,GAAGtd,KAAK,KAAW9F,MAAMke,EAAE,IAAIkF,GAAI,CAAqC,OAA5BA,EAAE,QAAVA,EAAEi/D,GAAGh/D,IAAc,KAAKD,EAAEs5J,SAAkB,EAAEp3J,EAAQ+6K,UAAU,SAASj9K,GAAG,OAAOi5K,GAAGj5K,EAAE,EAAEkC,EAAQg7K,QAAQ,SAASl9K,EAAEC,EAAErhB,GAAG,IAAI87L,GAAGz6K,GAAG,MAAMrjB,MAAMke,EAAE,MAAM,OAAO6/K,GAAG,KAAK36K,EAAEC,GAAE,EAAGrhB,EAAE,EAC/YsjB,EAAQi7K,YAAY,SAASn9K,EAAEC,EAAErhB,GAAG,IAAI6wC,GAAGzvB,GAAG,MAAMpjB,MAAMke,EAAE,MAAM,IAAIsF,EAAE,MAAMxhB,GAAGA,EAAEw+L,iBAAiB,KAAK/1K,GAAE,EAAGK,EAAE,GAAG9Z,EAAE2sL,GAAyO,GAAtO,OAAO37L,QAAG,IAASA,KAAI,IAAKA,EAAEm+L,sBAAsB11K,GAAE,QAAI,IAASzoB,EAAEqwL,mBAAmBvnK,EAAE9oB,EAAEqwL,uBAAkB,IAASrwL,EAAE46L,qBAAqB5rL,EAAEhP,EAAE46L,qBAAqBv5K,EAAEwuE,GAAGxuE,EAAE,KAAKD,EAAE,EAAE,MAAMphB,EAAEA,EAAE,KAAKyoB,EAAE,EAAGK,EAAE9Z,GAAGoS,EAAEqjK,IAAIpjK,EAAE+W,QAAQqC,GAAGrZ,GAAMI,EAAE,IAAIJ,EAAE,EAAEA,EAAEI,EAAEhjB,OAAO4iB,IAA2BqH,GAAhBA,GAAPzoB,EAAEwhB,EAAEJ,IAAOq9K,aAAgBz+L,EAAE0+L,SAAS,MAAMr9K,EAAEg6K,gCAAgCh6K,EAAEg6K,gCAAgC,CAACr7L,EAAEyoB,GAAGpH,EAAEg6K,gCAAgCh4L,KAAKrD,EACvhByoB,GAAG,OAAO,IAAImoB,GAAGvvB,EAAE,EAAEiC,EAAQsvD,OAAO,SAASxxD,EAAEC,EAAErhB,GAAG,IAAI87L,GAAGz6K,GAAG,MAAMrjB,MAAMke,EAAE,MAAM,OAAO6/K,GAAG,KAAK36K,EAAEC,GAAE,EAAGrhB,EAAE,EAAEsjB,EAAQq7K,uBAAuB,SAASv9K,GAAG,IAAI06K,GAAG16K,GAAG,MAAMpjB,MAAMke,EAAE,KAAK,QAAOkF,EAAEy1K,sBAAqBwD,IAAG,WAAW0B,GAAG,KAAK,KAAK36K,GAAE,GAAG,WAAWA,EAAEy1K,oBAAoB,KAAKz1K,EAAEqjK,IAAI,IAAI,GAAE,KAAG,EAAM,EAAEnhK,EAAQs7K,wBAAwBxE,GAC/U92K,EAAQu7K,oCAAoC,SAASz9K,EAAEC,EAAErhB,EAAEwhB,GAAG,IAAIs6K,GAAG97L,GAAG,MAAMhC,MAAMke,EAAE,MAAM,GAAG,MAAMkF,QAAG,IAASA,EAAEovK,gBAAgB,MAAMxyL,MAAMke,EAAE,KAAK,OAAO6/K,GAAG36K,EAAEC,EAAErhB,GAAE,EAAGwhB,EAAE,EAAE8B,EAAQnH,QAAQ,mEC/TzL1Y,EAAI8jC,EAAQ,MAEdjkB,EAAQ,EAAa7f,EAAEy6L,WACDz6L,EAAE86L,0CCH1B,SAASO,IAEP,GAC4C,qBAAnClB,gCAC4C,oBAA5CA,+BAA+BkB,SAcxC,IAEElB,+BAA+BkB,SAASA,EAC1C,CAAE,MAAOt1J,GAGP3hB,QAAQS,MAAMkhB,EAChB,CACF,CAKEs1J,GACAz7K,EAAOC,QAAU,EAAjBD,iCCpBF,MAAM07K,EAAmB,wCAcnBC,EAAoB,kCAyBpBC,EACJ,sFASIC,EAAkB,kCAElBC,EAAaxgM,OAAOZ,UAAUa,SAE9BwgM,EAA6B,MACjC,MAAM73K,EAAI,WAAa,EAEvB,OADAA,EAAExpB,UAAYY,OAAOwsB,OAAO,MACrB5D,CACR,EAJkC,GA0EnC,SAAS83K,EAAW/iL,EAAa3V,EAAe1F,GAC9C,EAAG,CACD,MAAMsU,EAAO+G,EAAIrd,WAAW0H,GAC5B,GAAa,KAAT4O,GAAkC,IAATA,EAAwB,OAAO5O,CAC9D,SAAWA,EAAQ1F,GACnB,OAAOA,CACT,CAEA,SAASwuK,EAASnzJ,EAAa3V,EAAe3F,GAC5C,KAAO2F,EAAQ3F,GAAK,CAClB,MAAMuU,EAAO+G,EAAIrd,aAAa0H,GAC9B,GAAa,KAAT4O,GAAkC,IAATA,EAAwB,OAAO5O,EAAQ,CACtE,CACA,OAAO3F,CACT,CA8MA,SAASixC,EAAO31B,GACd,IAA0B,IAAtBA,EAAI7W,QAAQ,KAAa,OAAO6W,EAEpC,IACE,OAAO+9G,mBAAmB/9G,EAC5B,CAAE,MAAOmM,GACP,OAAOnM,CACT,CACF,+BCxWa,IAAIwM,EAAEye,EAAQ,MAASvoC,EAAEk0F,OAAOgjF,IAAI,iBAAiBz5J,EAAEy2E,OAAOgjF,IAAI,kBAAkBzyK,EAAE9E,OAAOZ,UAAUggB,eAAeva,EAAEslB,EAAEmtJ,mDAAmDmc,kBAAkBl2K,EAAE,CAAC7Q,KAAI,EAAGy9D,KAAI,EAAGw2H,QAAO,EAAGC,UAAS,GAChP,SAASp+K,EAAEnhB,EAAEohB,EAAEpS,GAAG,IAAIqS,EAAEG,EAAE,CAAC,EAAEiH,EAAE,KAAKW,EAAE,KAAiF,IAAI/H,UAAhF,IAASrS,IAAIyZ,EAAE,GAAGzZ,QAAG,IAASoS,EAAE/V,MAAMod,EAAE,GAAGrH,EAAE/V,UAAK,IAAS+V,EAAE0nD,MAAM1/C,EAAEhI,EAAE0nD,KAAc1nD,EAAE3d,EAAE5E,KAAKuiB,EAAEC,KAAKnF,EAAE6B,eAAesD,KAAKG,EAAEH,GAAGD,EAAEC,IAAI,GAAGrhB,GAAGA,EAAEswL,aAAa,IAAIjvK,KAAKD,EAAEphB,EAAEswL,kBAAe,IAAS9uK,EAAEH,KAAKG,EAAEH,GAAGD,EAAEC,IAAI,MAAM,CAACi1J,SAASt3K,EAAEmC,KAAKnB,EAAEqL,IAAIod,EAAEqgD,IAAI1/C,EAAEo8E,MAAMhkF,EAAE+nK,OAAO/lL,EAAE40B,QAAQ,CAAC9U,EAAQk8K,SAAS/iL,EAAE6G,EAAQm8K,IAAIt+K,EAAEmC,EAAQo8K,KAAKv+K,6BCD7V,IAAI1E,EAAEy2E,OAAOgjF,IAAI,iBAAiB1yK,EAAE0vF,OAAOgjF,IAAI,gBAAgBh6J,EAAEg3E,OAAOgjF,IAAI,kBAAkB/0J,EAAE+xE,OAAOgjF,IAAI,qBAAqBhnK,EAAEgkF,OAAOgjF,IAAI,kBAAkB50J,EAAE4xE,OAAOgjF,IAAI,kBAAkBn3J,EAAEm0E,OAAOgjF,IAAI,iBAAiBl3J,EAAEk0E,OAAOgjF,IAAI,qBAAqB1oI,EAAE0lD,OAAOgjF,IAAI,kBAAkB3qK,EAAE2nF,OAAOgjF,IAAI,cAAc1qK,EAAE0nF,OAAOgjF,IAAI,cAAcvmI,EAAEujD,OAAOkc,SACzW,IAAI1nF,EAAE,CAAC6oK,UAAU,WAAW,OAAM,CAAE,EAAEI,mBAAmB,WAAW,EAAED,oBAAoB,WAAW,EAAED,gBAAgB,WAAW,GAAGlpK,EAAE5oB,OAAO25B,OAAOipB,EAAE,CAAC,EAAE,SAASjE,EAAEl8B,EAAEC,EAAEoH,GAAG5qB,KAAK2nG,MAAMpkF,EAAEvjB,KAAKuzJ,QAAQ/vI,EAAExjB,KAAK4rL,KAAKloI,EAAE1jD,KAAKmzL,QAAQvoK,GAAGf,CAAC,CACwI,SAAS80B,IAAI,CAAyB,SAAS0F,EAAE9gC,EAAEC,EAAEoH,GAAG5qB,KAAK2nG,MAAMpkF,EAAEvjB,KAAKuzJ,QAAQ/vI,EAAExjB,KAAK4rL,KAAKloI,EAAE1jD,KAAKmzL,QAAQvoK,GAAGf,CAAC,CADxP41B,EAAEv/C,UAAUm9L,iBAAiB,CAAC,EACpQ59I,EAAEv/C,UAAU4hM,SAAS,SAASv+K,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAMpjB,MAAM,yHAAyHH,KAAKmzL,QAAQP,gBAAgB5yL,KAAKujB,EAAEC,EAAE,WAAW,EAAEi8B,EAAEv/C,UAAU6hM,YAAY,SAASx+K,GAAGvjB,KAAKmzL,QAAQL,mBAAmB9yL,KAAKujB,EAAE,cAAc,EAAgBo7B,EAAEz+C,UAAUu/C,EAAEv/C,UAAsF,IAAI+jD,EAAEI,EAAEnkD,UAAU,IAAIy+C,EACrfsF,EAAE7jD,YAAYikD,EAAE36B,EAAEu6B,EAAExE,EAAEv/C,WAAW+jD,EAAE+uI,sBAAqB,EAAG,IAAI70I,EAAE79C,MAAMuE,QAAQ6/C,EAAE5jD,OAAOZ,UAAUggB,eAAeilC,EAAE,CAAC5qB,QAAQ,MAAM5Q,EAAE,CAACnc,KAAI,EAAGy9D,KAAI,EAAGw2H,QAAO,EAAGC,UAAS,GACtK,SAASz/K,EAAEsB,EAAEC,EAAEoH,GAAG,IAAIjH,EAAExhB,EAAE,CAAC,EAAEhB,EAAE,KAAKoqB,EAAE,KAAK,GAAG,MAAM/H,EAAE,IAAIG,UAAK,IAASH,EAAEynD,MAAM1/C,EAAE/H,EAAEynD,UAAK,IAASznD,EAAEhW,MAAMrM,EAAE,GAAGqiB,EAAEhW,KAAKgW,EAAEkhC,EAAE1jD,KAAKwiB,EAAEG,KAAKgG,EAAEzJ,eAAeyD,KAAKxhB,EAAEwhB,GAAGH,EAAEG,IAAI,IAAIxS,EAAEzQ,UAAUC,OAAO,EAAE,GAAG,IAAIwQ,EAAEhP,EAAE2yE,SAASlqD,OAAO,GAAG,EAAEzZ,EAAE,CAAC,IAAI,IAAI8Z,EAAE3qB,MAAM6Q,GAAGvL,EAAE,EAAEA,EAAEuL,EAAEvL,IAAIqlB,EAAErlB,GAAGlF,UAAUkF,EAAE,GAAGzD,EAAE2yE,SAAS7pD,CAAC,CAAC,GAAG1H,GAAGA,EAAEkvK,aAAa,IAAI9uK,KAAKxS,EAAEoS,EAAEkvK,kBAAe,IAAStwL,EAAEwhB,KAAKxhB,EAAEwhB,GAAGxS,EAAEwS,IAAI,MAAM,CAAC80J,SAAS75J,EAAEtb,KAAKigB,EAAE/V,IAAIrM,EAAE8pE,IAAI1/C,EAAEo8E,MAAMxlG,EAAEupL,OAAOvmI,EAAE5qB,QAAQ,CAChV,SAAS8jB,EAAE96B,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEk1J,WAAW75J,CAAC,CAAoG,IAAIm/B,EAAE,OAAO,SAAS8G,EAAEthC,EAAEC,GAAG,MAAM,kBAAkBD,GAAG,OAAOA,GAAG,MAAMA,EAAE/V,IAA7K,SAAgB+V,GAAG,IAAIC,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,IAAID,EAAE9W,QAAQ,SAAQ,SAAS8W,GAAG,OAAOC,EAAED,EAAE,GAAE,CAA+Ey+K,CAAO,GAAGz+K,EAAE/V,KAAKgW,EAAEziB,SAAS,GAAG,CAC/W,SAAS8iD,EAAEtgC,EAAEC,EAAEoH,EAAEjH,EAAExhB,GAAG,IAAIhB,SAASoiB,EAAK,cAAcpiB,GAAG,YAAYA,IAAEoiB,EAAE,MAAK,IAAIgI,GAAE,EAAG,GAAG,OAAOhI,EAAEgI,GAAE,OAAQ,OAAOpqB,GAAG,IAAK,SAAS,IAAK,SAASoqB,GAAE,EAAG,MAAM,IAAK,SAAS,OAAOhI,EAAEk1J,UAAU,KAAK75J,EAAE,KAAKjZ,EAAE4lB,GAAE,GAAI,GAAGA,EAAE,OAAWppB,EAAEA,EAANopB,EAAEhI,GAASA,EAAE,KAAKI,EAAE,IAAIkhC,EAAEt5B,EAAE,GAAG5H,EAAEw6B,EAAEh8C,IAAIyoB,EAAE,GAAG,MAAMrH,IAAIqH,EAAErH,EAAE9W,QAAQsxC,EAAE,OAAO,KAAK8F,EAAE1hD,EAAEqhB,EAAEoH,EAAE,IAAG,SAASrH,GAAG,OAAOA,CAAC,KAAI,MAAMphB,IAAIk8C,EAAEl8C,KAAKA,EADnW,SAAWohB,EAAEC,GAAG,MAAM,CAACi1J,SAAS75J,EAAEtb,KAAKigB,EAAEjgB,KAAKkK,IAAIgW,EAAEynD,IAAI1nD,EAAE0nD,IAAI08B,MAAMpkF,EAAEokF,MAAM+jF,OAAOnoK,EAAEmoK,OAAO,CACyQ1pK,CAAE7f,EAAEyoB,IAAIzoB,EAAEqL,KAAK+d,GAAGA,EAAE/d,MAAMrL,EAAEqL,IAAI,IAAI,GAAGrL,EAAEqL,KAAKf,QAAQsxC,EAAE,OAAO,KAAKx6B,IAAIC,EAAEhe,KAAKrD,IAAI,EAAyB,GAAvBopB,EAAE,EAAE5H,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAOw6B,EAAE56B,GAAG,IAAI,IAAIpS,EAAE,EAAEA,EAAEoS,EAAE5iB,OAAOwQ,IAAI,CAC/e,IAAI8Z,EAAEtH,EAAEkhC,EADwe1jD,EACrfoiB,EAAEpS,GAAeA,GAAGoa,GAAGs4B,EAAE1iD,EAAEqiB,EAAEoH,EAAEK,EAAE9oB,EAAE,MAAM,GAAG8oB,EAPsU,SAAW1H,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAsC,oBAAjCA,EAAEuuB,GAAGvuB,EAAEuuB,IAAIvuB,EAAE,eAA0CA,EAAE,IAAI,CAO5bs6B,CAAEt6B,GAAG,oBAAoB0H,EAAE,IAAI1H,EAAE0H,EAAEjqB,KAAKuiB,GAAGpS,EAAE,IAAIhQ,EAAEoiB,EAAE6/E,QAAQkpF,MAA6B/gK,GAAGs4B,EAA1B1iD,EAAEA,EAAE4H,MAA0Bya,EAAEoH,EAAtBK,EAAEtH,EAAEkhC,EAAE1jD,EAAEgQ,KAAkBhP,QAAQ,GAAG,WAAWhB,EAAE,MAAMqiB,EAAEe,OAAOhB,GAAGpjB,MAAM,mDAAmD,oBAAoBqjB,EAAE,qBAAqB1iB,OAAOwM,KAAKiW,GAAGtd,KAAK,MAAM,IAAIud,GAAG,6EAA6E,OAAO+H,CAAC,CACzZ,SAASuyB,EAAEv6B,EAAEC,EAAEoH,GAAG,GAAG,MAAMrH,EAAE,OAAOA,EAAE,IAAII,EAAE,GAAGxhB,EAAE,EAAmD,OAAjD0hD,EAAEtgC,EAAEI,EAAE,GAAG,IAAG,SAASJ,GAAG,OAAOC,EAAExiB,KAAK4pB,EAAErH,EAAEphB,IAAI,IAAUwhB,CAAC,CAAC,SAAS2E,EAAE/E,GAAG,IAAI,IAAIA,EAAE0+K,QAAQ,CAAC,IAAIz+K,EAAED,EAAE2+K,SAAQ1+K,EAAEA,KAAM2sD,MAAK,SAAS3sD,GAAM,IAAID,EAAE0+K,UAAU,IAAI1+K,EAAE0+K,UAAQ1+K,EAAE0+K,QAAQ,EAAE1+K,EAAE2+K,QAAQ1+K,EAAC,IAAE,SAASA,GAAM,IAAID,EAAE0+K,UAAU,IAAI1+K,EAAE0+K,UAAQ1+K,EAAE0+K,QAAQ,EAAE1+K,EAAE2+K,QAAQ1+K,EAAC,KAAI,IAAID,EAAE0+K,UAAU1+K,EAAE0+K,QAAQ,EAAE1+K,EAAE2+K,QAAQ1+K,EAAE,CAAC,GAAG,IAAID,EAAE0+K,QAAQ,OAAO1+K,EAAE2+K,QAAQxyK,QAAQ,MAAMnM,EAAE2+K,OAAQ,CAC5Z,IAAIxjJ,EAAE,CAACnkB,QAAQ,MAAM6pB,EAAE,CAAC66H,WAAW,MAAM96H,EAAE,CAACqrI,uBAAuB9wI,EAAEsgI,wBAAwB56H,EAAEmwI,kBAAkBpvI,GAAG,SAASF,IAAI,MAAM9kD,MAAM,2DAA4D,CACzMslB,EAAQ08K,SAAS,CAACx7L,IAAIm3C,EAAEvwC,QAAQ,SAASgW,EAAEC,EAAEoH,GAAGkzB,EAAEv6B,GAAE,WAAWC,EAAEnb,MAAMrI,KAAKU,UAAU,GAAEkqB,EAAE,EAAE9iB,MAAM,SAASyb,GAAG,IAAIC,EAAE,EAAuB,OAArBs6B,EAAEv6B,GAAE,WAAWC,GAAG,IAAUA,CAAC,EAAEgmD,QAAQ,SAASjmD,GAAG,OAAOu6B,EAAEv6B,GAAE,SAASA,GAAG,OAAOA,CAAC,KAAI,EAAE,EAAE6+K,KAAK,SAAS7+K,GAAG,IAAI86B,EAAE96B,GAAG,MAAMpjB,MAAM,yEAAyE,OAAOojB,CAAC,GAAGkC,EAAQ48K,UAAU5iJ,EAAEh6B,EAAQk8K,SAAStjL,EAAEoH,EAAQ68K,SAASjxL,EAAEoU,EAAQ88K,cAAcl+I,EAAE5+B,EAAQ+8K,WAAWl/K,EAAEmC,EAAQg9K,SAAS9yJ,EAClclqB,EAAQ2yJ,mDAAmDj0H,EAAE1+B,EAAQi9K,IAAIz9I,EACzEx/B,EAAQk9K,aAAa,SAASp/K,EAAEC,EAAEoH,GAAG,GAAG,OAAOrH,QAAG,IAASA,EAAE,MAAMpjB,MAAM,iFAAiFojB,EAAE,KAAK,IAAII,EAAE+F,EAAE,CAAC,EAAEnG,EAAEokF,OAAOxlG,EAAEohB,EAAE/V,IAAIrM,EAAEoiB,EAAE0nD,IAAI1/C,EAAEhI,EAAEmoK,OAAO,GAAG,MAAMloK,EAAE,CAAoE,QAAnE,IAASA,EAAEynD,MAAM9pE,EAAEqiB,EAAEynD,IAAI1/C,EAAE45B,EAAE5qB,cAAS,IAAS/W,EAAEhW,MAAMrL,EAAE,GAAGqhB,EAAEhW,KAAQ+V,EAAEjgB,MAAMigB,EAAEjgB,KAAKmvL,aAAa,IAAIthL,EAAEoS,EAAEjgB,KAAKmvL,aAAa,IAAIxnK,KAAKzH,EAAEkhC,EAAE1jD,KAAKwiB,EAAEyH,KAAKtB,EAAEzJ,eAAe+K,KAAKtH,EAAEsH,QAAG,IAASzH,EAAEyH,SAAI,IAAS9Z,EAAEA,EAAE8Z,GAAGzH,EAAEyH,GAAG,CAAC,IAAIA,EAAEvqB,UAAUC,OAAO,EAAE,GAAG,IAAIsqB,EAAEtH,EAAEmxD,SAASlqD,OAAO,GAAG,EAAEK,EAAE,CAAC9Z,EAAE7Q,MAAM2qB,GACrf,IAAI,IAAIrlB,EAAE,EAAEA,EAAEqlB,EAAErlB,IAAIuL,EAAEvL,GAAGlF,UAAUkF,EAAE,GAAG+d,EAAEmxD,SAAS3jE,CAAC,CAAC,MAAM,CAACsnK,SAAS75J,EAAEtb,KAAKigB,EAAEjgB,KAAKkK,IAAIrL,EAAE8oE,IAAI9pE,EAAEwmG,MAAMhkF,EAAE+nK,OAAOngK,EAAE,EAAE9F,EAAQm9K,cAAc,SAASr/K,GAAqK,OAAlKA,EAAE,CAACk1J,SAASv3J,EAAE6rK,cAAcxpK,EAAEs/K,eAAet/K,EAAEu/K,aAAa,EAAEC,SAAS,KAAKC,SAAS,KAAKC,cAAc,KAAKC,YAAY,OAAQH,SAAS,CAACtqB,SAASh1J,EAAEi1J,SAASn1J,GAAUA,EAAEy/K,SAASz/K,CAAC,EAAEkC,EAAQiG,cAAczJ,EAAEwD,EAAQ09K,cAAc,SAAS5/K,GAAG,IAAIC,EAAEvB,EAAE27B,KAAK,KAAKr6B,GAAY,OAATC,EAAElgB,KAAKigB,EAASC,CAAC,EAAEiC,EAAQ29K,UAAU,WAAW,MAAM,CAAC7oK,QAAQ,KAAK,EAC9d9U,EAAQ49K,WAAW,SAAS9/K,GAAG,MAAM,CAACk1J,SAASt3J,EAAE4zD,OAAOxxD,EAAE,EAAEkC,EAAQ69K,eAAejlJ,EAAE54B,EAAQ89K,KAAK,SAAShgL,GAAG,MAAM,CAACk1J,SAAS9qK,EAAEgrK,SAAS,CAACspB,SAAS,EAAEC,QAAQ3+K,GAAGq1J,MAAMtwJ,EAAE,EAAE7C,EAAQ+9K,KAAK,SAASjgL,EAAEC,GAAG,MAAM,CAACi1J,SAAS/qK,EAAEpK,KAAKigB,EAAEsxK,aAAQ,IAASrxK,EAAE,KAAKA,EAAE,EAAEiC,EAAQg+K,gBAAgB,SAASlgL,GAAG,IAAIC,EAAE4gC,EAAE66H,WAAW76H,EAAE66H,WAAW,CAAC,EAAE,IAAI17J,GAAG,CAAC,QAAQ6gC,EAAE66H,WAAWz7J,CAAC,CAAC,EAAEiC,EAAQi+K,aAAaz+I,EAAEx/B,EAAQisK,YAAY,SAASnuK,EAAEC,GAAG,OAAOk7B,EAAEnkB,QAAQm3J,YAAYnuK,EAAEC,EAAE,EAAEiC,EAAQksK,WAAW,SAASpuK,GAAG,OAAOm7B,EAAEnkB,QAAQo3J,WAAWpuK,EAAE,EAC3fkC,EAAQwsK,cAAc,WAAW,EAAExsK,EAAQysK,iBAAiB,SAAS3uK,GAAG,OAAOm7B,EAAEnkB,QAAQ23J,iBAAiB3uK,EAAE,EAAEkC,EAAQulF,UAAU,SAASznF,EAAEC,GAAG,OAAOk7B,EAAEnkB,QAAQywE,UAAUznF,EAAEC,EAAE,EAAEiC,EAAQ6sK,MAAM,WAAW,OAAO5zI,EAAEnkB,QAAQ+3J,OAAO,EAAE7sK,EAAQmsK,oBAAoB,SAASruK,EAAEC,EAAEoH,GAAG,OAAO8zB,EAAEnkB,QAAQq3J,oBAAoBruK,EAAEC,EAAEoH,EAAE,EAAEnF,EAAQosK,mBAAmB,SAAStuK,EAAEC,GAAG,OAAOk7B,EAAEnkB,QAAQs3J,mBAAmBtuK,EAAEC,EAAE,EAAEiC,EAAQqsK,gBAAgB,SAASvuK,EAAEC,GAAG,OAAOk7B,EAAEnkB,QAAQu3J,gBAAgBvuK,EAAEC,EAAE,EACzdiC,EAAQssK,QAAQ,SAASxuK,EAAEC,GAAG,OAAOk7B,EAAEnkB,QAAQw3J,QAAQxuK,EAAEC,EAAE,EAAEiC,EAAQusK,WAAW,SAASzuK,EAAEC,EAAEoH,GAAG,OAAO8zB,EAAEnkB,QAAQy3J,WAAWzuK,EAAEC,EAAEoH,EAAE,EAAEnF,EAAQ+jF,OAAO,SAASjmF,GAAG,OAAOm7B,EAAEnkB,QAAQivE,OAAOjmF,EAAE,EAAEkC,EAAQ2jF,SAAS,SAAS7lF,GAAG,OAAOm7B,EAAEnkB,QAAQ6uE,SAAS7lF,EAAE,EAAEkC,EAAQ4sK,qBAAqB,SAAS9uK,EAAEC,EAAEoH,GAAG,OAAO8zB,EAAEnkB,QAAQ83J,qBAAqB9uK,EAAEC,EAAEoH,EAAE,EAAEnF,EAAQ0sK,cAAc,WAAW,OAAOzzI,EAAEnkB,QAAQ43J,eAAe,EAAE1sK,EAAQnH,QAAQ,sCCtBlakH,EAAOC,QAAU,EAAjBD,kCCAAA,EAAOC,QAAU,EAAjBD,iCCMW,SAASyF,EAAE1H,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAE5iB,OAAO4iB,EAAE/d,KAAKge,GAAGD,EAAE,KAAK,EAAEphB,GAAG,CAAC,IAAIwhB,EAAExhB,EAAE,IAAI,EAAEyoB,EAAErH,EAAEI,GAAG,KAAG,EAAExS,EAAEyZ,EAAEpH,IAA0B,MAAMD,EAA7BA,EAAEI,GAAGH,EAAED,EAAEphB,GAAGyoB,EAAEzoB,EAAEwhB,CAAc,CAAC,CAAC,SAAS4H,EAAEhI,GAAG,OAAO,IAAIA,EAAE5iB,OAAO,KAAK4iB,EAAE,EAAE,CAAC,SAASpiB,EAAEoiB,GAAG,GAAG,IAAIA,EAAE5iB,OAAO,OAAO,KAAK,IAAI6iB,EAAED,EAAE,GAAGphB,EAAEohB,EAAEgoC,MAAM,GAAGppD,IAAIqhB,EAAE,CAACD,EAAE,GAAGphB,EAAEohB,EAAE,IAAI,IAAII,EAAE,EAAEiH,EAAErH,EAAE5iB,OAAOgvC,EAAE/kB,IAAI,EAAEjH,EAAEgsB,GAAG,CAAC,IAAI/pC,EAAE,GAAG+d,EAAE,GAAG,EAAE+F,EAAEnG,EAAE3d,GAAGD,EAAEC,EAAE,EAAE8H,EAAE6V,EAAE5d,GAAG,GAAG,EAAEwL,EAAEuY,EAAEvnB,GAAGwD,EAAEilB,GAAG,EAAEzZ,EAAEzD,EAAEgc,IAAInG,EAAEI,GAAGjW,EAAE6V,EAAE5d,GAAGxD,EAAEwhB,EAAEhe,IAAI4d,EAAEI,GAAG+F,EAAEnG,EAAE3d,GAAGzD,EAAEwhB,EAAE/d,OAAQ,MAAGD,EAAEilB,GAAG,EAAEzZ,EAAEzD,EAAEvL,IAA0B,MAAMohB,EAA7BA,EAAEI,GAAGjW,EAAE6V,EAAE5d,GAAGxD,EAAEwhB,EAAEhe,CAAc,EAAC,CAAC,OAAO6d,CAAC,CAC3c,SAASrS,EAAEoS,EAAEC,GAAG,IAAIrhB,EAAEohB,EAAEogL,UAAUngL,EAAEmgL,UAAU,OAAO,IAAIxhM,EAAEA,EAAEohB,EAAE0a,GAAGza,EAAEya,EAAE,CAAC,GAAG,kBAAkB2lK,aAAa,oBAAoBA,YAAYv4L,IAAI,CAAC,IAAIuT,EAAEglL,YAAYn+K,EAAQ+3J,aAAa,WAAW,OAAO5+J,EAAEvT,KAAK,CAAC,KAAK,CAAC,IAAIgT,EAAE/S,KAAKgY,EAAEjF,EAAEhT,MAAMoa,EAAQ+3J,aAAa,WAAW,OAAOn/J,EAAEhT,MAAMiY,CAAC,CAAC,CAAC,IAAIjS,EAAE,GAAGoS,EAAE,GAAGvC,EAAE,EAAEC,EAAE,KAAKxT,EAAE,EAAEmkC,GAAE,EAAG+L,GAAE,EAAGh0B,GAAE,EAAG65B,EAAE,oBAAoBz3B,WAAWA,WAAW,KAAKwzB,EAAE,oBAAoBk4B,aAAaA,aAAa,KAAKh5B,EAAE,qBAAqBklJ,aAAaA,aAAa,KACnT,SAASx/I,EAAE9gC,GAAG,IAAI,IAAIC,EAAE+H,EAAE9H,GAAG,OAAOD,GAAG,CAAC,GAAG,OAAOA,EAAEqtD,SAAS1vE,EAAEsiB,OAAQ,MAAGD,EAAEgoJ,WAAWjoJ,GAAgD,MAA9CpiB,EAAEsiB,GAAGD,EAAEmgL,UAAUngL,EAAEsgL,eAAe74K,EAAE5Z,EAAEmS,EAAa,CAACA,EAAE+H,EAAE9H,EAAE,CAAC,CAAC,SAASwgC,EAAE1gC,GAAa,GAAVsG,GAAE,EAAGw6B,EAAE9gC,IAAOs6B,EAAE,GAAG,OAAOtyB,EAAEla,GAAGwsC,GAAE,EAAGM,EAAEuG,OAAO,CAAC,IAAIlhC,EAAE+H,EAAE9H,GAAG,OAAOD,GAAG2hC,EAAElB,EAAEzgC,EAAEgoJ,UAAUjoJ,EAAE,CAAC,CACra,SAASmhC,EAAEnhC,EAAEC,GAAGq6B,GAAE,EAAGh0B,IAAIA,GAAE,EAAG41B,EAAE91B,GAAGA,GAAG,GAAGmoB,GAAE,EAAG,IAAI3vC,EAAEwL,EAAE,IAAS,IAAL02C,EAAE7gC,GAAOrC,EAAEoK,EAAEla,GAAG,OAAO8P,MAAMA,EAAE2iL,eAAetgL,IAAID,IAAItB,MAAM,CAAC,IAAI0B,EAAExC,EAAE0vD,SAAS,GAAG,oBAAoBltD,EAAE,CAACxC,EAAE0vD,SAAS,KAAKljE,EAAEwT,EAAE4iL,cAAc,IAAIn5K,EAAEjH,EAAExC,EAAE2iL,gBAAgBtgL,GAAGA,EAAEiC,EAAQ+3J,eAAe,oBAAoB5yJ,EAAEzJ,EAAE0vD,SAASjmD,EAAEzJ,IAAIoK,EAAEla,IAAIlQ,EAAEkQ,GAAGgzC,EAAE7gC,EAAE,MAAMriB,EAAEkQ,GAAG8P,EAAEoK,EAAEla,EAAE,CAAC,GAAG,OAAO8P,EAAE,IAAIwuB,GAAE,MAAO,CAAC,IAAI/pC,EAAE2lB,EAAE9H,GAAG,OAAO7d,GAAGu/C,EAAElB,EAAEr+C,EAAE4lK,UAAUhoJ,GAAGmsB,GAAE,CAAE,CAAC,OAAOA,CAAC,CAAC,QAAQxuB,EAAE,KAAKxT,EAAExL,EAAE2vC,GAAE,CAAE,CAAC,CAD1a,qBAAqB3mB,gBAAW,IAASA,UAAU64K,iBAAY,IAAS74K,UAAU64K,WAAWC,gBAAgB94K,UAAU64K,WAAWC,eAAermJ,KAAKzyB,UAAU64K,YAC2Q,IACzPlmJ,EAD6P97B,GAAE,EAAGq8B,EAAE,KAAK10B,GAAG,EAAEo0B,EAAE,EAAE8G,GAAG,EACvc,SAAS5iC,IAAI,QAAOwD,EAAQ+3J,eAAe34H,EAAE9G,EAAO,CAAC,SAAS8F,IAAI,GAAG,OAAOxF,EAAE,CAAC,IAAI96B,EAAEkC,EAAQ+3J,eAAe34H,EAAEthC,EAAE,IAAIC,GAAE,EAAG,IAAIA,EAAE66B,GAAE,EAAG96B,EAAE,CAAC,QAAQC,EAAEs6B,KAAK97B,GAAE,EAAGq8B,EAAE,KAAK,CAAC,MAAMr8B,GAAE,CAAE,CAAO,GAAG,oBAAoB28B,EAAEb,EAAE,WAAWa,EAAEkF,EAAE,OAAO,GAAG,qBAAqBqgJ,eAAe,CAAC,IAAI57K,EAAE,IAAI47K,eAAexlJ,EAAEp2B,EAAE67K,MAAM77K,EAAE87K,MAAMpuF,UAAUnyD,EAAE/F,EAAE,WAAWY,EAAEu3D,YAAY,KAAK,CAAC,MAAMn4D,EAAE,WAAW4F,EAAEG,EAAE,EAAE,EAAE,SAAS1F,EAAE56B,GAAG86B,EAAE96B,EAAEvB,IAAIA,GAAE,EAAG87B,IAAI,CAAC,SAASqH,EAAE5hC,EAAEC,GAAGmG,EAAE+5B,GAAE,WAAWngC,EAAEkC,EAAQ+3J,eAAe,GAAEh6J,EAAE,CAC5diC,EAAQq4J,sBAAsB,EAAEr4J,EAAQi4J,2BAA2B,EAAEj4J,EAAQo4J,qBAAqB,EAAEp4J,EAAQm4J,wBAAwB,EAAEn4J,EAAQ4+K,mBAAmB,KAAK5+K,EAAQk4J,8BAA8B,EAAEl4J,EAAQ43J,wBAAwB,SAAS95J,GAAGA,EAAEstD,SAAS,IAAI,EAAEprD,EAAQ6+K,2BAA2B,WAAWzmJ,GAAG/L,IAAI+L,GAAE,EAAGM,EAAEuG,GAAG,EAC1Uj/B,EAAQ8+K,wBAAwB,SAAShhL,GAAG,EAAEA,GAAG,IAAIA,EAAEyG,QAAQS,MAAM,mHAAmHszB,EAAE,EAAEx6B,EAAEnf,KAAKK,MAAM,IAAI8e,GAAG,CAAC,EAAEkC,EAAQg4J,iCAAiC,WAAW,OAAO9vK,CAAC,EAAE8X,EAAQ++K,8BAA8B,WAAW,OAAOj5K,EAAEla,EAAE,EAAEoU,EAAQg/K,cAAc,SAASlhL,GAAG,OAAO5V,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI6V,EAAE,EAAE,MAAM,QAAQA,EAAE7V,EAAE,IAAIxL,EAAEwL,EAAEA,EAAE6V,EAAE,IAAI,OAAOD,GAAG,CAAC,QAAQ5V,EAAExL,CAAC,CAAC,EAAEsjB,EAAQi/K,wBAAwB,WAAW,EAC9fj/K,EAAQ83J,sBAAsB,WAAW,EAAE93J,EAAQk/K,yBAAyB,SAASphL,EAAEC,GAAG,OAAOD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAIphB,EAAEwL,EAAEA,EAAE4V,EAAE,IAAI,OAAOC,GAAG,CAAC,QAAQ7V,EAAExL,CAAC,CAAC,EAChMsjB,EAAQ23J,0BAA0B,SAAS75J,EAAEC,EAAErhB,GAAG,IAAIwhB,EAAE8B,EAAQ+3J,eAA8F,OAA/E,kBAAkBr7K,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAEs0E,QAA6B,EAAEt0E,EAAEwhB,EAAExhB,EAAEwhB,EAAGxhB,EAAEwhB,EAASJ,GAAG,KAAK,EAAE,IAAIqH,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAAmN,OAAzMrH,EAAE,CAAC0a,GAAG/c,IAAI2vD,SAASrtD,EAAEugL,cAAcxgL,EAAEioJ,UAAUrpK,EAAE2hM,eAAvDl5K,EAAEzoB,EAAEyoB,EAAoE+4K,WAAW,GAAGxhM,EAAEwhB,GAAGJ,EAAEogL,UAAUxhM,EAAE8oB,EAAExH,EAAEF,GAAG,OAAOgI,EAAEla,IAAIkS,IAAIgI,EAAE9H,KAAKoG,GAAG41B,EAAE91B,GAAGA,GAAG,GAAGE,GAAE,EAAGs7B,EAAElB,EAAE9hD,EAAEwhB,MAAMJ,EAAEogL,UAAU/4K,EAAEK,EAAE5Z,EAAEkS,GAAGs6B,GAAG/L,IAAI+L,GAAE,EAAGM,EAAEuG,KAAYnhC,CAAC,EACnekC,EAAQ63J,qBAAqBr7J,EAAEwD,EAAQm/K,sBAAsB,SAASrhL,GAAG,IAAIC,EAAE7V,EAAE,OAAO,WAAW,IAAIxL,EAAEwL,EAAEA,EAAE6V,EAAE,IAAI,OAAOD,EAAElb,MAAMrI,KAAKU,UAAU,CAAC,QAAQiN,EAAExL,CAAC,CAAC,CAAC,+BCf7JqjB,EAAOC,QAAU,EAAjBD,gBCDFA,EAAOC,QAAU,SAAsBo/K,EAAMC,EAAMjQ,EAASkQ,GAC1D,IAAIp1B,EAAMklB,EAAUA,EAAQ7zL,KAAK+jM,EAAgBF,EAAMC,QAAQ,EAE/D,QAAY,IAARn1B,EACF,QAASA,EAGX,GAAIk1B,IAASC,EACX,OAAO,EAGT,GAAoB,kBAATD,IAAsBA,GAAwB,kBAATC,IAAsBA,EACpE,OAAO,EAGT,IAAIE,EAAQlkM,OAAOwM,KAAKu3L,GACpBI,EAAQnkM,OAAOwM,KAAKw3L,GAExB,GAAIE,EAAMrkM,SAAWskM,EAAMtkM,OACzB,OAAO,EAMT,IAHA,IAAIukM,EAAkBpkM,OAAOZ,UAAUggB,eAAe09B,KAAKknJ,GAGlD32L,EAAM,EAAGA,EAAM62L,EAAMrkM,OAAQwN,IAAO,CAC3C,IAAIX,EAAMw3L,EAAM72L,GAEhB,IAAK+2L,EAAgB13L,GACnB,OAAO,EAGT,IAAI23L,EAASN,EAAKr3L,GACd43L,EAASN,EAAKt3L,GAIlB,IAAY,KAFZmiK,EAAMklB,EAAUA,EAAQ7zL,KAAK+jM,EAAgBI,EAAQC,EAAQ53L,QAAO,SAEtC,IAARmiK,GAAkBw1B,IAAWC,EACjD,OAAO,CAEX,CAEA,OAAO,CACT,kBChCA,IAAIh8L,EAAIsgC,EAAQ,MAyEhBlkB,EAAOC,QA/DP,SAAS4/K,EAAWC,EAASC,EAAW3wL,GACtC,GAAe,MAAX0wL,EACF,MAAO,CAAC,EAEV,IAAIt6H,EAAKw6H,EAAatnJ,EAAMj+C,EAAMyB,EAAS+oD,EACzClqC,EAAS+kL,EAAQ,IAAM,CAAC,EACxB1kM,EAAI,EACJD,EAAS2kM,EAAQ3kM,OASnB,IAPAiU,EAAOA,GAAQ,GAGQ,kBAAX2L,IACVA,EAAS,CAAC,GAGJ3f,EAAID,EAAQC,IAElB,GAAiC,OAA3Bc,EAAU4jM,EAAS1kM,IAEvB,IAAKX,KAAQyB,EACX,GAAKA,EAAQwe,eAAejgB,IAEf,cAATA,IAGJ+qE,EAAMzqD,EAAOtgB,GAITsgB,KAHJ29B,EAAOx8C,EAAQzB,KAQf,GAAKi+C,IAAU90C,EAAEq8L,cAAcvnJ,KAAUsnJ,EAAcp8L,EAAEvE,QAAQq5C,KAAW,CACrEsnJ,GACHA,GAAc,EACd/6I,EAAQugB,GAAO5hE,EAAEvE,QAAQmmE,GAAOA,EAAM,IAEtCvgB,EAAQugB,GAAO5hE,EAAEq8L,cAAcz6H,GAAOA,EAAM,CAAC,EAG/C,IAAI06H,EAAW9wL,EAAKvU,MAAM,GAC1BqlM,EAASlgM,KAAKvF,GAGdsgB,EAAQtgB,GAASolM,EAAY,CAAC56I,EAAOvM,GAAOqnJ,EAAWG,EAGzD,WAAqBziM,IAATi7C,IACC,MAAP8sB,GAAmC,mBAAbu6H,GACxBA,EAAU,CAAChlL,OAAQA,EAAQ29B,KAAMx8C,EAASkT,KAAMA,EAAMpH,IAAKvN,IAE7DsgB,EAAQtgB,GAASi+C,GAMzB,OAAO39B,CACT,kBCvEA,MAAMolL,EAAaj8J,EAAQ,KASrBn8B,EAAU,SAASnG,EAAK6jB,GAC5BnqB,OAAOwM,KAAKlG,GAAO,CAAC,GAAGmG,SAASC,IAC9B,IAAIzE,EAAQ3B,EAAIoG,GAChByd,EAAEliB,EAAOyE,EAAI,GAEjB,EAOMo4L,EAAY,SAASx+L,GACzB,OAAW,OAARA,QAAwBnE,IAARmE,GAAoC,kBAARA,EACtCA,EAGNA,aAAe9G,MACT8G,EAAIsT,QAAO,CAAChT,EAAKkT,EAAMha,KAC5B8G,EAAI9G,GAAKglM,EAAUhrL,GACZlT,IACN,IAGFN,aAAetG,OACTA,OAAOwM,KAAKlG,GAAO,CAAC,GAAGsT,QAAO,CAACmrL,EAAOr4L,KAC3Cq4L,EAAMr4L,GAAOo4L,EAAUx+L,EAAIoG,IACpBq4L,IACN,CAAC,QAJN,CAMF,EAEMC,EAAW,SAAS/8L,GACxB,MAAMzF,SAAcyF,EACpB,OAAgB,MAATA,IAA2B,WAATzF,GAA8B,aAATA,EAChD,EA4BA,MAkCMyiM,EAAU,SAASC,EAAUC,GACjC,OAAIH,EAASG,GACJnlM,OAAOwM,KAAK24L,GAASC,OAAO14L,GAAQu4L,EAAQC,EAASx4L,GAAMy4L,EAAQz4L,MAGnEw4L,GAAYC,CAEvB,EAQME,EAAkB,CACtB7/K,UAAWq/K,EAAW1+K,yBAEW,IAAUm/K,EAAcC,EAI3D7gL,EAAOC,QAAU,CACf6gL,KAAM/4L,EACNA,QAASA,EACTg5L,MAAOh5L,EACPD,KAAMxM,OAAOwM,KACbm9C,MApHY,SAASoT,GACrB,OAAO/8D,OAAO25B,OAAO,IAAIojC,EAAOz9D,YAAey9D,EACjD,EAmHE+nI,UAAWA,EACX3gB,OAAQnkL,OAAO25B,OACf8oE,SA1Fe,SAASn8F,GACxB,MAAsB,kBAARA,GAAoBA,aAAemd,MACnD,EAyFE1f,QAvFc,SAASuC,GACvB,OAAO9G,MAAMuE,QAAQuC,EACvB,EAsFE0+L,SAAUA,EACVL,cAjFF,SAAuB18L,GACrB,GAAqB,kBAAVA,GAAgC,OAAVA,GAA4D,oBAA1CjI,OAAOZ,UAAUa,SAASC,KAAK+H,GAChF,OAAO,EAET,GAAqC,OAAjCjI,OAAO0lM,eAAez9L,GACxB,OAAO,EAET,IAAI09L,EAAQ19L,EACZ,KAAwC,OAAjCjI,OAAO0lM,eAAeC,IAC3BA,EAAQ3lM,OAAO0lM,eAAeC,GAEhC,OAAO3lM,OAAO0lM,eAAez9L,KAAW09L,CAC1C,EAsEEC,QAtFc,SAASt/L,GACvB,MAAO,CAACtG,OAAQR,OAAOoW,UAAUtP,GAAO,CAAC,GAAGhH,eAAiBU,OAAO6lM,QAASv/L,GAAO,CAAC,GAAIzG,MAC3F,EAqFE+E,OArEa,SAAUgC,EAAKhC,GAC5B,GAAuB,oBAAZA,EACT,KAAM,2BAER,MAAmB,qBAARgC,EACF,GAEFA,EAAIhC,OAAOA,EACpB,EA8DEgV,OA5Ia,SAAStT,EAAK6jB,EAAG27K,GAC9B,OAAO9lM,OAAOwM,KAAKlG,GAAO,CAAC,GAAGsT,QAAO,CAACqpF,EAAav2F,KACjD,IAAIzE,EAAQ3B,EAAIoG,GAChB,OAAOyd,EAAE84E,EAAah7F,EAAOyE,EAAKpG,EAAI,GACrCw/L,EACL,EAwIEnsK,OA7Da,WACb,IAAI1L,EAAOzuB,MAAMJ,UAAUG,MAAMW,KAAKN,WAEtC,OADAquB,EAAKggC,QAAQ,CAAC,GACPjuD,OAAO25B,UAAU1L,EAC1B,EA0DE83K,WA1CiB,SAAUpoL,GAC3B,OAAOA,EAAMA,EAAI,GAAG7e,cAAgB6e,EAAIvX,OAAO,GAAK,EACtD,EAyCEggB,WArB2Ck/K,EAqBLT,EAAWz+K,UApB1C,CAAC4/K,EAAcplM,IAAY0kM,EAAaU,EAAchmM,OAAO25B,OAAO,CAAC,EAAG0rK,EAAiBE,EAAiB3kM,KAqBjHomB,UAAW69K,EAAW79K,UACtBq/E,UAAWw+F,EAAWj+K,UACtBq/K,KA3DW,SAAUr/L,GAAmB,QAAAs/L,EAAAtmM,UAAAC,OAAXsmM,EAAU,IAAA3mM,MAAA0mM,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAVD,EAAUC,EAAA,GAAAxmM,UAAAwmM,GACvC,IAAIC,EAAY,IAAIvvB,IAAIqvB,GACxB,IAAK,IAAIrmM,EAAE8G,EAAI/G,OAAO,EAAEC,GAAG,EAAEA,IACrBumM,EAAUtgK,IAAIn/B,EAAI9G,KACpB8G,EAAIuC,OAAOrJ,EAAG,EAGtB,EAqDEwmM,QAlCc,SAAUC,GACxB,IAAIC,EAAW1B,EAAUyB,GAEzB,OADiBrB,GAAaD,EAAQC,EAAUsB,EAElD,EA+BEhgM,OApDa,SAAUI,GACvB,MAAO,IAAI,IAAIkwK,IAAIlwK,GACrB,mBCpGA,IAAI0B,EAAIsgC,EAAQ,MA6BhBlkB,EAAOC,QAlBP,SAAS8hL,EAAkBnxD,EAAYoxD,GAGrC,IAAI,IAAIvnM,KAFRunM,EAASA,GAAU,GAEHpxD,EACVA,EAAWl2H,eAAejgB,KAExBmJ,EAAEq8L,cAAcrvD,EAAWn2I,KAAW,UAAWm2I,EAAWn2I,GAC9DunM,EAAOhiM,KAAM4wI,EAAWn2I,IACfmJ,EAAEq8L,cAAcrvD,EAAWn2I,KACpCsnM,EAAkBnxD,EAAWn2I,GAAOunM,IAK1C,OAAOA,CACT,kBC1BA,MAAM7lM,EAAW+nC,EAAQ,MAgBzBlkB,EAAOC,QAdP,WAAyC,IAAXnX,EAAI5N,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpC,MAAMgB,EAAUZ,OAAO25B,OAAO,CAAC,EAAG94B,EAAU2M,GAE5C,OAAO,IAAImY,OACT,KACA/kB,EAAQ+lM,kBACR,MACA/lM,EAAQgmM,kBAHR,QAMAhmM,EAAQgmM,kBAAmB,IAE/B,YCRAliL,EAAOC,QANU,CACfgiL,kBAAmB,IACnBC,kBAAmB,IACnBp9L,UAAW,qBCHb,MAAMq9L,EAAcj+J,EAAQ,MAqC5BlkB,EAAOC,QA5BP,SAASmiL,EAAc7+L,GAA4B,IAArB8+L,EAAcnnM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC9C,MAAMonM,EAAQD,aAA0BphL,OAASohL,EAAiBF,EAAYE,GAE9E,GAAqB,kBAAV9+L,EACT,OAAO++L,EAAMjmM,KAAKkH,GAGpB,GAAqB,kBAAVA,EAAoB,CAC7B,IAAIg/L,GAAe,EAInB,IAAK,MAAMv6L,KAAOzE,EAChB,GAAIA,EAAMmX,eAAe1S,GAAM,CAG7B,GADgBo6L,EADA7+L,EAAMyE,GACiBq6L,GACxB,CACbE,GAAe,EACf,KACF,CACF,CAEF,OAAOA,CACT,CAEA,OAAO,CACT,kKChDA,SAASt5B,EAAQ9vI,GAGf,OAAO8vI,EAAU,mBAAqBp5E,QAAU,iBAAmBA,OAAOkc,SAAW,SAAU5yE,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqB02D,QAAU12D,EAAEv+B,cAAgBi1F,QAAU12D,IAAM02D,OAAOn1F,UAAY,gBAAkBy+B,CACpH,EAAG8vI,EAAQ9vI,EACb,kJCQA,IAAI1R,EAAgB,SAAStJ,EAAGH,GAI9B,OAHAyJ,EAAgBnsB,OAAOosB,gBAClB,CAAEC,UAAW,cAAgB7sB,OAAS,SAAUqjB,EAAGH,GAAKG,EAAEwJ,UAAY3J,CAAG,GAC1E,SAAUG,EAAGH,GAAK,IAAK,IAAInF,KAAKmF,EAAO1iB,OAAOZ,UAAUggB,eAAelf,KAAKwiB,EAAGnF,KAAIsF,EAAEtF,GAAKmF,EAAEnF,GAAI,EAC7F4O,EAActJ,EAAGH,EAC1B,EAEO,SAASwJ,EAAUrJ,EAAGH,GAC3B,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAI4J,UAAU,uBAAyB7I,OAAOf,GAAK,iCAE7D,SAAS6J,IAAOrtB,KAAKI,YAAcujB,CAAG,CADtCsJ,EAActJ,EAAGH,GAEjBG,EAAEzjB,UAAkB,OAANsjB,EAAa1iB,OAAOwsB,OAAO9J,IAAM6J,EAAGntB,UAAYsjB,EAAEtjB,UAAW,IAAImtB,EACjF,CAEO,IAAItG,EAAW,WAQpB,OAPAA,EAAWjmB,OAAO25B,QAAU,SAAkBhX,GAC1C,IAAK,IAAIxC,EAAGrgB,EAAI,EAAG+E,EAAIjF,UAAUC,OAAQC,EAAI+E,EAAG/E,IAE5C,IAAK,IAAIyd,KADT4C,EAAIvgB,UAAUE,GACOE,OAAOZ,UAAUggB,eAAelf,KAAKigB,EAAG5C,KAAIoF,EAAEpF,GAAK4C,EAAE5C,IAE9E,OAAOoF,CACX,EACOsD,EAAS1e,MAAMrI,KAAMU,UAC9B,EA0EO,SAASsnM,EAAUC,EAASC,EAAYnqJ,EAAGoqJ,GAEhD,OAAO,IAAKpqJ,IAAMA,EAAIqd,WAAU,SAAU4U,EAASE,GAC/C,SAASk4H,EAAUr/L,GAAS,IAAMs/L,EAAKF,EAAU/kG,KAAKr6F,GAAS,CAAE,MAAO6hB,GAAKslD,EAAOtlD,EAAI,CAAE,CAC1F,SAAS09K,EAASv/L,GAAS,IAAMs/L,EAAKF,EAAiB,MAAEp/L,GAAS,CAAE,MAAO6hB,GAAKslD,EAAOtlD,EAAI,CAAE,CAC7F,SAASy9K,EAAKxgM,GAJlB,IAAekB,EAIalB,EAAOykL,KAAOt8G,EAAQnoE,EAAOkB,QAJ1CA,EAIyDlB,EAAOkB,MAJhDA,aAAiBg1C,EAAIh1C,EAAQ,IAAIg1C,GAAE,SAAUiyB,GAAWA,EAAQjnE,EAAQ,KAIjBonE,KAAKi4H,EAAWE,EAAW,CAC7GD,GAAMF,EAAYA,EAAU9/L,MAAM4/L,EAASC,GAAc,KAAK9kG,OAClE,GACF,CAEO,SAASmlG,EAAYN,EAAS57K,GACnC,IAAsGpB,EAAGtd,EAAG8V,EAAGtS,EAA3G/H,EAAI,CAAEo/L,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPhlL,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAGilL,KAAM,GAAIC,IAAK,IAChG,OAAOx3L,EAAI,CAAEiyF,KAAMwlG,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXvzG,SAA0BlkF,EAAEkkF,OAAOkc,UAAY,WAAa,OAAOvxG,IAAM,GAAImR,EACvJ,SAASy3L,EAAKjjM,GAAK,OAAO,SAAUwb,GAAK,OACzC,SAAcq2C,GACV,GAAIvsC,EAAG,MAAM,IAAImC,UAAU,mCAC3B,KAAOjc,IAAMA,EAAI,EAAGqmD,EAAG,KAAOpuD,EAAI,IAAKA,OACnC,GAAI6hB,EAAI,EAAGtd,IAAM8V,EAAY,EAAR+zC,EAAG,GAAS7pD,EAAU,OAAI6pD,EAAG,GAAK7pD,EAAS,SAAO8V,EAAI9V,EAAU,SAAM8V,EAAEziB,KAAK2M,GAAI,GAAKA,EAAEy1F,SAAW3/E,EAAIA,EAAEziB,KAAK2M,EAAG6pD,EAAG,KAAK80H,KAAM,OAAO7oK,EAE3J,OADI9V,EAAI,EAAG8V,IAAG+zC,EAAK,CAAS,EAARA,EAAG,GAAQ/zC,EAAE1a,QACzByuD,EAAG,IACP,KAAK,EAAG,KAAK,EAAG/zC,EAAI+zC,EAAI,MACxB,KAAK,EAAc,OAAXpuD,EAAEo/L,QAAgB,CAAEz/L,MAAOyuD,EAAG,GAAI80H,MAAM,GAChD,KAAK,EAAGljL,EAAEo/L,QAAS76L,EAAI6pD,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKpuD,EAAEu/L,IAAIp9I,MAAOniD,EAAEs/L,KAAKn9I,MAAO,SACxC,QACI,KAAkB9nC,GAAZA,EAAIra,EAAEs/L,MAAY/nM,OAAS,GAAK8iB,EAAEA,EAAE9iB,OAAS,MAAkB,IAAV62D,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEpuD,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVouD,EAAG,MAAc/zC,GAAM+zC,EAAG,GAAK/zC,EAAE,IAAM+zC,EAAG,GAAK/zC,EAAE,IAAM,CAAEra,EAAEo/L,MAAQhxI,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYpuD,EAAEo/L,MAAQ/kL,EAAE,GAAI,CAAEra,EAAEo/L,MAAQ/kL,EAAE,GAAIA,EAAI+zC,EAAI,KAAO,CACpE,GAAI/zC,GAAKra,EAAEo/L,MAAQ/kL,EAAE,GAAI,CAAEra,EAAEo/L,MAAQ/kL,EAAE,GAAIra,EAAEu/L,IAAInjM,KAAKgyD,GAAK,KAAO,CAC9D/zC,EAAE,IAAIra,EAAEu/L,IAAIp9I,MAChBniD,EAAEs/L,KAAKn9I,MAAO,SAEtBiM,EAAKnrC,EAAKrrB,KAAKinM,EAAS7+L,EAC5B,CAAE,MAAOwhB,GAAK4sC,EAAK,CAAC,EAAG5sC,GAAIjd,EAAI,CAAG,CAAE,QAAUsd,EAAIxH,EAAI,CAAG,CACzD,GAAY,EAAR+zC,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEzuD,MAAOyuD,EAAG,GAAKA,EAAG,QAAK,EAAQ80H,MAAM,EAC9E,CAtBgD+b,CAAK,CAAC1iM,EAAGwb,GAAK,CAAG,CAuBnE,CAE6BrgB,OAAOwsB,OAgB7B,SAASu7K,EAASlqK,GACvB,IAAI1d,EAAsB,oBAAXo0E,QAAyBA,OAAOkc,SAAU3rG,EAAIqb,GAAK0d,EAAE1d,GAAIrgB,EAAI,EAC5E,GAAIgF,EAAG,OAAOA,EAAE5E,KAAK29B,GACrB,GAAIA,GAAyB,kBAAbA,EAAEh+B,OAAqB,MAAO,CAC1CyiG,KAAM,WAEF,OADIzkE,GAAK/9B,GAAK+9B,EAAEh+B,SAAQg+B,OAAI,GACrB,CAAE51B,MAAO41B,GAAKA,EAAE/9B,KAAM0rL,MAAO3tJ,EACxC,GAEJ,MAAM,IAAIvR,UAAUnM,EAAI,0BAA4B,kCACtD,CAEO,SAAS6nL,EAAOnqK,EAAGh5B,GACxB,IAAIC,EAAsB,oBAAXyvF,QAAyB12D,EAAE02D,OAAOkc,UACjD,IAAK3rG,EAAG,OAAO+4B,EACf,IAAmBttB,EAAYuZ,EAA3BhqB,EAAIgF,EAAE5E,KAAK29B,GAAOi4B,EAAK,GAC3B,IACI,WAAc,IAANjxD,GAAgBA,KAAM,MAAQ0L,EAAIzQ,EAAEwiG,QAAQkpF,MAAM11H,EAAGpxD,KAAK6L,EAAEtI,MACxE,CACA,MAAO0hB,GAASG,EAAI,CAAEH,MAAOA,EAAS,CAAC,QAEnC,IACQpZ,IAAMA,EAAEi7K,OAAS1mL,EAAIhF,EAAU,SAAIgF,EAAE5E,KAAKJ,EAClD,CAAC,QACS,GAAIgqB,EAAG,MAAMA,EAAEH,KAAO,CACpC,CACA,OAAOmsC,CACT,CAkBO,SAASmyI,EAAc9nK,EAAIl6B,EAAMiiM,GACtC,GAAIA,GAA6B,IAArBtoM,UAAUC,OAAc,IAAK,IAA4Bi2D,EAAxBh2D,EAAI,EAAGge,EAAI7X,EAAKpG,OAAYC,EAAIge,EAAGhe,KACxEg2D,GAAQh2D,KAAKmG,IACR6vD,IAAIA,EAAKt2D,MAAMJ,UAAUG,MAAMW,KAAK+F,EAAM,EAAGnG,IAClDg2D,EAAGh2D,GAAKmG,EAAKnG,IAGrB,OAAOqgC,EAAG/zB,OAAO0pD,GAAMt2D,MAAMJ,UAAUG,MAAMW,KAAK+F,GACpD,CAEO,SAASkiM,EAAQ9nL,GACtB,OAAOnhB,gBAAgBipM,GAAWjpM,KAAKmhB,EAAIA,EAAGnhB,MAAQ,IAAIipM,EAAQ9nL,EACpE,CAEO,SAAS+nL,EAAiBjB,EAASC,EAAYC,GACpD,IAAK9yG,OAAO8zG,cAAe,MAAM,IAAI/7K,UAAU,wCAC/C,IAAoDxsB,EAAhDuQ,EAAIg3L,EAAU9/L,MAAM4/L,EAASC,GAAc,IAAQ5kL,EAAI,GAC3D,OAAO1iB,EAAI,CAAC,EAAGgoM,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAWhoM,EAAEy0F,OAAO8zG,eAAiB,WAAc,OAAOnpM,IAAM,EAAGY,EACpH,SAASgoM,EAAKjjM,GAASwL,EAAExL,KAAI/E,EAAE+E,GAAK,SAAUwb,GAAK,OAAO,IAAIi6C,SAAQ,SAAU73C,EAAGC,GAAKF,EAAE9d,KAAK,CAACG,EAAGwb,EAAGoC,EAAGC,IAAM,GAAK0sF,EAAOvqG,EAAGwb,EAAI,GAAI,EAAG,CACzI,SAAS+uF,EAAOvqG,EAAGwb,GAAK,KACV9P,EADqBF,EAAExL,GAAGwb,IACnBpY,iBAAiBkgM,EAAU7tI,QAAQ4U,QAAQ3+D,EAAEtI,MAAMoY,GAAGgvD,KAAKi5H,EAASl5H,GAAUm5H,EAAO/lL,EAAE,GAAG,GAAIjS,EADtE,CAAE,MAAOuZ,GAAKy+K,EAAO/lL,EAAE,GAAG,GAAIsH,EAAI,CAC/E,IAAcvZ,CADmE,CAEjF,SAAS+3L,EAAQrgM,GAASmnG,EAAO,OAAQnnG,EAAQ,CACjD,SAASmnE,EAAOnnE,GAASmnG,EAAO,QAASnnG,EAAQ,CACjD,SAASsgM,EAAOp+K,EAAG9J,GAAS8J,EAAE9J,GAAImC,EAAE6qB,QAAS7qB,EAAE3iB,QAAQuvG,EAAO5sF,EAAE,GAAG,GAAIA,EAAE,GAAG,GAAK,CACnF,CAQO,SAASgmL,EAAc3qK,GAC5B,IAAK02D,OAAO8zG,cAAe,MAAM,IAAI/7K,UAAU,wCAC/C,IAAiCxsB,EAA7BgF,EAAI+4B,EAAE02D,OAAO8zG,eACjB,OAAOvjM,EAAIA,EAAE5E,KAAK29B,IAAMA,EAAqCkqK,EAASlqK,GAA2B/9B,EAAI,CAAC,EAAGgoM,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAWhoM,EAAEy0F,OAAO8zG,eAAiB,WAAc,OAAOnpM,IAAM,EAAGY,GAC9M,SAASgoM,EAAKjjM,GAAK/E,EAAE+E,GAAKg5B,EAAEh5B,IAAM,SAAUwb,GAAK,OAAO,IAAIi6C,SAAQ,SAAU4U,EAASE,IACvF,SAAgBF,EAASE,EAAQvsD,EAAGxC,GAAKi6C,QAAQ4U,QAAQ7uD,GAAGgvD,MAAK,SAAShvD,GAAK6uD,EAAQ,CAAEjnE,MAAOoY,EAAGmrK,KAAM3oK,GAAM,GAAGusD,EAAS,EADbm5H,CAAOr5H,EAASE,GAA7B/uD,EAAIwd,EAAEh5B,GAAGwb,IAA8BmrK,KAAMnrK,EAAEpY,MAAQ,GAAI,CAAG,CAEjK,CAOyBjI,OAAOwsB,OAyDkB,oBAApBi8K,iBAAiCA,kBC1T3DvgK,yBAA2B,CAAC,EAGhC,SAAS3a,oBAAoB4a,GAE5B,IAAIC,EAAeF,yBAAyBC,GAC5C,QAAqBhmC,IAAjBimC,EACH,OAAOA,EAAazjB,QAGrB,IAAID,EAASwjB,yBAAyBC,GAAY,CAGjDxjB,QAAS,CAAC,GAOX,OAHAqH,oBAAoBmc,GAAUjoC,KAAKwkB,EAAOC,QAASD,EAAQA,EAAOC,QAAS4I,qBAGpE7I,EAAOC,OACf,CAGA4I,oBAAoBzoB,EAAIknB,oBCzBxBuB,oBAAoBm7K,KAAO,CAAC,ECC5Bn7K,oBAAoB1oB,EAAK6f,IACxB,IAAIikL,EAASjkL,GAAUA,EAAOkkL,WAC7B,IAAOlkL,EAAiB,QACxB,IAAM,EAEP,OADA6I,oBAAoB1K,EAAE8lL,EAAQ,CAAElmL,EAAGkmL,IAC5BA,CAAM,QCNd,IACIE,EADAC,EAAW9oM,OAAO0lM,eAAkBp/L,GAAStG,OAAO0lM,eAAep/L,GAASA,GAASA,EAAa,UAQtGinB,oBAAoB5K,EAAI,SAAS1a,EAAOtC,GAEvC,GADU,EAAPA,IAAUsC,EAAQ/I,KAAK+I,IAChB,EAAPtC,EAAU,OAAOsC,EACpB,GAAoB,kBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPtC,GAAasC,EAAM2gM,WAAY,OAAO3gM,EAC1C,GAAW,GAAPtC,GAAoC,oBAAfsC,EAAMonE,KAAqB,OAAOpnE,CAC5D,CACA,IAAI8gM,EAAK/oM,OAAOwsB,OAAO,MACvBe,oBAAoBhd,EAAEw4L,GACtB,IAAIv+D,EAAM,CAAC,EACXq+D,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAIrvK,EAAiB,EAAP9zB,GAAYsC,EAAyB,iBAAXwxB,KAAyBovK,EAAe/hM,QAAQ2yB,GAAUA,EAAUqvK,EAASrvK,GACxHz5B,OAAOg+D,oBAAoBvkC,GAAShtB,SAASC,GAAS89H,EAAI99H,GAAO,IAAOzE,EAAMyE,KAI/E,OAFA89H,EAAa,QAAI,IAAM,EACvBj9G,oBAAoB1K,EAAEkmL,EAAIv+D,GACnBu+D,CACR,MCxBAx7K,oBAAoB1K,EAAI,CAAC8B,EAASqkL,KACjC,IAAI,IAAIt8L,KAAOs8L,EACXz7K,oBAAoBsQ,EAAEmrK,EAAYt8L,KAAS6gB,oBAAoBsQ,EAAElZ,EAASjY,IAC5E1M,OAAOysB,eAAe9H,EAASjY,EAAK,CAAEg8B,YAAY,EAAMjmC,IAAKumM,EAAWt8L,IAE1E,ECND6gB,oBAAoBpD,EAAI,CAAC,EAGzBoD,oBAAoBzD,EAAKm/K,GACjB3uI,QAAQrwD,IAAIjK,OAAOwM,KAAK+gB,oBAAoBpD,GAAGvQ,QAAO,CAACsvL,EAAUx8L,KACvE6gB,oBAAoBpD,EAAEzd,GAAKu8L,EAASC,GAC7BA,IACL,KCNJ37K,oBAAoBnN,EAAK6oL,GAEjB,aAAeA,EAAU,IAAM,CAAC,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,YAAYA,GAAW,YCFxH17K,oBAAoB47K,SAAYF,IAEf,ECHjB17K,oBAAoBld,EAAI,WACvB,GAA0B,kBAAfyb,WAAyB,OAAOA,WAC3C,IACC,OAAO5sB,MAAQ,IAAIuqE,SAAS,cAAb,EAChB,CAAE,MAAO3/C,GACR,GAAsB,kBAAXjF,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxB0I,oBAAoBsQ,EAAI,CAACv3B,EAAKg0B,IAAUt6B,OAAOZ,UAAUggB,eAAelf,KAAKoG,EAAKg0B,SCAlF,IAAI8uK,EAAa,CAAC,EACdC,EAAoB,UAExB97K,oBAAoBzP,EAAI,CAACnK,EAAK63K,EAAM9+K,EAAKu8L,KACxC,GAAGG,EAAWz1L,GAAQy1L,EAAWz1L,GAAKjP,KAAK8mL,OAA3C,CACA,IAAI8d,EAAQC,EACZ,QAAWpnM,IAARuK,EAEF,IADA,IAAIovH,EAAUh3G,SAASq/F,qBAAqB,UACpCrkH,EAAI,EAAGA,EAAIg8H,EAAQj8H,OAAQC,IAAK,CACvC,IAAIqgB,EAAI27G,EAAQh8H,GAChB,GAAGqgB,EAAE+iD,aAAa,QAAUvvD,GAAOwM,EAAE+iD,aAAa,iBAAmBmmI,EAAoB38L,EAAK,CAAE48L,EAASnpL,EAAG,KAAO,CACpH,CAEGmpL,IACHC,GAAa,GACbD,EAASxkL,SAAS8F,cAAc,WAEzBu6C,QAAU,QACjBmkI,EAAOE,QAAU,IACbj8K,oBAAoBywD,IACvBsrH,EAAOplF,aAAa,QAAS32F,oBAAoBywD,IAElDsrH,EAAOplF,aAAa,eAAgBmlF,EAAoB38L,GAExD48L,EAAOp/H,IAAMv2D,GAEdy1L,EAAWz1L,GAAO,CAAC63K,GACnB,IAAIie,EAAmB,CAACl6K,EAAM0pF,KAE7BqwF,EAAO5/K,QAAU4/K,EAAO9/K,OAAS,KACjCqtD,aAAa2yH,GACb,IAAIE,EAAUN,EAAWz1L,GAIzB,UAHOy1L,EAAWz1L,GAClB21L,EAAOx9H,YAAcw9H,EAAOx9H,WAAWiG,YAAYu3H,GACnDI,GAAWA,EAAQj9L,SAAShG,GAAQA,EAAGwyG,KACpC1pF,EAAM,OAAOA,EAAK0pF,EAAM,EAExBuwF,EAAUr+K,WAAWs+K,EAAiB3sJ,KAAK,UAAM36C,EAAW,CAAEK,KAAM,UAAWid,OAAQ6pL,IAAW,MACtGA,EAAO5/K,QAAU+/K,EAAiB3sJ,KAAK,KAAMwsJ,EAAO5/K,SACpD4/K,EAAO9/K,OAASigL,EAAiB3sJ,KAAK,KAAMwsJ,EAAO9/K,QACnD+/K,GAAczkL,SAASsK,KAAK6hD,YAAYq4H,EApCkB,CAoCX,MCvChD/7K,oBAAoBhd,EAAKoU,IACH,qBAAX4vE,QAA0BA,OAAOgP,aAC1CvjG,OAAOysB,eAAe9H,EAAS4vE,OAAOgP,YAAa,CAAEt7F,MAAO,WAE7DjI,OAAOysB,eAAe9H,EAAS,aAAc,CAAE1c,OAAO,GAAO,ECL9DslB,oBAAoBhQ,EAAI,UCKxB,IAAIosL,EAAkB,CACrB,IAAK,GAGNp8K,oBAAoBpD,EAAEhqB,EAAI,CAAC8oM,EAASC,KAElC,IAAIU,EAAqBr8K,oBAAoBsQ,EAAE8rK,EAAiBV,GAAWU,EAAgBV,QAAW9mM,EACtG,GAA0B,IAAvBynM,EAGF,GAAGA,EACFV,EAASxkM,KAAKklM,EAAmB,QAC3B,CAGL,IAAIC,EAAU,IAAIvvI,SAAQ,CAAC4U,EAASE,IAAYw6H,EAAqBD,EAAgBV,GAAW,CAAC/5H,EAASE,KAC1G85H,EAASxkM,KAAKklM,EAAmB,GAAKC,GAGtC,IAAIl2L,EAAM4Z,oBAAoBhQ,EAAIgQ,oBAAoBnN,EAAE6oL,GAEpDt/K,EAAQ,IAAItqB,MAgBhBkuB,oBAAoBzP,EAAEnK,GAfFslG,IACnB,GAAG1rF,oBAAoBsQ,EAAE8rK,EAAiBV,KAEf,KAD1BW,EAAqBD,EAAgBV,MACRU,EAAgBV,QAAW9mM,GACrDynM,GAAoB,CACtB,IAAIE,EAAY7wF,IAAyB,SAAfA,EAAMz2G,KAAkB,UAAYy2G,EAAMz2G,MAChEunM,EAAU9wF,GAASA,EAAMx5F,QAAUw5F,EAAMx5F,OAAOyqD,IACpDvgD,EAAM1qB,QAAU,iBAAmBgqM,EAAU,cAAgBa,EAAY,KAAOC,EAAU,IAC1FpgL,EAAMxqB,KAAO,iBACbwqB,EAAMnnB,KAAOsnM,EACbngL,EAAMqgL,QAAUD,EAChBH,EAAmB,GAAGjgL,EACvB,CACD,GAEwC,SAAWs/K,EAASA,EAE/D,CACD,EAcF,IAAIgB,EAAuB,CAACC,EAA4B3lM,KACvD,IAKI4jC,EAAU8gK,EALVkB,EAAW5lM,EAAK,GAChB6lM,EAAc7lM,EAAK,GACnB8lM,EAAU9lM,EAAK,GAGIzE,EAAI,EAC3B,GAAGqqM,EAASG,MAAMntK,GAAgC,IAAxBwsK,EAAgBxsK,KAAa,CACtD,IAAIgL,KAAYiiK,EACZ78K,oBAAoBsQ,EAAEusK,EAAajiK,KACrC5a,oBAAoBzoB,EAAEqjC,GAAYiiK,EAAYjiK,IAGhD,GAAGkiK,EAAsBA,EAAQ98K,oBAClC,CAEA,IADG28K,GAA4BA,EAA2B3lM,GACrDzE,EAAIqqM,EAAStqM,OAAQC,IACzBmpM,EAAUkB,EAASrqM,GAChBytB,oBAAoBsQ,EAAE8rK,EAAiBV,IAAYU,EAAgBV,IACrEU,EAAgBV,GAAS,KAE1BU,EAAgBV,GAAW,CAC5B,EAIGsB,EAAqB9kM,KAAyB,mBAAIA,KAAyB,oBAAK,GACpF8kM,EAAmB99L,QAAQw9L,EAAqBntJ,KAAK,KAAM,IAC3DytJ,EAAmB7lM,KAAOulM,EAAqBntJ,KAAK,KAAMytJ,EAAmB7lM,KAAKo4C,KAAKytJ,QCvFvFh9K,oBAAoBywD,QAAK77E,4GCkBrBqoM,6BAAoB,YAiGxB,SAASC,IAcP,OAAOC,GAbP,SAA+BC,EAASC,GACtC,IAAI,SAAEvxF,EAAQ,OAAE+pE,EAAM,KAAEhjL,GAASuqM,EAAQ1/K,SACzC,OAAO4/K,EACL,GACA,CAAExxF,WAAU+pE,SAAQhjL,QAEpBwqM,EAAc3zL,OAAS2zL,EAAc3zL,MAAM6zL,KAAO,KAClDF,EAAc3zL,OAAS2zL,EAAc3zL,MAAMvK,KAAO,UAEtD,IACA,SAA2Bi+L,EAASxqK,GAClC,MAAqB,kBAAPA,EAAkBA,EAAK0iI,EAAW1iI,EAClD,GAIE,KAjBiCvgC,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAoBzC,CA4CA,SAASmrM,EAAU9iM,EAAOhJ,GACxB,IAAc,IAAVgJ,GAA6B,OAAVA,GAAmC,qBAAVA,EAC9C,MAAM,IAAI5I,MAAMJ,EAEpB,CACA,SAAS+rM,EAAQC,EAAMhsM,GACrB,IAAKgsM,EAAM,CACc,qBAAZ/hL,SAAyBA,QAAQC,KAAKlqB,GACjD,IACE,MAAM,IAAII,MAAMJ,EAClB,CAAE,MAAO6qB,GACT,CACF,CACF,CAIA,SAASohL,EAAgBjgL,EAAUjjB,GACjC,MAAO,CACL8iM,IAAK7/K,EAAShU,MACdvK,IAAKue,EAASve,IACdW,IAAKrF,EAET,CACA,SAAS6iM,EAAepxK,EAAS0G,GAAuB,IAAnBlpB,EAAKrX,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,KAAM8M,EAAG9M,UAAAC,OAAA,EAAAD,UAAA,QAAAuC,EAapD,MAZe,CACbk3G,SAA6B,kBAAZ5/E,EAAuBA,EAAUA,EAAQ4/E,SAC1D+pE,OAAQ,GACRhjL,KAAM,MACW,kBAAP+/B,EAAkBgrK,EAAUhrK,GAAMA,EAC5ClpB,QAKAvK,IAAKyzB,GAAMA,EAAGzzB,KAAOA,GApBhBpJ,KAAK3D,SAASM,SAAS,IAAIkK,UAAU,EAAG,IAuBjD,CACA,SAAS04J,EAAUp3D,GAIhB,IAJiB,SAClB4N,EAAW,IAAG,OACd+pE,EAAS,GAAE,KACXhjL,EAAO,IACRqrG,EAKC,OAJI23E,GAAqB,MAAXA,IACZ/pE,GAAiC,MAArB+pE,EAAOlgL,OAAO,GAAakgL,EAAS,IAAMA,GACpDhjL,GAAiB,MAATA,IACVi5G,GAA+B,MAAnBj5G,EAAK8C,OAAO,GAAa9C,EAAO,IAAMA,GAC7Ci5G,CACT,CACA,SAAS8xF,EAAUr3L,GACjB,IAAIs3L,EAAa,CAAC,EAClB,GAAIt3L,EAAM,CACR,IAAIu3L,EAAYv3L,EAAKhN,QAAQ,KACzBukM,GAAa,IACfD,EAAWhrM,KAAO0T,EAAK3J,UAAUkhM,GACjCv3L,EAAOA,EAAK3J,UAAU,EAAGkhM,IAE3B,IAAIC,EAAcx3L,EAAKhN,QAAQ,KAC3BwkM,GAAe,IACjBF,EAAWhoB,OAAStvK,EAAK3J,UAAUmhM,GACnCx3L,EAAOA,EAAK3J,UAAU,EAAGmhM,IAEvBx3L,IACFs3L,EAAW/xF,SAAWvlG,EAE1B,CACA,OAAOs3L,CACT,CACA,SAASV,EAAmBa,EAAaC,EAAaC,GAAgC,IAAd7qM,EAAOhB,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,GAC3EilB,OAAQ8lL,EAAU7lL,SAASm/J,YAAW,SAAEynB,GAAW,GAAU9qM,EAC/DgqM,EAAgBD,EAAQgB,QACxB1/F,EAAS,MACTzB,EAAW,KACXxiG,EAAQ4jM,IAKZ,SAASA,IAEP,OADYhB,EAAc3zL,OAAS,CAAE5J,IAAK,OAC7BA,GACf,CACA,SAASw+L,IACP5/F,EAAS,MACT,IAAIq3B,EAAYsoE,IACZprE,EAAqB,MAAb8C,EAAoB,KAAOA,EAAYt7H,EACnDA,EAAQs7H,EACJ94B,GACFA,EAAS,CAAEyB,SAAQhhF,SAAU0gL,EAAQ1gL,SAAUu1G,SAEnD,CAgCA,SAASsrE,EAAU3rK,GACjB,IAAIm7I,EAAmC,SAA5BqvB,EAAQ1/K,SAASD,OAAoB2/K,EAAQ1/K,SAASD,OAAS2/K,EAAQ1/K,SAASF,KACvFA,EAAqB,kBAAPoV,EAAkBA,EAAK0iI,EAAW1iI,GAMpD,OALApV,EAAOA,EAAKpf,QAAQ,KAAM,OAC1Bo/L,EACEzvB,EACC,sEAAqEvwJ,KAEjE,IAAIL,IAAIK,EAAMuwJ,EACvB,CAzDa,MAATtzK,IACFA,EAAQ,EACR4iM,EAAcmB,aAAa,IAAKnB,EAAc3zL,MAAO5J,IAAKrF,GAAS,KAwDrE,IAAI2jM,EAAU,CACZ,UAAI1/F,GACF,OAAOA,CACT,EACA,YAAIhhF,GACF,OAAOsgL,EAAYZ,EAASC,EAC9B,EACAoB,MAAAA,CAAOvlM,GACL,GAAI+jG,EACF,MAAM,IAAInrG,MAAM,8CAIlB,OAFAsrM,EAAQz5H,iBAAiBs5H,EAAmBqB,GAC5CrhG,EAAW/jG,EACJ,KACLkkM,EAAQjgG,oBAAoB8/F,EAAmBqB,GAC/CrhG,EAAW,IAAI,CAEnB,EACAyhG,WAAW9rK,GACFqrK,EAAYb,EAASxqK,GAE9B2rK,YACAI,cAAAA,CAAe/rK,GACb,IAAIxsB,EAAMm4L,EAAU3rK,GACpB,MAAO,CACLk5E,SAAU1lG,EAAI0lG,SACd+pE,OAAQzvK,EAAIyvK,OACZhjL,KAAMuT,EAAIvT,KAEd,EACAsE,KAvEF,SAAcy7B,EAAIlpB,GAChBg1F,EAAS,OACT,IAAIhhF,EAAW4/K,EAAec,EAAQ1gL,SAAUkV,EAAIlpB,GAChDw0L,GAAkBA,EAAiBxgL,EAAUkV,GACjDn4B,EAAQ4jM,IAAa,EACrB,IAAIO,EAAejB,EAAgBjgL,EAAUjjB,GACzC2L,EAAMg4L,EAAQM,WAAWhhL,GAC7B,IACE2/K,EAAcwB,UAAUD,EAAc,GAAIx4L,EAC5C,CAAE,MAAOgW,GACP,GAAIA,aAAiB0iL,cAA+B,mBAAf1iL,EAAMxqB,KACzC,MAAMwqB,EAERghL,EAAQ1/K,SAAS0O,OAAOhmB,EAC1B,CACI+3L,GAAYlhG,GACdA,EAAS,CAAEyB,SAAQhhF,SAAU0gL,EAAQ1gL,SAAUu1G,MAAO,GAE1D,EAsDE70H,QArDF,SAAkBw0B,EAAIlpB,GACpBg1F,EAAS,UACT,IAAIhhF,EAAW4/K,EAAec,EAAQ1gL,SAAUkV,EAAIlpB,GAChDw0L,GAAkBA,EAAiBxgL,EAAUkV,GACjDn4B,EAAQ4jM,IACR,IAAIO,EAAejB,EAAgBjgL,EAAUjjB,GACzC2L,EAAMg4L,EAAQM,WAAWhhL,GAC7B2/K,EAAcmB,aAAaI,EAAc,GAAIx4L,GACzC+3L,GAAYlhG,GACdA,EAAS,CAAEyB,SAAQhhF,SAAU0gL,EAAQ1gL,SAAUu1G,MAAO,GAE1D,EA2CE8rE,GAAGznM,GACM+lM,EAAc0B,GAAGznM,IAG5B,OAAO8mM,CACT,CAsDA,SAASY,EAAYC,EAAQC,GAC3B,OAAOC,EAAgBF,EAAQC,EADiB7sM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,KACG,EACxD,CACA,SAAS8sM,EAAgBF,EAAQC,EAAaE,EAAUC,GACtD,IACIvzF,EAAWwzF,GADuB,kBAAhBJ,EAA2BtB,EAAUsB,GAAeA,GACpCpzF,UAAY,IAAKszF,GACvD,GAAgB,MAAZtzF,EACF,OAAO,KAET,IAAIyzF,EAAWC,EAAcP,IA4F/B,SAA2BM,GACzBA,EAAS3oM,MACP,CAACse,EAAGC,IAAMD,EAAEuqL,QAAUtqL,EAAEsqL,MAAQtqL,EAAEsqL,MAAQvqL,EAAEuqL,MA2BhD,SAAwBvqL,EAAGC,GACzB,IAAIuqL,EAAWxqL,EAAE5iB,SAAW6iB,EAAE7iB,QAAU4iB,EAAEljB,MAAM,GAAI,GAAG6lM,OAAM,CAACvgM,EAAG/E,IAAM+E,IAAM6d,EAAE5iB,KAC/E,OAAOmtM,EAKLxqL,EAAEA,EAAE5iB,OAAS,GAAK6iB,EAAEA,EAAE7iB,OAAS,GAI/B,CAEJ,CAxCwDqtM,CAClDzqL,EAAE0qL,WAAWtnM,KAAK41K,GAASA,EAAK2xB,gBAChC1qL,EAAEyqL,WAAWtnM,KAAK41K,GAASA,EAAK2xB,kBAGtC,CAlGEC,CAAkBP,GAClB,IAAIxG,EAAU,KACd,IAAK,IAAIxmM,EAAI,EAAc,MAAXwmM,GAAmBxmM,EAAIgtM,EAASjtM,SAAUC,EAAG,CAC3D,IAAIwtM,EAAUC,EAAWl0F,GACzBitF,EAAUkH,EACRV,EAAShtM,GACTwtM,EACAV,EAEJ,CACA,OAAOtG,CACT,CAWA,SAASyG,EAAcP,GAA0D,IAAlDM,EAAQltM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,GAAI6tM,EAAW7tM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,GAAI8tM,EAAU9tM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,GACvE+tM,EAAeA,CAACC,EAAO5lM,EAAO6lM,KAChC,IAAIpyB,EAAO,CACToyB,kBAA+B,IAAjBA,EAA0BD,EAAM95L,MAAQ,GAAK+5L,EAC3DC,eAAuC,IAAxBF,EAAME,cACrBV,cAAeplM,EACf4lM,SAEEnyB,EAAKoyB,aAAaE,WAAW,OAC/BhD,EACEtvB,EAAKoyB,aAAaE,WAAWL,GAC5B,wBAAuBjyB,EAAKoyB,oCAAoCH,6GAEnEjyB,EAAKoyB,aAAepyB,EAAKoyB,aAAatuM,MAAMmuM,EAAW7tM,SAEzD,IAAIiU,EAAOk6L,EAAU,CAACN,EAAYjyB,EAAKoyB,eACnCV,EAAaM,EAAYrhM,OAAOqvK,GAChCmyB,EAAM55H,UAAY45H,EAAM55H,SAASn0E,OAAS,IAC5CkrM,GAGkB,IAAhB6C,EAAM5lM,MACL,4FAA2F8L,OAE9Fi5L,EAAca,EAAM55H,SAAU84H,EAAUK,EAAYr5L,KAEpC,MAAd85L,EAAM95L,MAAiB85L,EAAM5lM,QAGjC8kM,EAASpoM,KAAK,CACZoP,OACAk5L,MAAOiB,EAAan6L,EAAM85L,EAAM5lM,OAChCmlM,cACA,EAWJ,OATAX,EAAO//L,SAAQ,CAACmhM,EAAO5lM,KACrB,GAAmB,KAAf4lM,EAAM95L,MAAgB85L,EAAM95L,MAAM8B,SAAS,KAG7C,IAAK,IAAIs4L,KAAYC,EAAwBP,EAAM95L,MACjD65L,EAAaC,EAAO5lM,EAAOkmM,QAH7BP,EAAaC,EAAO5lM,EAKtB,IAEK8kM,CACT,CACA,SAASqB,EAAwBr6L,GAC/B,IAAIy1F,EAAWz1F,EAAK5G,MAAM,KAC1B,GAAwB,IAApBq8F,EAAS1pG,OAAc,MAAO,GAClC,IAAKgM,KAAUm8F,GAAQuB,EACnB6kG,EAAaviM,EAAMwiM,SAAS,KAC5BC,EAAWziM,EAAMF,QAAQ,MAAO,IACpC,GAAoB,IAAhBq8F,EAAKnoG,OACP,OAAOuuM,EAAa,CAACE,EAAU,IAAM,CAACA,GAExC,IAAIC,EAAeJ,EAAwBnmG,EAAK7iG,KAAK,MACjD4B,EAAS,GASb,OARAA,EAAOrC,QACF6pM,EAAa1oM,KACb2oM,GAAwB,KAAZA,EAAiBF,EAAW,CAACA,EAAUE,GAASrpM,KAAK,QAGlEipM,GACFrnM,EAAOrC,QAAQ6pM,GAEVxnM,EAAOlB,KACXqoM,GAAap6L,EAAKi6L,WAAW,MAAqB,KAAbG,EAAkB,IAAMA,GAElE,CASA,IAAIO,EAAU,YACVC,EAAsB,EACtBC,EAAkB,EAClBC,EAAoB,EACpBC,EAAqB,GACrBC,GAAgB,EAChBC,EAAW5uL,GAAY,MAANA,EACrB,SAAS8tL,EAAan6L,EAAM9L,GAC1B,IAAIuhG,EAAWz1F,EAAK5G,MAAM,KACtB8hM,EAAezlG,EAAS1pG,OAO5B,OANI0pG,EAAS+gG,KAAKyE,KAChBC,GAAgBF,GAEd9mM,IACFgnM,GAAgBL,GAEXplG,EAAS3kG,QAAQub,IAAO4uL,EAAQ5uL,KAAIvG,QACzC,CAACozL,EAAO3sF,IAAY2sF,GAASyB,EAAQ1tM,KAAKs/G,GAAWquF,EAAkC,KAAZruF,EAAiBuuF,EAAoBC,IAChHG,EAEJ,CAeA,SAASxB,EAAiByB,EAAQ51F,GAAgC,IAAtBuzF,EAAYhtM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,IAAAA,UAAA,IAClD,WAAEutM,GAAe8B,EACjBC,EAAgB,CAAC,EACjBC,EAAkB,IAClB7I,EAAU,GACd,IAAK,IAAIxmM,EAAI,EAAGA,EAAIqtM,EAAWttM,SAAUC,EAAG,CAC1C,IAAI27K,EAAO0xB,EAAWrtM,GAClBiI,EAAMjI,IAAMqtM,EAAWttM,OAAS,EAChCuvM,EAAwC,MAApBD,EAA0B91F,EAAWA,EAAS95G,MAAM4vM,EAAgBtvM,SAAW,IACnGwW,EAAQg5L,EACV,CAAEv7L,KAAM2nK,EAAKoyB,aAAcC,cAAeryB,EAAKqyB,cAAe/lM,OAC9DqnM,GAEExB,EAAQnyB,EAAKmyB,MAWjB,IAVKv3L,GAAStO,GAAO6kM,IAAiBO,EAAWA,EAAWttM,OAAS,GAAG+tM,MAAM5lM,QAC5EqO,EAAQg5L,EACN,CACEv7L,KAAM2nK,EAAKoyB,aACXC,cAAeryB,EAAKqyB,cACpB/lM,KAAK,GAEPqnM,KAGC/4L,EACH,OAAO,KAETrW,OAAO25B,OAAOu1K,EAAe74L,EAAMnP,QACnCo/L,EAAQ5hM,KAAK,CAEXwC,OAAQgoM,EACR71F,SAAU20F,EAAU,CAACmB,EAAiB94L,EAAMgjG,WAC5Ci2F,aAAcC,EACZvB,EAAU,CAACmB,EAAiB94L,EAAMi5L,gBAEpC1B,UAEyB,MAAvBv3L,EAAMi5L,eACRH,EAAkBnB,EAAU,CAACmB,EAAiB94L,EAAMi5L,eAExD,CACA,OAAOhJ,CACT,CA6BA,SAAS+I,EAAU3oG,EAAS2S,GACH,kBAAZ3S,IACTA,EAAU,CAAE5yF,KAAM4yF,EAASonG,eAAe,EAAO/lM,KAAK,IAExD,IAAKynM,EAASC,GAiChB,SAAqB37L,GAAyC,IAAnCg6L,EAAaluM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,IAAAA,UAAA,GAAUmI,IAAGnI,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,KAAAA,UAAA,GACnDorM,EACW,MAATl3L,IAAiBA,EAAKu6L,SAAS,MAAQv6L,EAAKu6L,SAAS,MACpD,eAAcv6L,qCAAwCA,EAAKnI,QAAQ,MAAO,8IAA8ImI,EAAKnI,QAAQ,MAAO,WAE/O,IAAIzE,EAAS,GACTwoM,EAAe,IAAM57L,EAAKnI,QAAQ,UAAW,IAAIA,QAAQ,OAAQ,KAAKA,QAAQ,qBAAsB,QAAQA,QAC9G,qBACA,CAACrD,EAAGqnM,EAAWvB,KACblnM,EAAOxC,KAAK,CAAEirM,YAAWvB,WAA0B,MAAdA,IAC9BA,EAAa,eAAiB,gBAGrCt6L,EAAKu6L,SAAS,MAChBnnM,EAAOxC,KAAK,CAAEirM,UAAW,MACzBD,GAAyB,MAAT57L,GAAyB,OAATA,EAAgB,QAAU,qBACjD/L,EACT2nM,GAAgB,QACE,KAAT57L,GAAwB,MAATA,IACxB47L,GAAgB,iBAGlB,IAAIF,EAAU,IAAI7pL,OAAO+pL,EAAc5B,OAAgB,EAAS,KAChE,MAAO,CAAC0B,EAAStoM,EACnB,CAzDkC0oM,CAC9BlpG,EAAQ5yF,KACR4yF,EAAQonG,cACRpnG,EAAQ3+F,KAENsO,EAAQgjG,EAAShjG,MAAMm5L,GAC3B,IAAKn5L,EAAO,OAAO,KACnB,IAAI84L,EAAkB94L,EAAM,GACxBi5L,EAAeH,EAAgBxjM,QAAQ,UAAW,MAClDkkM,EAAgBx5L,EAAM9W,MAAM,GAiBhC,MAAO,CACL2H,OAjBWuoM,EAAe71L,QAC1B,CAACk2L,EAAK5jG,EAA6BlkG,KAAU,IAArC,UAAE2nM,EAAS,WAAEvB,GAAYliG,EAC/B,GAAkB,MAAdyjG,EAAmB,CACrB,IAAII,EAAaF,EAAc7nM,IAAU,GACzCsnM,EAAeH,EAAgB5vM,MAAM,EAAG4vM,EAAgBtvM,OAASkwM,EAAWlwM,QAAQ8L,QAAQ,UAAW,KACzG,CACA,MAAM1D,EAAQ4nM,EAAc7nM,GAM5B,OAJE8nM,EAAMH,GADJvB,IAAenmM,OACE,GAECA,GAAS,IAAI0D,QAAQ,OAAQ,KAE5CmkM,CAAK,GAEd,CAAC,GAIDz2F,SAAU81F,EACVG,eACA5oG,UAEJ,CA0BA,SAAS6mG,EAAWtlM,GAClB,IACE,OAAOA,EAAMiF,MAAM,KAAKrH,KAAKwa,GAAMq7G,mBAAmBr7G,GAAG1U,QAAQ,MAAO,SAAQxG,KAAK,IACvF,CAAE,MAAOwkB,GAKP,OAJAqhL,GACE,EACC,iBAAgB/iM,qHAAyH0hB,OAErI1hB,CACT,CACF,CACA,SAAS4kM,EAAcxzF,EAAUszF,GAC/B,GAAiB,MAAbA,EAAkB,OAAOtzF,EAC7B,IAAKA,EAAS32G,cAAcqrM,WAAWpB,EAASjqM,eAC9C,OAAO,KAET,IAAIg+L,EAAaiM,EAAS0B,SAAS,KAAO1B,EAAS9sM,OAAS,EAAI8sM,EAAS9sM,OACrEmwM,EAAW32F,EAASn2G,OAAOw9L,GAC/B,OAAIsP,GAAyB,MAAbA,EACP,KAEF32F,EAAS95G,MAAMmhM,IAAe,GACvC,CA0BA,SAASuP,EAAoB/pB,EAAMrgJ,EAAOqqK,EAAMp8L,GAC9C,MAAQ,qBAAoBoyK,6CAAgDrgJ,cAAkBz+B,KAAKE,UACjGwM,4CACyCo8L,6HAC7C,CACA,SAASC,EAA2B7J,GAClC,OAAOA,EAAQ1hM,QACb,CAACyR,EAAOrO,IAAoB,IAAVA,GAAeqO,EAAMu3L,MAAM95L,MAAQuC,EAAMu3L,MAAM95L,KAAKjU,OAAS,GAEnF,CACA,SAASuwM,EAAoB9J,GAC3B,IAAI+J,EAAcF,EAA2B7J,GAC7C,OAAO+J,EAAYxqM,KACjB,CAACwQ,EAAOhJ,IAAQA,IAAQgjM,EAAYxwM,OAAS,EAAIwW,EAAMgjG,SAAWhjG,EAAMi5L,cAE5E,CACA,SAASgB,EAAUC,EAAOC,EAAgBC,GAA0C,IAC9EtwK,EADsDuwK,EAAc9wM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,IAAAA,UAAA,GAEnD,kBAAV2wM,EACTpwK,EAAKgrK,EAAUoF,IAEfpwK,EAAK,IAAKowK,GACVxF,GACG5qK,EAAGk5E,WAAal5E,EAAGk5E,SAASzjG,SAAS,KACtCq6L,EAAoB,IAAK,WAAY,SAAU9vK,IAEjD4qK,GACG5qK,EAAGk5E,WAAal5E,EAAGk5E,SAASzjG,SAAS,KACtCq6L,EAAoB,IAAK,WAAY,OAAQ9vK,IAE/C4qK,GACG5qK,EAAGijJ,SAAWjjJ,EAAGijJ,OAAOxtK,SAAS,KAClCq6L,EAAoB,IAAK,SAAU,OAAQ9vK,KAG/C,IAEIl6B,EAFA0qM,EAAwB,KAAVJ,GAAgC,KAAhBpwK,EAAGk5E,SACjCu3F,EAAaD,EAAc,IAAMxwK,EAAGk5E,SAExC,GAAkB,MAAdu3F,EACF3qM,EAAOwqM,MACF,CACL,IAAII,EAAqBL,EAAe3wM,OAAS,EACjD,IAAK6wM,GAAkBE,EAAW7C,WAAW,MAAO,CAClD,IAAI+C,EAAaF,EAAW1jM,MAAM,KAClC,KAAyB,OAAlB4jM,EAAW,IAChBA,EAAWzjK,QACXwjK,GAAsB,EAExB1wK,EAAGk5E,SAAWy3F,EAAW3rM,KAAK,IAChC,CACAc,EAAO4qM,GAAsB,EAAIL,EAAeK,GAAsB,GACxE,CACA,IAAI/8L,EA7EN,SAAqBqsB,GAAwB,IAApB4wK,EAAYnxM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,KAEpCy5G,SAAUu3F,EAAU,OACpBxtB,EAAS,GAAE,KACXhjL,EAAO,IACS,kBAAP+/B,EAAkBgrK,EAAUhrK,GAAMA,EACzCk5E,EAAWu3F,EAAaA,EAAW7C,WAAW,KAAO6C,EAO3D,SAAyB/C,EAAckD,GACrC,IAAIxnG,EAAWwnG,EAAaplM,QAAQ,OAAQ,IAAIuB,MAAM,KAStD,OARuB2gM,EAAa3gM,MAAM,KACzBT,SAAS4zG,IACR,OAAZA,EACE9W,EAAS1pG,OAAS,GAAG0pG,EAAS9+C,MACb,MAAZ41D,GACT9W,EAAS7kG,KAAK27G,EAChB,IAEK9W,EAAS1pG,OAAS,EAAI0pG,EAASpkG,KAAK,KAAO,GACpD,CAlBwE6rM,CAAgBJ,EAAYG,GAAgBA,EAClH,MAAO,CACL13F,WACA+pE,OAAQ6tB,EAAgB7tB,GACxBhjL,KAAM8wM,EAAc9wM,GAExB,CAiEa+wM,CAAYhxK,EAAIl6B,GACvBmrM,EAA2BR,GAA6B,MAAfA,GAAsBA,EAAWvC,SAAS,KACnFgD,GAA2BV,GAA8B,MAAfC,IAAuBH,EAAiBpC,SAAS,KAI/F,OAHKv6L,EAAKulG,SAASg1F,SAAS,OAAS+C,IAA4BC,IAC/Dv9L,EAAKulG,UAAY,KAEZvlG,CACT,CACA,IAAIk6L,EAAa35E,GAAUA,EAAMlvH,KAAK,KAAKwG,QAAQ,SAAU,KACzD4jM,EAAqBl2F,GAAaA,EAAS1tG,QAAQ,OAAQ,IAAIA,QAAQ,OAAQ,KAC/EslM,EAAmB7tB,GAAYA,GAAqB,MAAXA,EAAsBA,EAAO2qB,WAAW,KAAO3qB,EAAS,IAAMA,EAA7C,GAC1D8tB,EAAiB9wM,GAAUA,GAAiB,MAATA,EAAoBA,EAAK2tM,WAAW,KAAO3tM,EAAO,IAAMA,EAAzC,GAmDtD,SAASkxM,EAAqB3nL,GAC5B,OAAgB,MAATA,GAAyC,kBAAjBA,EAAME,QAAmD,kBAArBF,EAAM4nL,YAAqD,mBAAnB5nL,EAAMoG,UAA0B,SAAUpG,CACvJ,CAGA,IAAI6nL,EAA0B,CAC5B,OACA,MACA,QACA,UAKEC,GAHuB,IAAI36B,IAC7B06B,GAE2B,CAC3B,SACGA,IAEqB,IAAI16B,IAAI26B,GAkCNl9G,OAAO,mBA8jGnC,IAAIm9G,EAAoBrpG,EAAAA,cAAoB,MAC5CqpG,EAAkB95H,YAAc,aAChC,IAAI+5H,EAAyBtpG,EAAAA,cAAoB,MACjDspG,EAAuB/5H,YAAc,kBACrC,IAAIg6H,EAAwBvpG,EAAAA,cAAoB,CAC9CwpG,iBAAiB,IAEnBD,EAAsBh6H,YAAc,iBACpC,IAAIk6H,EAAkBzpG,EAAAA,cACJ,IAAI1iE,KAEtBmsK,EAAgBl6H,YAAc,WAC9B,IAAIm6H,EAAe1pG,EAAAA,cAAoB,MACvC0pG,EAAan6H,YAAc,QAC3B,IAAIo6H,EAAoB3pG,EAAAA,cACtB,MAEF2pG,EAAkBp6H,YAAc,aAChC,IAAIq6H,EAAkB5pG,EAAAA,cACpB,MAEF4pG,EAAgBr6H,YAAc,WAC9B,IAAIs6H,EAAe7pG,EAAAA,cAAoB,CACrC8pG,OAAQ,KACR7L,QAAS,GACT8L,aAAa,IAEfF,EAAat6H,YAAc,QAC3B,IAAIy6H,EAAoBhqG,EAAAA,cAAoB,MAC5CgqG,EAAkBz6H,YAAc,aAIhC,IAAI06H,GAAsB,EAgB1B,SAASC,IACP,OAA6C,MAAtCC,EAAAA,WAAkBP,EAC3B,CACA,SAASQ,IAOP,OANA1H,EACEwH,IAGC,0EAEIC,EAAAA,WAAkBP,GAAiBhnL,QAC5C,CAiBA,IAAIynL,EAAyB,gGAC7B,SAASC,EAA0B/uH,GAClB4uH,EAAAA,WAAkBR,GAAmBY,QAElDJ,EAAAA,gBAAuB5uH,EAE3B,CACA,SAASivH,IACP,IAAI,YAAET,GAAgBI,EAAAA,WAAkBN,GACxC,OAAOE,EA0eT,WACE,IAAI,OAAEU,GAAWC,GAAqB,eAClC51K,EAAK61K,GAAkB,eACvBC,EAAYT,EAAAA,QAAc,GAC9BG,GAA0B,KACxBM,EAAUx5K,SAAU,CAAI,IAE1B,IAAIy5K,EAAWV,EAAAA,aACbvgI,eAAO9xC,GAAqB,IAAjBv/B,EAAOhB,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpBorM,EAAQiI,EAAUx5K,QAASi5K,GACtBO,EAAUx5K,UACG,kBAAP0G,EACT2yK,EAAOI,SAAS/yK,SAEV2yK,EAAOI,SAAS/yK,EAAI,CAAEgzK,YAAah2K,KAAOv8B,IAEpD,GACA,CAACkyM,EAAQ31K,IAEX,OAAO+1K,CACT,CA9fuBE,GAEvB,WACErI,EACEwH,IAGC,0EAEH,IAAIc,EAAoBb,EAAAA,WAAkBd,IACtC,SAAE/E,EAAUtiL,UAAWipL,GAAed,EAAAA,WAAkBR,IACxD,QAAE1L,GAAYkM,EAAAA,WAAkBN,IAC9B74F,SAAUo3F,GAAqBgC,IACjCc,EAAqBnsM,KAAKE,UAAU8oM,EAAoB9J,IACxD2M,EAAYT,EAAAA,QAAc,GAC9BG,GAA0B,KACxBM,EAAUx5K,SAAU,CAAI,IAE1B,IAAIy5K,EAAWV,EAAAA,aACb,SAACryK,GAAqB,IAAjBv/B,EAAOhB,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEd,GADAorM,EAAQiI,EAAUx5K,QAASi5K,IACtBO,EAAUx5K,QAAS,OACxB,GAAkB,kBAAP0G,EAET,YADAmzK,EAAWhH,GAAGnsK,GAGhB,IAAIrsB,EAAOw8L,EACTnwK,EACA/4B,KAAKC,MAAMksM,GACX9C,EACqB,SAArB7vM,EAAQ4yM,UAEe,MAArBH,GAA0C,MAAb1G,IAC/B74L,EAAKulG,SAA6B,MAAlBvlG,EAAKulG,SAAmBszF,EAAWqB,EAAU,CAACrB,EAAU74L,EAAKulG,aAE5Ez4G,EAAQ+K,QAAU2nM,EAAW3nM,QAAU2nM,EAAW5uM,MACnDoP,EACAlT,EAAQqW,MACRrW,EAEJ,GACA,CACE+rM,EACA2G,EACAC,EACA9C,EACA4C,IAGJ,OAAOH,CACT,CAlD6CO,EAC7C,CAkDA,IAAIC,GAAgBlB,EAAAA,cAAqB,MAWzC,SAASmB,KACP,IAAI,QAAErN,GAAYkM,EAAAA,WAAkBN,GAChC0B,EAAatN,EAAQA,EAAQzmM,OAAS,GAC1C,OAAO+zM,EAAaA,EAAW1sM,OAAS,CAAC,CAC3C,CACA,SAAS2sM,GAAgB1zK,GAAuB,IAAnB,SAAEqzK,GAAU5zM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,GACvC,QAAE0mM,GAAYkM,EAAAA,WAAkBN,IAC9B74F,SAAUo3F,GAAqBgC,IACjCc,EAAqBnsM,KAAKE,UAAU8oM,EAAoB9J,IAC5D,OAAOkM,EAAAA,SACL,IAAMlC,EACJnwK,EACA/4B,KAAKC,MAAMksM,GACX9C,EACa,SAAb+C,IAEF,CAACrzK,EAAIozK,EAAoB9C,EAAkB+C,GAE/C,CAIA,SAASM,GAActH,EAAQC,EAAasH,EAAiBz5L,GAC3DywL,EACEwH,IAGC,wEAEH,IAAMloL,UAAWipL,GAAed,EAAAA,WAAkBR,IAC5C1L,QAAS0N,GAAkBxB,EAAAA,WAAkBN,GAC/C0B,EAAaI,EAAcA,EAAcn0M,OAAS,GAClDo0M,EAAeL,EAAaA,EAAW1sM,OAAS,CAAC,EACjDgtM,EAAiBN,EAAaA,EAAWv6F,SAAW,IACpD86F,EAAqBP,EAAaA,EAAWtE,aAAe,IAC5D8E,EAAcR,GAAcA,EAAWhG,MAC3C,GAAI0E,EAAqB,CACvB,IAAI5E,EAAa0G,GAAeA,EAAYtgM,MAAQ,GACpDugM,GACEH,GACCE,GAAe1G,EAAWW,SAAS,MAAQX,EAAWW,SAAS,MAC/D,oEAAmE6F,0BAAuCxG,oNAEzEA,uBAA+C,MAAfA,EAAqB,IAAO,GAAEA,WAEpG,CACA,IACIziL,EADAqpL,EAAsB7B,IAE1B,GAAIhG,EAAa,CACf,IAAI8H,EAA2C,kBAAhB9H,EAA2BtB,EAAUsB,GAAeA,EACnF1B,EACyB,MAAvBoJ,GAA8BI,EAAkBl7F,UAAU00F,WAAWoG,GACpE,2OAA0OA,oBAAqCI,EAAkBl7F,iDAEpSpuF,EAAWspL,CACb,MACEtpL,EAAWqpL,EAEb,IAAIj7F,EAAWpuF,EAASouF,UAAY,IAChC+1F,EAAoB/1F,EACxB,GAA2B,MAAvB86F,EAA4B,CAC9B,IAAIK,EAAiBL,EAAmBxoM,QAAQ,MAAO,IAAIuB,MAAM,KAEjEkiM,EAAoB,IADL/1F,EAAS1tG,QAAQ,MAAO,IAAIuB,MAAM,KACd3N,MAAMi1M,EAAe30M,QAAQsF,KAAK,IACvE,CACA,IAAImhM,EAAUiG,EAAYC,EAAQ,CAAEnzF,SAAU+1F,IAC1CkD,IACFtH,EACEoJ,GAA0B,MAAX9N,EACd,+BAA8Br7K,EAASouF,WAAWpuF,EAASm4J,SAASn4J,EAAS7qB,UAEhF4qM,EACa,MAAX1E,QAAiE,IAA9CA,EAAQA,EAAQzmM,OAAS,GAAG+tM,MAAM/6K,cAAsE,IAAhDyzK,EAAQA,EAAQzmM,OAAS,GAAG+tM,MAAMrM,gBAAmE,IAA3C+E,EAAQA,EAAQzmM,OAAS,GAAG+tM,MAAMnL,KACtK,mCAAkCx3K,EAASouF,WAAWpuF,EAASm4J,SAASn4J,EAAS7qB,oJAGtF,IAAIq0M,EAAkBC,GACpBpO,GAAWA,EAAQzgM,KAChBwQ,GAAUrW,OAAO25B,OAAO,CAAC,EAAGtjB,EAAO,CAClCnP,OAAQlH,OAAO25B,OAAO,CAAC,EAAGs6K,EAAc59L,EAAMnP,QAC9CmyG,SAAU20F,EAAU,CAClBmG,EAEAb,EAAWpH,eAAiBoH,EAAWpH,eAAe71L,EAAMgjG,UAAUA,SAAWhjG,EAAMgjG,WAEzFi2F,aAAqC,MAAvBj5L,EAAMi5L,aAAuB6E,EAAqBnG,EAAU,CACxEmG,EAEAb,EAAWpH,eAAiBoH,EAAWpH,eAAe71L,EAAMi5L,cAAcj2F,SAAWhjG,EAAMi5L,mBAIjG0E,EACAD,EACAz5L,GAEF,OAAImyL,GAAegI,EACMjC,EAAAA,cACrBP,EAAgBhQ,SAChB,CACEh6L,MAAO,CACLgjB,SAAU,CACRouF,SAAU,IACV+pE,OAAQ,GACRhjL,KAAM,GACN6W,MAAO,KACPvK,IAAK,aACFue,GAEL0pL,eAAgB,QAGpBF,GAGGA,CACT,CACA,SAASG,KACP,IAAIjrL,EAAQkrL,KACR51M,EAAUqyM,EAAqB3nL,GAAU,GAAEA,EAAME,UAAUF,EAAM4nL,aAAe5nL,aAAiBtqB,MAAQsqB,EAAM1qB,QAAUmI,KAAKE,UAAUqiB,GACxImoC,EAAQnoC,aAAiBtqB,MAAQsqB,EAAMmoC,MAAQ,KAC/Cja,EAAY,yBACZi9J,EAAY,CAAEngL,QAAS,SAAUF,gBAAiBojB,GAClDk9J,EAAa,CAAEpgL,QAAS,UAAWF,gBAAiBojB,GACpDm9J,EAAU,KAQd,OAPI1C,IACFppL,QAAQS,MACN,uDACAA,GAEFqrL,EAA0BxC,EAAAA,cAAqBA,EAAAA,SAAiB,KAAsBA,EAAAA,cAAqB,IAAK,KAAM,2CAAsDA,EAAAA,cAAqB,IAAK,KAAM,+FAAgHA,EAAAA,cAAqB,OAAQ,CAAEj+K,MAAOwgL,GAAc,iBAAkB,MAAO,IAAqBvC,EAAAA,cAAqB,OAAQ,CAAEj+K,MAAOwgL,GAAc,gBAAiB,0BAE9cvC,EAAAA,cAAqBA,EAAAA,SAAiB,KAAsBA,EAAAA,cAAqB,KAAM,KAAM,iCAAkDA,EAAAA,cAAqB,KAAM,CAAEj+K,MAAO,CAAEvB,UAAW,WAAc/zB,GAAU6yD,EAAwB0gJ,EAAAA,cAAqB,MAAO,CAAEj+K,MAAOugL,GAAahjJ,GAAS,KAAMkjJ,EAC1U,CACA,IAAIC,GAAsCzC,EAAAA,cAAqBoC,GAAuB,MAClFM,GAAsB,cAAc1C,EAAAA,UACtClzM,WAAAA,CAAYunG,GACVsuG,MAAMtuG,GACN3nG,KAAK+X,MAAQ,CACXgU,SAAU47E,EAAM57E,SAChBmqL,aAAcvuG,EAAMuuG,aACpBzrL,MAAOk9E,EAAMl9E,MAEjB,CACA,+BAAOwpK,CAAyBxpK,GAC9B,MAAO,CAAEA,QACX,CACA,+BAAO8oK,CAAyB5rF,EAAO5vF,GACrC,OAAIA,EAAMgU,WAAa47E,EAAM57E,UAAmC,SAAvBhU,EAAMm+L,cAAkD,SAAvBvuG,EAAMuuG,aACvE,CACLzrL,MAAOk9E,EAAMl9E,MACbsB,SAAU47E,EAAM57E,SAChBmqL,aAAcvuG,EAAMuuG,cAGjB,CACLzrL,WAAuB,IAAhBk9E,EAAMl9E,MAAmBk9E,EAAMl9E,MAAQ1S,EAAM0S,MACpDsB,SAAUhU,EAAMgU,SAChBmqL,aAAcvuG,EAAMuuG,cAAgBn+L,EAAMm+L,aAE9C,CACAhiB,iBAAAA,CAAkBzpK,EAAO0rL,GACvBnsL,QAAQS,MACN,wDACAA,EACA0rL,EAEJ,CACAphI,MAAAA,GACE,YAA4B,IAArB/0E,KAAK+X,MAAM0S,MAAmC6oL,EAAAA,cAAqBN,EAAajQ,SAAU,CAAEh6L,MAAO/I,KAAK2nG,MAAMyuG,cAAgC9C,EAAAA,cACnJH,EAAkBpQ,SAClB,CACEh6L,MAAO/I,KAAK+X,MAAM0S,MAClBqqD,SAAU90E,KAAK2nG,MAAMunC,aAEpBlvI,KAAK2nG,MAAM7yB,QAClB,GAEF,SAASuhI,GAAaC,GAAoC,IAAnC,aAAEF,EAAY,MAAEj/L,EAAK,SAAE29D,GAAUwhI,EAClDnC,EAAoBb,EAAAA,WAAkBd,GAI1C,OAHI2B,GAAqBA,EAAkBT,QAAUS,EAAkBoC,gBAAkBp/L,EAAMu3L,MAAM8H,cAAgBr/L,EAAMu3L,MAAM+H,iBAC/HtC,EAAkBoC,cAAcG,2BAA6Bv/L,EAAMu3L,MAAMzwK,IAEpDq1K,EAAAA,cAAqBN,EAAajQ,SAAU,CAAEh6L,MAAOqtM,GAAgBthI,EAC9F,CACA,SAAS0gI,GAAepO,GAAoE,IAA3D0N,EAAap0M,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,GAAIm0M,EAAen0M,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,KACrE,GAAe,MAAX0mM,EAAiB,CACnB,IAAKyN,EACH,OAAO,KAET,GAAIA,EAAgB8B,OAClBvP,EAAUyN,EAAgBzN,YACrB,IAA6B,IAAzB0N,EAAcn0M,QAAiBk0M,EAAgBlhC,eAAekhC,EAAgBzN,QAAQzmM,OAAS,GAGxG,OAAO,KAFPymM,EAAUyN,EAAgBzN,OAG5B,CACF,CACA,IAAImO,EAAkBnO,EAClBuP,EAAS9B,GAAiB8B,OAC9B,GAAc,MAAVA,EAAgB,CAClB,IAAIC,EAAarB,EAAgBsB,WAC9BjxM,GAAMA,EAAE8oM,MAAMzwK,SAA+B,IAAzB04K,IAAS/wM,EAAE8oM,MAAMzwK,MAExC4tK,EACE+K,GAAc,EACb,4DAA2D91M,OAAOwM,KACjEqpM,GACA1wM,KAAK,QAETsvM,EAAkBA,EAAgBl1M,MAChC,EACA+D,KAAKjB,IAAIoyM,EAAgB50M,OAAQi2M,EAAa,GAElD,CACA,IAAIE,GAAiB,EACjBC,GAAiB,EACrB,GAAIlC,EACF,IAAK,IAAIj0M,EAAI,EAAGA,EAAI20M,EAAgB50M,OAAQC,IAAK,CAC/C,IAAIuW,EAAQo+L,EAAgB30M,GAI5B,IAHIuW,EAAMu3L,MAAMsI,iBAAmB7/L,EAAMu3L,MAAMuI,0BAC7CF,EAAgBn2M,GAEduW,EAAMu3L,MAAMzwK,GAAI,CAClB,IAAI,WAAEi5K,EAAYP,OAAQQ,GAAYtC,EAClCuC,EAAmBjgM,EAAMu3L,MAAM2I,SAAWH,EAAWh3L,eAAe/I,EAAMu3L,MAAMzwK,OAASk5K,QAAuC,IAA5BA,EAAQhgM,EAAMu3L,MAAMzwK,KAC5H,GAAI9mB,EAAMu3L,MAAMnL,MAAQ6T,EAAkB,CACxCN,GAAiB,EAEfvB,EADEwB,GAAiB,EACDxB,EAAgBl1M,MAAM,EAAG02M,EAAgB,GAEzC,CAACxB,EAAgB,IAErC,KACF,CACF,CACF,CAEF,OAAOA,EAAgB+B,aAAY,CAACrE,EAAQ97L,EAAOrO,KACjD,IAAI2hB,EACA8sL,GAA8B,EAC9Bf,EAAe,KACfS,EAAyB,KACzBpC,IACFpqL,EAAQksL,GAAUx/L,EAAMu3L,MAAMzwK,GAAK04K,EAAOx/L,EAAMu3L,MAAMzwK,SAAM,EAC5Du4K,EAAer/L,EAAMu3L,MAAM8H,cAAgBT,GACvCe,IACEC,EAAgB,GAAe,IAAVjuM,GACvBqsM,GACE,kBACA,EACA,4EAEFoC,GAA8B,EAC9BN,EAAyB,MAChBF,IAAkBjuM,IAC3ByuM,GAA8B,EAC9BN,EAAyB9/L,EAAMu3L,MAAMuI,wBAA0B,QAIrE,IAAIO,EAAW1C,EAAc5nM,OAAOqoM,EAAgBl1M,MAAM,EAAGyI,EAAQ,IACjE2uM,EAAcA,KAChB,IAAI3iI,EAYJ,OAVEA,EADErqD,EACS+rL,EACFe,EACEN,EACF9/L,EAAMu3L,MAAMrM,UACMiR,EAAAA,cAAqBn8L,EAAMu3L,MAAMrM,UAAW,MAC9DlrL,EAAMu3L,MAAM/6K,QACVxc,EAAMu3L,MAAM/6K,QAEZs/K,EAEUK,EAAAA,cACrB+C,GACA,CACEl/L,QACAi/L,aAAc,CACZnD,SACA7L,QAASoQ,EACTtE,YAAgC,MAAnB2B,GAEf//H,YAEH,EAEH,OAAO+/H,IAAoB19L,EAAMu3L,MAAM+H,eAAiBt/L,EAAMu3L,MAAM8H,cAA0B,IAAV1tM,GAA+BwqM,EAAAA,cACjH0C,GACA,CACEjqL,SAAU8oL,EAAgB9oL,SAC1BmqL,aAAcrB,EAAgBqB,aAC9BhnE,UAAWsnE,EACX/rL,QACAqqD,SAAU2iI,IACVrB,aAAc,CAAEnD,OAAQ,KAAM7L,QAASoQ,EAAUtE,aAAa,KAE9DuE,GAAa,GAChB,KACL,CACA,SAASC,GAA0BC,GACjC,MAAQ,GAAEA,qGACZ,CACA,SAAS9D,GAAqB8D,GAC5B,IAAI9qI,EAAMymI,EAAAA,WAAkBd,GAE5B,OADA3G,EAAUh/H,EAAK6qI,GAA0BC,IAClC9qI,CACT,CACA,SAAS+qI,GAAmBD,GAC1B,IAAI5/L,EAAQu7L,EAAAA,WAAkBb,GAE9B,OADA5G,EAAU9zL,EAAO2/L,GAA0BC,IACpC5/L,CACT,CAMA,SAAS+7L,GAAkB6D,GACzB,IAAIjJ,EANN,SAAyBiJ,GACvB,IAAIjJ,EAAQ4E,EAAAA,WAAkBN,GAE9B,OADAnH,EAAU6C,EAAOgJ,GAA0BC,IACpCjJ,CACT,CAEcmJ,CAAgBF,GACxBG,EAAYpJ,EAAMtH,QAAQsH,EAAMtH,QAAQzmM,OAAS,GAKrD,OAJAkrM,EACEiM,EAAUpJ,MAAMzwK,GACf,GAAE05K,2DAEEG,EAAUpJ,MAAMzwK,EACzB,CA4CA,SAAS03K,KACP,IAAIlrL,EAAQ6oL,EAAAA,WAAkBH,GAC1Bp7L,EAAQ6/L,GAAmB,iBAC3BG,EAAUjE,GAAkB,iBAChC,YAAc,IAAVrpL,EACKA,EAEF1S,EAAM4+L,SAASoB,EACxB,CAsEA,IAAIC,GAAgB,CAAC,EACrB,SAAS7C,GAAY3nM,EAAKu+L,EAAMhsM,GACzBgsM,GAASiM,GAAcxqM,KAC1BwqM,GAAcxqM,IAAO,EACrBs+L,GAAQ,EAAO/rM,GAEnB,CA0QyBk4M,EAAAA,MACzB,SAAmBC,GAIhB,IAJiB,OAClB5K,EAAM,OACNlyL,EAAM,MACNrD,GACDmgM,EACC,OAAOtD,GAActH,OAAQ,EAAQv1L,EAAOqD,EAC9C,IAsCA,SAAS+8L,GAAQC,GAKd,IALe,GAChBn3K,EACAx0B,QAAS4rM,EAAQ,MACjBtgM,EAAK,SACLu8L,GACD8D,EACCvM,EACEwH,IAGC,uEAEH,IAAMK,OAAQ4E,GAAaL,EAAAA,WAAkBnF,GAC7ChH,GACGwM,EACA,yNAEH,IAAI,QAAElR,GAAY6Q,EAAAA,WAAkBjF,IAC9B74F,SAAUo3F,GAAqBgC,IACjCS,EAAWL,IACX/+L,EAAOw8L,EACTnwK,EACAiwK,EAAoB9J,GACpBmK,EACa,SAAb+C,GAEEiE,EAAWrwM,KAAKE,UAAUwM,GAI9B,OAHAqjM,EAAAA,WAAiB,KACfjE,EAAS9rM,KAAKC,MAAMowM,GAAW,CAAE9rM,QAAS4rM,EAAUtgM,QAAOu8L,YAAW,GACrE,CAACN,EAAUuE,EAAUjE,EAAU+D,EAAUtgM,IACrC,IACT,CACA,SAASygM,GAAO7wG,GACd,OAtyBF,SAAmB4rD,GACjB,IAAI0/C,EAASK,EAAAA,WAAkBN,GAAcC,OAC7C,OAAIA,EACqBK,EAAAA,cAAqBkB,GAAczR,SAAU,CAAEh6L,MAAOwqJ,GAAW0/C,GAEnFA,CACT,CAgyBSwF,CAAU9wG,EAAM4rD,QACzB,CACA,SAASmlD,GAAMC,GACb9M,GACE,EACC,uIAEL,CACA,SAAS+M,GAAMC,GAOZ,IANDpL,SAAUqL,EAAe,IAAG,SAC5BhkI,EAAW,KACX/oD,SAAUgtL,EAAY,eACtBtD,EAAiB,MACjBtqL,UAAWipL,EACXV,OAAQsF,GAAa,GACtBH,EACChN,GACGwH,IACA,0GAEH,IAAI5F,EAAWqL,EAAarsM,QAAQ,OAAQ,KACxCwsM,EAAoBhB,EAAAA,SACtB,KAAM,CACJxK,WACAtiL,UAAWipL,EACXV,OAAQsF,EACR59L,OAAQ,CAAC,KAEX,CAACqyL,EAAU2G,EAAY4E,IAEG,kBAAjBD,IACTA,EAAe9M,EAAU8M,IAE3B,IAAI,SACF5+F,EAAW,IAAG,OACd+pE,EAAS,GAAE,KACXhjL,EAAO,GAAE,MACT6W,EAAQ,KAAI,IACZvK,EAAM,WACJurM,EACAG,EAAkBjB,EAAAA,SAAe,KACnC,IAAIkB,EAAmBxL,EAAcxzF,EAAUszF,GAC/C,OAAwB,MAApB0L,EACK,KAEF,CACLptL,SAAU,CACRouF,SAAUg/F,EACVj1B,SACAhjL,OACA6W,QACAvK,OAEFioM,iBACD,GACA,CAAChI,EAAUtzF,EAAU+pE,EAAQhjL,EAAM6W,EAAOvK,EAAKioM,IAKlD,OAJA3J,EACqB,MAAnBoN,EACC,qBAAoBzL,qCAA4CtzF,IAAW+pE,IAAShjL,0FAEhE,MAAnBg4M,EACK,KAEcjB,EAAAA,cAAqBnF,EAAkB/P,SAAU,CAAEh6L,MAAOkwM,GAAqChB,EAAAA,cAAqBlF,EAAgBhQ,SAAU,CAAEjuH,WAAU/rE,MAAOmwM,IAC1L,CACA,SAASE,GAAMC,GAGZ,IAHa,SACdvkI,EAAQ,SACR/oD,GACDstL,EACC,OAh1BOzE,GAg1BU0E,GAAyBxkI,GAAW/oD,EACvD,CAQuCksL,EAAAA,UA6DvC,SAASqB,GAAyBxkI,GAA2B,IAAjB05H,EAAU9tM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,GACnD4sM,EAAS,GA+Cb,OA9CA2K,EAAAA,SAAgB1qM,QAAQunE,GAAU,CAACnhD,EAAS7qB,KAC1C,IAAKmvM,EAAAA,eAAsBtkL,GACzB,OAEF,IAAI4lL,EAAW,IAAI/K,EAAY1lM,GAC/B,GAAI6qB,EAAQrwB,OAAS20M,EAAAA,SAKnB,YAJA3K,EAAO9nM,KAAK6C,MACVilM,EACAgM,GAAyB3lL,EAAQg0E,MAAM7yB,SAAUykI,IAIrD1N,EACEl4K,EAAQrwB,OAASo1M,GAChB,IAA2B,kBAAjB/kL,EAAQrwB,KAAoBqwB,EAAQrwB,KAAOqwB,EAAQrwB,KAAKrD,8GAErE4rM,GACGl4K,EAAQg0E,MAAM7+F,QAAU6qB,EAAQg0E,MAAM7yB,SACvC,4CAEF,IAAI45H,EAAQ,CACVzwK,GAAItK,EAAQg0E,MAAM1pE,IAAMs7K,EAAStzM,KAAK,KACtC2oM,cAAej7K,EAAQg0E,MAAMinG,cAC7Bj7K,QAASA,EAAQg0E,MAAMh0E,QACvB0uK,UAAW1uK,EAAQg0E,MAAM06F,UACzBv5L,MAAO6qB,EAAQg0E,MAAM7+F,MACrB8L,KAAM+e,EAAQg0E,MAAM/yF,KACpByiM,OAAQ1jL,EAAQg0E,MAAM0vG,OACtBtqG,OAAQp5E,EAAQg0E,MAAMoF,OACtBkqG,uBAAwBtjL,EAAQg0E,MAAMsvG,uBACtCD,gBAAiBrjL,EAAQg0E,MAAMqvG,gBAC/BR,aAAc7iL,EAAQg0E,MAAM6uG,aAC5BC,cAAe9iL,EAAQg0E,MAAM8uG,cAC7B+C,kBAAqD,IAAnC7lL,EAAQg0E,MAAM6xG,kBAA4D,MAA/B7lL,EAAQg0E,MAAM8uG,eAAuD,MAA9B9iL,EAAQg0E,MAAM6uG,aAClHiD,iBAAkB9lL,EAAQg0E,MAAM8xG,iBAChCC,OAAQ/lL,EAAQg0E,MAAM+xG,OACtBnW,KAAM5vK,EAAQg0E,MAAM47F,MAElB5vK,EAAQg0E,MAAM7yB,WAChB45H,EAAM55H,SAAWwkI,GACf3lL,EAAQg0E,MAAM7yB,SACdykI,IAGJjM,EAAO9nM,KAAKkpM,EAAM,IAEbpB,CACT,CASA,IAAIqM,GAAgB,MAChBC,GAAiB,oCACrB,SAASC,GAAch8I,GACrB,OAAiB,MAAVA,GAA4C,kBAAnBA,EAAOzjC,OACzC,CAyCA,IAAI0/K,GAA6B,KAgBjC,IAAIC,GAAwC,IAAIniC,IAAI,CAClD,oCACA,sBACA,eAEF,SAASoiC,GAAeC,GACtB,OAAe,MAAXA,GAAoBF,GAAsBlzK,IAAIozK,GAO3CA,GANLnO,GACE,EACC,IAAGmO,wFAA8FL,OAE7F,KAGX,CACA,SAASM,GAAsB35L,EAAQktL,GACrC,IAAI0M,EACAptG,EACAktG,EACAG,EACA/tL,EACJ,GAzEOwtL,GADch8I,EA0EHt9C,IAzE+C,SAAjCs9C,EAAOzjC,QAAQ52B,cAyEpB,CACzB,IAAI8rG,EAAO/uF,EAAOyjD,aAAa,UAC/B+oC,EAASuC,EAAOq+F,EAAcr+F,EAAMm+F,GAAY,KAChD0M,EAAS55L,EAAOyjD,aAAa,WAAa21I,GAC1CM,EAAUD,GAAez5L,EAAOyjD,aAAa,aAAe41I,GAC5DQ,EAAW,IAAIC,SAAS95L,EAC1B,MAAO,GAnFT,SAAyBs9C,GACvB,OAAOg8I,GAAch8I,IAA4C,WAAjCA,EAAOzjC,QAAQ52B,aACjD,CAiFa82M,CAAgB/5L,IA7E7B,SAAwBs9C,GACtB,OAAOg8I,GAAch8I,IAA4C,UAAjCA,EAAOzjC,QAAQ52B,aACjD,CA2EwC+2M,CAAeh6L,KAA4B,WAAhBA,EAAOjd,MAAqC,UAAhBid,EAAOjd,MAAmB,CACrH,IAAIg7L,EAAO/9K,EAAO+9K,KAClB,GAAY,MAARA,EACF,MAAM,IAAIn+L,MACP,sEAGL,IAAImvG,EAAO/uF,EAAOyjD,aAAa,eAAiBs6H,EAAKt6H,aAAa,UAKlE,GAJA+oC,EAASuC,EAAOq+F,EAAcr+F,EAAMm+F,GAAY,KAChD0M,EAAS55L,EAAOyjD,aAAa,eAAiBs6H,EAAKt6H,aAAa,WAAa21I,GAC7EM,EAAUD,GAAez5L,EAAOyjD,aAAa,iBAAmBg2I,GAAe1b,EAAKt6H,aAAa,aAAe41I,GAChHQ,EAAW,IAAIC,SAAS/b,EAAM/9K,IArDlC,WACE,GAAmC,OAA/Bu5L,GACF,IACE,IAAIO,SACFz0L,SAAS8F,cAAc,QAEvB,GAEFouL,IAA6B,CAC/B,CAAE,MAAOlvL,GACPkvL,IAA6B,CAC/B,CAEF,OAAOA,EACT,CAwCSU,GAAgC,CACnC,IAAI,KAAEv6M,EAAI,KAAEqD,EAAI,MAAEyF,GAAUwX,EAC5B,GAAa,UAATjd,EAAkB,CACpB,IAAIwL,EAAS7O,EAAQ,GAAEA,KAAU,GACjCm6M,EAAS19F,OAAQ,GAAE5tG,KAAW,KAC9BsrM,EAAS19F,OAAQ,GAAE5tG,KAAW,IAChC,MAAW7O,GACTm6M,EAAS19F,OAAOz8G,EAAM8I,EAE1B,CACF,KAAO,IAAI8wM,GAAct5L,GACvB,MAAM,IAAIpgB,MACP,sFAGHg6M,EAASR,GACT5sG,EAAS,KACTktG,EAAUL,GACVvtL,EAAO9L,CACT,CA/GF,IAAuBs9C,EAoHrB,OAJIu8I,GAAwB,eAAZH,IACd5tL,EAAO+tL,EACPA,OAAW,GAEN,CAAErtG,SAAQotG,OAAQA,EAAO32M,cAAey2M,UAASG,WAAU/tL,OACpE,CAMA,SAASouL,GAAW1xM,EAAOhJ,GACzB,IAAc,IAAVgJ,GAA6B,OAAVA,GAAmC,qBAAVA,EAC9C,MAAM,IAAI5I,MAAMJ,EAEpB,CAGAgzE,eAAe2nI,GAAgBhM,EAAOiM,GACpC,GAAIjM,EAAMzwK,MAAM08K,EACd,OAAOA,EAAkBjM,EAAMzwK,IAEjC,IACE,IAAI28K,QAAoBC,OAGtBnM,EAAMlpL,QAGR,OADAm1L,EAAkBjM,EAAMzwK,IAAM28K,EACvBA,CACT,CAAE,MAAOnwL,GAUP,OATAT,QAAQS,MACL,gCAA+BikL,EAAMlpL,+BAExCwE,QAAQS,MAAMA,GACV9E,OAAOm1L,sBAAwBn1L,OAAOm1L,qBAAqBC,UAI/Dp1L,OAAOoG,SAASivL,SACT,IAAI5/I,SAAQ,QAErB,CACF,CA4DA,SAAS6/I,GAAqBp9I,GAC5B,OAAiB,MAAVA,GAAyC,kBAAhBA,EAAOtlC,IACzC,CACA,SAAS2iL,GAAqBr9I,GAC5B,OAAc,MAAVA,IAGe,MAAfA,EAAOhyC,KACa,YAAfgyC,EAAOjyC,KAAmD,kBAAvBiyC,EAAOs9I,aAAyD,kBAAtBt9I,EAAOu9I,WAEhE,kBAAfv9I,EAAOjyC,KAA2C,kBAAhBiyC,EAAOhyC,KACzD,CAkBA,SAASwvL,GAAsB9iL,EAAM+iL,EAAaC,EAAgBC,EAAUzvL,EAAUtlB,GACpF,IAAIg1M,EAAQA,CAACtkM,EAAOrO,KACbyyM,EAAezyM,IACbqO,EAAMu3L,MAAMzwK,KAAOs9K,EAAezyM,GAAO4lM,MAAMzwK,GAEpDy9K,EAAmBA,CAACvkM,EAAOrO,IAG3ByyM,EAAezyM,GAAOqxG,WAAahjG,EAAMgjG,UAEzCohG,EAAezyM,GAAO4lM,MAAM95L,MAAMu6L,SAAS,MAAQoM,EAAezyM,GAAOd,OAAO,OAASmP,EAAMnP,OAAO,KAG1G,MAAa,WAATvB,EACK60M,EAAY51M,QACjB,CAACyR,EAAOrO,IAAU2yM,EAAMtkM,EAAOrO,IAAU4yM,EAAiBvkM,EAAOrO,KAGxD,SAATrC,EACK60M,EAAY51M,QAAO,CAACyR,EAAOrO,KAChC,IAAI6yM,EAAgBH,EAASlO,OAAOn2L,EAAMu3L,MAAMzwK,IAChD,IAAK09K,IAAkBA,EAAcC,UACnC,OAAO,EAET,GAAIH,EAAMtkM,EAAOrO,IAAU4yM,EAAiBvkM,EAAOrO,GACjD,OAAO,EAET,GAAIqO,EAAMu3L,MAAM+K,iBAAkB,CAChC,IAAIoC,EAAc1kM,EAAMu3L,MAAM+K,iBAAiB,CAC7CqC,WAAY,IAAItwL,IACdO,EAASouF,SAAWpuF,EAASm4J,OAASn4J,EAAS7qB,KAC/CykB,OAAOmG,QAETiwL,cAAeR,EAAe,IAAIvzM,QAAU,CAAC,EAC7Cg0M,QAAS,IAAIxwL,IAAI+M,EAAM5S,OAAOmG,QAC9BmwL,WAAY9kM,EAAMnP,OAClBk0M,yBAAyB,IAE3B,GAA2B,mBAAhBL,EACT,OAAOA,CAEX,CACA,OAAO,CAAI,IAGR,EACT,CA2BA,SAASM,GAAYC,GACnB,MAAO,IAAI,IAAIxkC,IAAIwkC,GACrB,CASA,SAASC,GAAsBC,EAAaC,GAC1C,IAAI76L,EAAsB,IAAIk2J,IAC1B4kC,EAAc,IAAI5kC,IAAI2kC,GAC1B,OAAOD,EAAY5hM,QAAO,CAAC+hM,EAASC,KAElC,GAD2BH,IAAatB,GAAqByB,IAAiC,WAAlBA,EAAWzrH,IAAmByrH,EAAW7wL,MAAQ2wL,EAAY31K,IAAI61K,EAAW7wL,MAEtJ,OAAO4wL,EAET,IAAIjvM,EAAMtF,KAAKE,UAhBnB,SAAkBhB,GAChB,IAAIu1M,EAAS,CAAC,EACVrvM,EAAOxM,OAAOwM,KAAKlG,GAAKnC,OAC5B,IAAK,IAAIuI,KAAOF,EACdqvM,EAAOnvM,GAAOpG,EAAIoG,GAEpB,OAAOmvM,CACT,CAS6BC,CAASF,IAKlC,OAJKh7L,EAAImlB,IAAIr5B,KACXkU,EAAIusB,IAAIzgC,GACRivM,EAAQj3M,KAAK,CAAEgI,MAAKi6D,KAAMi1I,KAErBD,CAAO,GACb,GACL,CAwBA,SAASI,GAAWp/K,GAClB,MAAO,CAAEgqJ,OAAQhqJ,EACnB,CA4BgC43D,OAAO,uBAgOvC,SAASynH,GAAeC,GACtB,IAAItoM,EAAwB,kBAAXsoM,EAAsB,IAAIvxL,IACzCuxL,EAGkB,qBAAXp3L,OAAyB,wBAA0BA,OAAOoG,SAASD,QACxEixL,EAMJ,MALqB,MAAjBtoM,EAAI0lG,SACN1lG,EAAI0lG,SAAW,aAEf1lG,EAAI0lG,SAAY,GAAE1lG,EAAI0lG,SAAS1tG,QAAQ,MAAO,WAEzCgI,CACT,CA+GuCuoM,EAAAA,UA4BvC,SAASC,GAA6BC,GAGnC,IAHoC,MACrCzyL,EAAK,kBACL0yL,GACDD,EACClzL,QAAQS,MAAMA,GACd,IAeI2yL,EAfAC,EAA+BL,EAAAA,cACjC,SACA,CACErjC,wBAAyB,CACvB8N,OAAS,6OAQf,GAAI2qB,EAAqB3nL,GACvB,OAAuBuyL,EAAAA,cAAqBM,GAAe,CAAElxL,MAAO,8BAAgD4wL,EAAAA,cAAqB,KAAM,CAAE3nL,MAAO,CAAEtE,SAAU,SAAYtG,EAAME,OAAQ,IAAKF,EAAM4nL,YAAagL,GAGxN,GAAI5yL,aAAiBtqB,MACnBi9M,EAAgB3yL,MACX,CACL,IAAI8yL,EAAuB,MAAT9yL,EAAgB,gBAAmC,kBAAVA,GAAsB,aAAcA,EAAQA,EAAM1pB,WAAamH,KAAKE,UAAUqiB,GACzI2yL,EAAgB,IAAIj9M,MAAMo9M,EAC5B,CACA,OAAuBP,EAAAA,cACrBM,GACA,CACElxL,MAAO,qBACP+wL,qBAEcH,EAAAA,cAAqB,KAAM,CAAE3nL,MAAO,CAAEtE,SAAU,SAAY,qBAC5DisL,EAAAA,cACd,MACA,CACE3nL,MAAO,CACLI,QAAS,OACT+nL,WAAY,0BACZvrM,MAAO,MACP8hB,SAAU,SAGdqpL,EAAcxqJ,OAEhByqJ,EAEJ,CACA,SAASC,GAAaG,GAKnB,IALoB,MACrBrxL,EAAK,cACLsxL,EAAa,kBACbP,EAAiB,SACjBroI,GACD2oI,GACK,aAAEE,GAAiBC,KACvB,OAAID,EAAa9oI,MAAMgpI,SAAWV,EACzBroI,EAEckoI,EAAAA,cAAqB,OAAQ,CAAE7nJ,KAAM,MAAwB6nJ,EAAAA,cAAqB,OAAQ,KAAsBA,EAAAA,cAAqB,OAAQ,CAAEc,QAAS,UAA4Bd,EAAAA,cACzM,OACA,CACE/8M,KAAM,WACN6G,QAAS,0DAEMk2M,EAAAA,cAAqB,QAAS,KAAM5wL,IAAyB4wL,EAAAA,cAAqB,OAAQ,KAAsBA,EAAAA,cAAqB,OAAQ,CAAE3nL,MAAO,CAAE2B,WAAY,wBAAyBvB,QAAS,SAAYq/C,EAAU4oI,EAAgCV,EAAAA,cAAqBe,GAAS,MAAQ,OACvT,CAyWA,SAASC,GAAkBjD,GACzB,OAAQA,CACV,CA4KA,SAASkD,KACP,IAAI1qD,EAAU2qD,EAAAA,WAAkB1L,GAKhC,OAJAiI,GACElnD,EACA,8EAEKA,CACT,CACA,SAAS4qD,KACP,IAAI5qD,EAAU2qD,EAAAA,WAAkBzL,GAKhC,OAJAgI,GACElnD,EACA,mFAEKA,CACT,CACA,IAAI6qD,GAAmBF,EAAAA,mBAAqB,GAE5C,SAASN,KACP,IAAIrqD,EAAU2qD,EAAAA,WAAkBE,IAKhC,OAJA3D,GACElnD,EACA,kEAEKA,CACT,CA2DA,SAAS8qD,GAAqBC,EAAcC,GAC1C,OAAQxkG,IACNukG,GAAgBA,EAAavkG,GACxBA,EAAMylE,kBACT++B,EAAWxkG,EACb,CAEJ,CACA,SAASykG,GAAiBpX,EAASuP,EAAQoE,GACzC,GAAIA,IAAc0D,GAChB,MAAO,CAACrX,EAAQ,IAElB,GAAIuP,EAAQ,CACV,IAAI+H,EAAWtX,EAAQyP,WAAWjxM,QAA6B,IAAvB+wM,EAAO/wM,EAAE8oM,MAAMzwK,MACvD,OAAOmpK,EAAQ/mM,MAAM,EAAGq+M,EAAW,EACrC,CACA,OAAOtX,CACT,CAaA,SAASuX,GAAiBC,GAGvB,IAHwB,KACzBrmL,KACGsmL,GACJD,GACK,OAAEhL,GAAWqK,KACb7W,EAAU8W,EAAAA,SACZ,IAAM7Q,EAAYuG,EAAOtG,OAAQ/0K,EAAMq7K,EAAOnG,WAC9C,CAACmG,EAAOtG,OAAQ/0K,EAAMq7K,EAAOnG,WAE/B,OAAKrG,EAIkB8W,EAAAA,cAAqBY,GAAuB,CAAEvmL,OAAM6uK,aAAYyX,KAHrF70L,QAAQC,KAAM,qBAAoBsO,4BAC3B,KAGX,CACA,SAASwmL,GAAsB3X,GAC7B,IAAI,SAAEoU,EAAQ,aAAEmC,GAAiBC,MAC5BoB,EAAoBC,GAAyBf,EAAAA,SAAgB,IAclE,OAbAA,EAAAA,WAAiB,KACf,IAAIgB,GAAc,EAQlB,OAxwCJnsI,eAAqCq0H,EAASoU,EAAUmC,GACtD,IAAIwB,QAAc/jJ,QAAQrwD,IACxBq8L,EAAQzgM,KAAIosE,UACV,IAAI27H,EAAQ8M,EAASlO,OAAOn2L,EAAMu3L,MAAMzwK,IACxC,GAAIywK,EAAO,CACT,IAAIzsC,QAAYy4C,GAAgBhM,EAAOiP,GACvC,OAAO17C,EAAIk9C,MAAQl9C,EAAIk9C,QAAU,EACnC,CACA,MAAO,EAAE,KAGb,OAAO9C,GACL8C,EAAMC,KAAK,GAAG15M,OAAOw1M,IAAsBx1M,QAAQ+hE,GAAsB,eAAbA,EAAK77C,KAAqC,YAAb67C,EAAK77C,MAAmBjlB,KAC9G8gE,GAAsB,eAAbA,EAAK77C,IAAuB,IAAK67C,EAAM77C,IAAK,WAAYqlE,GAAI,SAAY,IAAKxpB,EAAM77C,IAAK,cAGxG,CAivCSyzL,CAAsBjY,EAASoU,EAAUmC,GAAcxtI,MACzDgvI,IACMD,GACHD,EAAsBE,EACxB,IAGG,KACLD,GAAc,CAAI,CACnB,GACA,CAAC9X,EAASoU,EAAUmC,IAChBqB,CACT,CACA,SAASF,GAAqBQ,GAI3B,IAJ4B,KAC7B/mL,EACA6uK,QAASkU,KACNiE,GACJD,EACKvzL,EAAWwnL,KACX,SAAEiI,EAAQ,aAAEmC,GAAiBC,MAC7B,WAAE1G,EAAU,QAAE9P,GAAY+W,KAC1BqB,EAAoBtB,EAAAA,SACtB,IAAM7C,GACJ9iL,EACA+iL,EACAlU,EACAoU,EACAzvL,EACA,SAEF,CAACwM,EAAM+iL,EAAalU,EAASoU,EAAUzvL,IAErC0zL,EAAsBvB,EAAAA,SACxB,IAAM7C,GACJ9iL,EACA+iL,EACAlU,EACAoU,EACAzvL,EACA,WAEF,CAACwM,EAAM+iL,EAAalU,EAASoU,EAAUzvL,IAErC2zL,EAAYxB,EAAAA,SAAe,KAC7B,GAAI3lL,IAASxM,EAASouF,SAAWpuF,EAASm4J,OAASn4J,EAAS7qB,KAC1D,MAAO,GAET,IAAIy+M,EAA+B,IAAI/nC,IACnCgoC,GAAmB,EAcvB,GAbAtE,EAAY/tM,SAAS3H,IACnB,IAAI+1M,EAAgBH,EAASlO,OAAO1nM,EAAE8oM,MAAMzwK,IACvC09K,GAAkBA,EAAcC,aAGhC4D,EAAkBpU,MAAMryE,GAAOA,EAAG21E,MAAMzwK,KAAOr4B,EAAE8oM,MAAMzwK,MAAOr4B,EAAE8oM,MAAMzwK,MAAMi5K,GAAcyG,EAAa/3M,EAAE8oM,MAAMzwK,KAAKw7K,kBAE9GkC,EAAckE,gBADvBD,GAAmB,EAInBD,EAAa1xK,IAAIroC,EAAE8oM,MAAMzwK,IAC3B,IAEwB,IAAtB0hL,EAAa12M,KACf,MAAO,GAET,IAAIwL,EAAMqoM,GAAevkL,GAOzB,OANIqnL,GAAoBD,EAAa12M,KAAO,GAC1CwL,EAAIqrM,aAAap+L,IACf,UACA45L,EAAY51M,QAAQE,GAAM+5M,EAAa94K,IAAIjhC,EAAE8oM,MAAMzwK,MAAKt3B,KAAKf,GAAMA,EAAE8oM,MAAMzwK,KAAIh4B,KAAK,MAGjF,CAACwO,EAAI0lG,SAAW1lG,EAAIyvK,OAAO,GACjC,CACDgzB,EACAnrL,EACAyvL,EACAgE,EACAlE,EACA/iL,EACAolL,IAEEoC,EAAc7B,EAAAA,SAChB,IApxCJ,SAA4B9W,EAAS4Y,GACnC,OAAO7D,GACL/U,EAAQzgM,KAAKwQ,IACX,IAAIu3L,EAAQsR,EAAc1S,OAAOn2L,EAAMu3L,MAAMzwK,IAC7C,IAAKywK,EAAO,MAAO,GACnB,IAAI0N,EAAQ,CAAC1N,EAAMlpL,QAInB,OAHIkpL,EAAMuR,UACR7D,EAAQA,EAAMlvM,OAAOwhM,EAAMuR,UAEtB7D,CAAK,IACXgD,KAAK,GAEZ,CAwwCUc,CAAmBT,EAAqBjE,IAC9C,CAACiE,EAAqBjE,IAEpBwD,EAAqBD,GAAsBU,GAC/C,OAAuBvB,EAAAA,cAAqBA,EAAAA,SAAiB,KAAMwB,EAAU/4M,KAAKklB,GAAyBqyL,EAAAA,cAAqB,OAAQ,CAAE1wM,IAAKqe,EAAMD,IAAK,WAAYqlE,GAAI,QAASplE,UAAS0zL,MAAeQ,EAAYp5M,KAAKklB,GAAyBqyL,EAAAA,cAAqB,OAAQ,CAAE1wM,IAAKqe,EAAMD,IAAK,gBAAiBC,UAAS0zL,MAAeP,EAAmBr4M,KAAIw5M,IAAA,IAAC,IAAE3yM,EAAG,KAAEi6D,GAAM04I,EAAA,OAGhWjC,EAAAA,cAAqB,OAAQ,CAAE1wM,SAAQi6D,GAAO,IAElE,CAjNA22I,GAAiB1lI,YAAc,mBAuT/B,IAAI+lI,IAAa,EACjB,SAASV,GAAQp2G,GACf,IAAI,SAAE6zG,EAAQ,oBAAE4E,EAAmB,UAAErF,EAAS,WAAEsF,GAAezC,MAC3D,OAAEhK,EAAQF,OAAQ4E,EAAQ,cAAE/B,GAAkB0H,MAC5C7W,QAASkZ,GAAkBnC,KAC7BoC,EAAiBvC,GAAkBjD,GACnCsF,IACFA,EAAWG,kBAAmB,GAEhC,IAAIpZ,EAAUoX,GAAiB8B,EAAe,KAAMvF,GACpDmD,EAAAA,WAAiB,KACfO,IAAa,CAAI,GAChB,IACH,IAAIgC,EAAiBvC,EAAAA,SAAe,KAClC,IACIwC,EAAgBnK,EAAiB,iCAAgC6J,mLAAwC,IACzGO,EAAsBrI,EAAkB,GAAEkD,EAASoF,KAAKzV,QAAW,UAASjjM,KAAKE,UAAUozM,EAASoF,IAAIzV,YAAc,KAAMoV,EAA4D,GAA1C,UAASr4M,KAAKE,UAAUozM,EAAS/mM,YACrL2yL,EAAQzgM,KACJ,CAACwQ,EAAOrO,IAAW,oBAAmBA,UAAcZ,KAAKE,UACvDozM,EAASlO,OAAOn2L,EAAMu3L,MAAMzwK,IAAIzY,aAElCvf,KAAK,YACPs6M,EAEG,kCAAiCr4M,KAAKE,UA3gB7C,SAA4BozM,EAAU5H,GACpC,IAAIiN,EAAW,IAAIjpC,IAAIg8B,EAAO77L,MAAMqvL,QAAQzgM,KAAKf,GAAMA,EAAE8oM,MAAMzwK,MAC3DosE,EAAWupG,EAAO77L,MAAMgU,SAASouF,SAASnsG,MAAM,KAAKtI,OAAOs5D,SAC5Dm2D,EAAQ,CAAC,KAEb,IADA9qB,EAAS9+C,MACF8+C,EAAS1pG,OAAS,GACvBw0H,EAAM3vH,KAAM,IAAG6kG,EAASpkG,KAAK,QAC7BokG,EAAS9+C,MAEX4pE,EAAM5nH,SAASqH,IACb,IAAIwyL,EAAUiG,EAAYuG,EAAOtG,OAAQ14L,EAAMg/L,EAAOnG,UAClDrG,GACFA,EAAQ75L,SAAS3H,GAAMi7M,EAAS5yK,IAAIroC,EAAE8oM,MAAMzwK,KAC9C,IAEF,IAAI6iL,EAAgB,IAAID,GAAUnmM,QAChC,CAACC,EAAKsjB,IAAOn9B,OAAO25B,OAAO9f,EAAK,CAAE,CAACsjB,GAAKu9K,EAASlO,OAAOrvK,MACxD,CAAC,GAEH,MAAO,IACFu9K,EACHlO,OAAQwT,EAEZ,CAqfQC,CAAmBvF,EAAU5H,GAC7B,KACA,MAEA,6CACgCxM,EAAQzgM,KAAI,CAACwQ,EAAOrO,IAAW,GAAEZ,KAAKE,UAAU+O,EAAMu3L,MAAMzwK,YAAYn1B,MAAS7C,KAAK,oBAErHiC,KAAKE,UAAUozM,EAASwF,MAAMx7L,YAhBE,IAiBrC,OAAuB04L,EAAAA,cAAqBA,EAAAA,SAAiB,KAAsBA,EAAAA,cACjF,SACA,IACKv2G,EACHiwF,0BAA0B,EAC1Bje,wBAAyBkjC,GAAW6D,GACpCp9M,UAAM,IAES46M,EAAAA,cACjB,SACA,IACKv2G,EACHiwF,0BAA0B,EAC1Bje,wBAAyBkjC,GAAW8D,GACpCr9M,KAAM,SACNyvE,OAAO,IAET,GACD,IACCkuI,EAAgB7Z,EAAQzgM,KAAKwQ,IAC/B,IAAIu3L,EAAQ8M,EAASlO,OAAOn2L,EAAMu3L,MAAMzwK,IACxC,OAAOywK,GAASA,EAAMuR,SAAW,IAAI/yM,OAAO,CAACwhM,EAAMlpL,SAAW,EAAE,IAC/D45L,KAAK,GACJ7C,EAAWkC,GAAa,GAAKjD,EAASwF,MAAMf,QAAQ/yM,OAAO+zM,GAC/D,OAAOxC,GAAa,KAAuBP,EAAAA,cAAqBA,EAAAA,SAAiB,KAAOqC,EAOpF,KAPqHrC,EAAAA,cACvH,OACA,CACEtyL,IAAK,gBACLC,KAAM2vL,EAAS/mM,IACf8nG,YAAa5U,EAAM4U,cAEG2hG,EAAAA,cACxB,OACA,CACEtyL,IAAK,gBACLC,KAAM2vL,EAASwF,MAAMx7L,OACrB+2F,YAAa5U,EAAM4U,eAYT3zG,EAVJ2zM,EAWH,IAAI,IAAI3kC,IAAIhvK,KAXCjC,KAAKiO,GAAyBspM,EAAAA,cAChD,OACA,CACE1wM,IAAKoH,EACLgX,IAAK,gBACLC,KAAMjX,EACN2nG,YAAa5U,EAAM4U,gBAEnBkkG,GAEN,IAAgB73M,CADhB,CAIA,SAASs4M,KAAmB,QAAAC,EAAAzgN,UAAAC,OAANirL,EAAI,IAAAtrL,MAAA6gN,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJx1B,EAAIw1B,GAAA1gN,UAAA0gN,GACxB,OAAQr4M,IACN6iL,EAAKr+K,SAAS09D,IACO,oBAARA,EACTA,EAAIliE,GACY,MAAPkiE,IACTA,EAAI1wC,QAAUxxB,EAChB,GACA,CAEN,CAGA,IAAIs4M,GAA8B,qBAAX17L,QAAqD,qBAApBA,OAAOC,UAAqE,qBAAlCD,OAAOC,SAAS8F,cAClH,IACM21L,KACF17L,OAAO27L,qBAAuB,QAElC,CAAE,MAAO12L,IACT,CAwEA,SAAS22L,GAAaC,GAInB,IAJoB,SACrB/T,EAAQ,SACR34H,EACAnvD,OAAQ8lL,GACT+V,EACKC,EAAaC,EAAAA,SACS,MAAtBD,EAAWlnL,UACbknL,EAAWlnL,QAAUgxK,EAAqB,CAAE5lL,OAAQ8lL,EAASe,UAAU,KAEzE,IAAIC,EAAUgV,EAAWlnL,SACpBxiB,EAAO4pM,GAAgBD,EAAAA,SAAiB,CAC3C30G,OAAQ0/F,EAAQ1/F,OAChBhhF,SAAU0gL,EAAQ1gL,WAEhB+1K,EAAW4f,EAAAA,aACZE,IACCF,EAAAA,iBAAwB,IAAMC,EAAaC,IAAU,GAEvD,CAACD,IAGH,OADAD,EAAAA,iBAAwB,IAAMjV,EAAQK,OAAOhL,IAAW,CAAC2K,EAAS3K,IAC3C4f,EAAAA,cACrB9I,GACA,CACEnL,WACA34H,WACA/oD,SAAUhU,EAAMgU,SAChB0pL,eAAgB19L,EAAMg1F,OACtB5hF,UAAWshL,GAGjB,CAyDA,IAAIoV,GAAsB,gCACtBC,GAAOJ,EAAAA,YACT,SAAoBK,EAajBC,GAAc,IAGXC,GAhBe,QACnBpqB,EAAO,SACPqqB,EAAW,SAAQ,SACnBC,EAAW,OAAM,SACjB7N,EAAQ,eACR8N,EACA31M,QAAS4rM,EAAQ,MACjBtgM,EAAK,OACLwI,EAAM,GACN0gB,EAAE,mBACFohL,EAAkB,eAClBC,KACGx5G,GACJi5G,GACK,SAAEtU,GAAaiU,EAAAA,WAAmB5O,GAClCyP,EAA2B,kBAAPthL,GAAmB4gL,GAAoBhgN,KAAKo/B,GAEhEuhL,GAAa,EACjB,GAAkB,kBAAPvhL,GAAmBshL,IAC5BN,EAAehhL,EACXogL,IACF,IACE,IAAIvF,EAAa,IAAItwL,IAAI7F,OAAOoG,SAASF,MACrC42L,EAAYxhL,EAAG4tK,WAAW,MAAQ,IAAIrjL,IAAIswL,EAAWlrM,SAAWqwB,GAAM,IAAIzV,IAAIyV,GAC9ErsB,EAAO+4L,EAAc8U,EAAUtoG,SAAUszF,GACzCgV,EAAU32L,SAAWgwL,EAAWhwL,QAAkB,MAARlX,EAC5CqsB,EAAKrsB,EAAO6tM,EAAUv+B,OAASu+B,EAAUvhN,KAEzCshN,GAAa,CAEjB,CAAE,MAAO53L,IACPkhL,GACE,EACC,aAAY7qK,0GAEjB,CAGJ,IAAIpV,EAnjGR,SAAiBoV,GAAuB,IAAnB,SAAEqzK,GAAU5zM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnCmrM,EACEwH,IAGC,sEAEH,IAAI,SAAE5F,EAAUtiL,UAAWipL,GAAed,EAAAA,WAAkBR,IACxD,KAAE5xM,EAAI,SAAEi5G,EAAQ,OAAE+pE,GAAWywB,GAAgB1zK,EAAI,CAAEqzK,aACnDoO,EAAiBvoG,EAIrB,MAHiB,MAAbszF,IACFiV,EAA8B,MAAbvoG,EAAmBszF,EAAWqB,EAAU,CAACrB,EAAUtzF,KAE/Di6F,EAAWrH,WAAW,CAAE5yF,SAAUuoG,EAAgBx+B,SAAQhjL,QACnE,CAqiGeyhN,CAAQ1hL,EAAI,CAAEqzK,cACpBsO,EAAgBC,EAAaC,GA9lBtC,SAA6BX,EAAUY,GACrC,IAAIC,EAAmB9E,EAAAA,WAAkBE,KACpC6E,EAAeC,GAAoBhF,EAAAA,UAAgB,IACnD0E,EAAgBO,GAAqBjF,EAAAA,UAAgB,IACtD,QAAEkF,EAAO,OAAEC,EAAM,aAAEC,EAAY,aAAEC,EAAY,aAAEC,GAAiBT,EAChE93I,EAAMizI,EAAAA,OAAc,MACxBA,EAAAA,WAAiB,KAIf,GAHiB,WAAbiE,GACFgB,GAAkB,GAEH,aAAbhB,EAAyB,CAC3B,IAKIsB,EAAW,IAAIC,sBALH/c,IACdA,EAAQp5L,SAASyzM,IACfmC,EAAkBnC,EAAM2C,eAAe,GACvC,GAE8C,CAAE17D,UAAW,KAE/D,OADIh9E,EAAI1wC,SAASkpL,EAASG,QAAQ34I,EAAI1wC,SAC/B,KACLkpL,EAASI,YAAY,CAEzB,IACC,CAAC1B,IACJjE,EAAAA,WAAiB,KACf,GAAI+E,EAAe,CACjB,IAAIhlL,EAAKhS,YAAW,KAClBk3L,GAAkB,EAAK,GACtB,KACH,MAAO,KACLxrI,aAAa15C,EAAG,CAEpB,IACC,CAACglL,IACJ,IAAIa,EAAYA,KACdZ,GAAiB,EAAK,EAEpBa,EAAeA,KACjBb,GAAiB,GACjBC,GAAkB,EAAM,EAE1B,OAAKH,EAGY,WAAbb,EACK,CAACS,EAAgB33I,EAAK,CAAC,GAEzB,CACL23I,EACA33I,EACA,CACEm4I,QAAS/E,GAAqB+E,EAASU,GACvCT,OAAQhF,GAAqBgF,EAAQU,GACrCT,aAAcjF,GAAqBiF,EAAcQ,GACjDP,aAAclF,GAAqBkF,EAAcQ,GACjDP,aAAcnF,GAAqBmF,EAAcM,KAb5C,EAAC,EAAO74I,EAAK,CAAC,EAgBzB,CAqiB0D+4I,CACpD7B,EACAr5G,GAEEm7G,EA8NR,SAA6BhjL,GAOrB,IAPyB,OAC/B1gB,EACA9T,QAASy3M,EAAW,MACpBnsM,EAAK,mBACLsqM,EAAkB,SAClB/N,EAAQ,eACRgO,GACD5hN,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,EACCszM,EAAWL,IACX5nL,EAAWwnL,IACX3+L,EAAO+/L,GAAgB1zK,EAAI,CAAEqzK,aACjC,OAAOoN,EAAAA,aACJ3nG,IACC,GA5rEN,SAAgCA,EAAOx5F,GACrC,OAAwB,IAAjBw5F,EAAM+mE,UACXvgK,GAAqB,UAAXA,KALd,SAAyBw5F,GACvB,SAAUA,EAAM6mE,SAAW7mE,EAAM4mE,QAAU5mE,EAAM0mE,SAAW1mE,EAAM2mE,SACpE,CAIGyjC,CAAgBpqG,EACnB,CAwrEUqqG,CAAuBrqG,EAAOx5F,GAAS,CACzCw5F,EAAM4lE,iBACN,IAAI04B,OAA2B,IAAhB6L,EAAyBA,EAAcvgD,EAAW53I,KAAc43I,EAAW/uJ,GAC1Fo/L,EAAS/yK,EAAI,CACXx0B,QAAS4rM,EACTtgM,QACAsqM,qBACA/N,WACAgO,kBAEJ,IAEF,CACEv2L,EACAioL,EACAp/L,EACAsvM,EACAnsM,EACAwI,EACA0gB,EACAohL,EACA/N,EACAgO,GAGN,CApQ0B+B,CAAoBpjL,EAAI,CAC5Cx0B,QAAS4rM,EACTtgM,QACAwI,SACA8hM,qBACA/N,WACAgO,mBAQF,IAAI76I,EAEci6I,EAAAA,cACd,IACA,IACK54G,KACAg6G,EACHj3L,KAAMo2L,GAAgBp2L,EACtBgsK,QAAS2qB,GAAcJ,EAAiBvqB,EAd9C,SAAqB99E,GACf89E,GAASA,EAAQ99E,GAChBA,EAAMylE,kBACTykC,EAAgBlqG,EAEpB,EAUM9uC,IAAKi2I,GAAUc,EAAca,GAC7BtiM,SACA,gBAAkBgiM,GAA2B,WAAbL,OAAiC,EAAT,SAI9D,OAAOU,IAAmBL,EAA6Bb,EAAAA,cAAsBA,EAAAA,SAAkB,KAAMj6I,EAAsBi6I,EAAAA,cAAsB/C,GAAmB,CAAEpmL,KAAM1M,KAAW47C,CACzL,IAEFq6I,GAAKppI,YAAc,OACnB,IAAI4rI,GAAU5C,EAAAA,YACZ,SAAuB6C,EAUpBt5I,GAAK,IATN,eAAgBu5I,EAAkB,OAAM,cACxC5V,GAAgB,EAChBv+H,UAAWo0I,EAAgB,GAAE,IAC7B57M,GAAM,EACNwsB,MAAOqvL,EAAS,GAChBzjL,EAAE,eACFqhL,EAAc,SACdxtI,KACGg0B,GACJy7G,EACK3vM,EAAO+/L,GAAgB1zK,EAAI,CAAEqzK,SAAUxrG,EAAKwrG,WAC5CvoL,EAAWwnL,IACXoR,EAAcjD,EAAAA,WAAmBjP,IAC/BtnL,UAAWipL,EAAU,SAAE3G,GAAaiU,EAAAA,WAAmB5O,GACzDH,EAAiC,MAAfgS,GAghB1B,SAAgC1jL,GAAe,IAAX3yB,EAAI5N,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,EACtCkkN,EAAYlD,EAAAA,WAAmBhP,GACnC7G,EACe,MAAb+Y,EACA,0JAEF,IAAI,SAAEnX,GAAaoX,GACjB,0BAEEjwM,EAAO+/L,GAAgB1zK,EAAI,CAAEqzK,SAAUhmM,EAAKgmM,WAChD,IAAKsQ,EAAUjS,gBACb,OAAO,EAET,IAAImS,EAAcnX,EAAciX,EAAUG,gBAAgB5qG,SAAUszF,IAAamX,EAAUG,gBAAgB5qG,SACvGurF,EAAWiI,EAAciX,EAAUI,aAAa7qG,SAAUszF,IAAamX,EAAUI,aAAa7qG,SAClG,OAA6C,MAAtCg2F,EAAUv7L,EAAKulG,SAAUurF,IAA8D,MAAzCyK,EAAUv7L,EAAKulG,SAAU2qG,EAChF,CA9hBIG,CAAuBrwM,KAA4B,IAAnB0tM,EAC5B5Q,EAAa0C,EAAWpH,eAAiBoH,EAAWpH,eAAep4L,GAAMulG,SAAWvlG,EAAKulG,SACzFo3F,EAAmBxlL,EAASouF,SAC5B+qG,EAAuBP,GAAeA,EAAYQ,YAAcR,EAAYQ,WAAWp5L,SAAW44L,EAAYQ,WAAWp5L,SAASouF,SAAW,KAC5Iy0F,IACH2C,EAAmBA,EAAiB/tM,cACpC0hN,EAAuBA,EAAuBA,EAAqB1hN,cAAgB,KACnFkuM,EAAaA,EAAWluM,eAEtB0hN,GAAwBzX,IAC1ByX,EAAuBvX,EAAcuX,EAAsBzX,IAAayX,GAE1E,MAAME,EAAkC,MAAf1T,GAAsBA,EAAWvC,SAAS,KAAOuC,EAAW/wM,OAAS,EAAI+wM,EAAW/wM,OAC7G,IAQI0vE,EARAg1I,EAAW9T,IAAqBG,IAAe7oM,GAAO0oM,EAAiB1C,WAAW6C,IAA6D,MAA9CH,EAAiBvtM,OAAOohN,GACzHE,EAAoC,MAAxBJ,IAAiCA,IAAyBxT,IAAe7oM,GAAOq8M,EAAqBrW,WAAW6C,IAAkE,MAAnDwT,EAAqBlhN,OAAO0tM,EAAW/wM,SAClL4kN,EAAc,CAChBF,WACAC,YACA3S,mBAEE6S,EAAcH,EAAWb,OAAkB,EAG7Cn0I,EAD2B,oBAAlBo0I,EACGA,EAAcc,GAEd,CACVd,EACAY,EAAW,SAAW,KACtBC,EAAY,UAAY,KACxB3S,EAAkB,gBAAkB,MACpCjtM,OAAOs5D,SAAS/4D,KAAK,KAEzB,IAAIovB,EAA6B,oBAAdqvL,EAA2BA,EAAUa,GAAeb,EACvE,OAAuBhD,EAAAA,cACrBI,GACA,IACKh5G,EACH,eAAgB08G,EAChBn1I,YACApF,MACA51C,QACA4L,KACAqhL,kBAEkB,oBAAbxtI,EAA0BA,EAASywI,GAAezwI,EAE7D,IAEFwvI,GAAQ5rI,YAAc,UACtB,IAAI+sI,GAAO/D,EAAAA,YACT,CAAAgE,EAcG1D,KAAiB,IAdnB,SACCE,EAAW,SAAQ,WACnByD,EAAU,SACV3R,EAAQ,eACRoO,EACA31M,QAAS4rM,EAAQ,MACjBtgM,EAAK,OACLoiM,EAASR,GAAa,OACtB5sG,EAAM,SACN64G,EAAQ,SACRtR,EAAQ,mBACR+N,EAAkB,eAClBC,KACG36G,GACJ+9G,EACKG,EAASC,KACTC,EAyNR,SAAuBh5G,GAA2B,IAAnB,SAAEunG,GAAU5zM,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,GACzC,SAAE+sM,GAAaiU,EAAAA,WAAmB5O,GAClCsD,EAAesL,EAAAA,WAAmB1O,GACtCnH,EAAUuK,EAAc,oDACxB,IAAKj/L,GAASi/L,EAAahP,QAAQ/mM,OAAO,GACtCuU,EAAO,IAAK+/L,GAAgB5nG,GAAkB,IAAK,CAAEunG,cACrDvoL,EAAWwnL,IACf,GAAc,MAAVxmG,EAAgB,CAClBn4F,EAAKsvK,OAASn4J,EAASm4J,OACvB,IAAIl8K,EAAS,IAAIg+M,gBAAgBpxM,EAAKsvK,QAClC+hC,EAAcj+M,EAAOk+M,OAAO,SAC5BC,EAAqBF,EAAY7a,MAAMjqL,GAAY,KAANA,IACjD,GAAIglM,EAAoB,CACtBn+M,EAAOs2K,OAAO,SACd2nC,EAAYvgN,QAAQyb,GAAMA,IAAG5T,SAAS4T,GAAMnZ,EAAO00G,OAAO,QAASv7F,KACnE,IAAIilM,EAAKp+M,EAAOjH,WAChB6T,EAAKsvK,OAASkiC,EAAM,IAAGA,IAAO,EAChC,CACF,CACMr5G,GAAqB,MAAXA,IAAmB51F,EAAMu3L,MAAM5lM,QAC7C8L,EAAKsvK,OAAStvK,EAAKsvK,OAAStvK,EAAKsvK,OAAOz3K,QAAQ,MAAO,WAAa,UAErD,MAAbghM,IACF74L,EAAKulG,SAA6B,MAAlBvlG,EAAKulG,SAAmBszF,EAAWqB,EAAU,CAACrB,EAAU74L,EAAKulG,YAE/E,OAAOwpD,EAAW/uJ,EACpB,CAnPqByxM,CAAct5G,EAAQ,CAAEunG,aACrCgS,EAAsC,QAAzBnM,EAAO32M,cAA0B,MAAQ,OACtD++M,EAA+B,kBAAXx1G,GAAuB80G,GAAoBhgN,KAAKkrG,GAkBxE,OAAuB20G,EAAAA,cACrB,OACA,CACEz2I,IAAK+2I,EACL7H,OAAQmM,EACRv5G,OAAQg5G,EACRH,SAAUxD,EAAiBwD,EAvBV7rG,IAEnB,GADA6rG,GAAYA,EAAS7rG,GACjBA,EAAMylE,iBAAkB,OAC5BzlE,EAAM4lE,iBACN,IAAI4mC,EAAYxsG,EAAMykE,YAAY+nC,UAC9BC,EAAeD,GAAWviJ,aAAa,eAAiBm2I,EAC5D0L,EAAOU,GAAaxsG,EAAMulE,cAAe,CACvCqmC,aACAxL,OAAQqM,EACRxS,WACAvnM,QAAS4rM,EACTtgM,QACAu8L,WACA+N,qBACAC,kBACA,KASG36G,EACH,gBAAkB46G,GAA2B,WAAbL,OAAiC,EAAT,QAE3D,IA8DL,SAASuE,GAA2B9O,GAClC,MAAQ,GAAEA,qGACZ,CACA,SAASkN,GAAsBlN,GAC7B,IAAI9qI,EAAM60I,EAAAA,WAAmBlP,GAE7B,OADA3G,EAAUh/H,EAAK45I,GAA2B9O,IACnC9qI,CACT,CAlEA44I,GAAK/sI,YAAc,OAgJnB,IAAIguI,GAAY,EACZC,GAAqBA,IAAO,KAAIpiM,SAASmiM,QAC7C,SAASZ,KACP,IAAI,OAAElS,GAAWiR,GAAsB,cACnC,SAAEpX,GAAaiU,EAAAA,WAAmB5O,GAClC8T,EAx6FG9S,GAAkB,cAy6FzB,OAAO4N,EAAAA,aACL3uI,eAAOxyD,GAAyB,IAAjB7e,EAAOhB,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAG,CAAC,GACpB,OAAEqsG,EAAM,OAAEotG,EAAM,QAAEF,EAAO,SAAEG,EAAQ,KAAE/tL,GAAS6tL,GAChD35L,EACAktL,GAEF,IAAyB,IAArB/rM,EAAQsyM,SAAoB,CAC9B,IAAIxmM,EAAM9L,EAAQikN,YAAcgB,WAC1B/S,EAAO3yC,MAAMzzJ,EAAKo5M,EAAgBllN,EAAQqrG,QAAUA,EAAQ,CAChEs1G,mBAAoB3gN,EAAQ2gN,mBAC5BjI,WACA/tL,OACAi6L,WAAY5kN,EAAQy4M,QAAUA,EAC9B0M,YAAanlN,EAAQu4M,SAAWA,EAChCzZ,UAAW9+L,EAAQ8+L,WAEvB,YACQoT,EAAOI,SAAStyM,EAAQqrG,QAAUA,EAAQ,CAC9Cs1G,mBAAoB3gN,EAAQ2gN,mBAC5BjI,WACA/tL,OACAi6L,WAAY5kN,EAAQy4M,QAAUA,EAC9B0M,YAAanlN,EAAQu4M,SAAWA,EAChCxtM,QAAS/K,EAAQ+K,QACjBsL,MAAOrW,EAAQqW,MACfk8L,YAAa2S,EACbpmB,UAAW9+L,EAAQ8+L,UACnB8hB,eAAgB5gN,EAAQ4gN,gBAG9B,GACA,CAAC1O,EAAQnG,EAAUmZ,GAEvB,CA2rBc,IAAIE,uGC9hQPC,GAAK,OACLC,GAAM,QACNC,GAAS,WAETC,GAAU,OACVC,GAAU,OACVC,GAAc,OAIdC,GAAS,UAMTC,GAAY,aAIZC,GAAQ,SChBRr/K,GAAM9jC,KAAK8jC,IAMXnhC,GAAOwd,OAAOC,aAMdiW,GAAS35B,OAAO25B,OAepB,SAASjxB,GAAMT,GACrB,OAAOA,EAAMS,MACd,CAOO,SAAS2N,GAAOpO,EAAOy+F,GAC7B,OAAQz+F,EAAQy+F,EAAQhqD,KAAKz0C,IAAUA,EAAM,GAAKA,CACnD,CAQO,SAAS0D,GAAS1D,EAAOy+F,EAASggH,GACxC,OAAOz+M,EAAM0D,QAAQ+6F,EAASggH,EAC/B,CAQO,SAASC,GAAS1+M,EAAOm7K,EAAQ5yG,GACvC,OAAOvoE,EAAMnB,QAAQs8K,EAAQ5yG,EAC9B,CAOO,SAASo2I,GAAQ3+M,EAAOD,GAC9B,OAAiC,EAA1BC,EAAM3H,WAAW0H,EACzB,CAQO,SAAS5B,GAAQ6B,EAAOmmE,EAAOrmE,GACrC,OAAOE,EAAM1I,MAAM6uE,EAAOrmE,EAC3B,CAMO,SAAS8+M,GAAQ5+M,GACvB,OAAOA,EAAMpI,MACd,CAMO,SAASinN,GAAQ7+M,GACvB,OAAOA,EAAMpI,MACd,CAOO,SAAS+7G,GAAQ3zG,EAAOH,GAC9B,OAAOA,EAAMpD,KAAKuD,GAAQA,CAC3B,CAgBO,SAASrD,GAAQkD,EAAO4+F,GAC9B,OAAO5+F,EAAMlD,QAAO,SAAUqD,GAAS,OAAQoO,GAAMpO,EAAOy+F,EAAS,GACtE,CC1HO,IAAIliE,GAAO,EACPnX,GAAS,EACTxtB,GAAS,EACT2wE,GAAW,EACX5tE,GAAY,EACZmkN,GAAa,GAYjB,SAAS/8E,GAAM/hI,EAAO8rE,EAAMu2D,EAAQ9nI,EAAMqkG,EAAO7yB,EAAUn0E,EAAQotM,GACzE,MAAO,CAAChlM,MAAOA,EAAO8rE,KAAMA,EAAMu2D,OAAQA,EAAQ9nI,KAAMA,EAAMqkG,MAAOA,EAAO7yB,SAAUA,EAAUxvC,KAAMA,GAAMnX,OAAQA,GAAQxtB,OAAQA,EAAQo8K,OAAQ,GAAIgxB,SAAUA,EACnK,CAOO,SAAS7vJ,GAAM22B,EAAM8yB,GAC3B,OAAOltE,GAAOqwG,GAAK,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,EAAGj2D,EAAKk5H,UAAWl5H,EAAM,CAACl0E,QAASk0E,EAAKl0E,QAASgnG,EACrG,CAKO,SAASmgH,GAAMjzI,GACrB,KAAOA,EAAKA,MACXA,EAAO32B,GAAK22B,EAAKA,KAAM,CAACC,SAAU,CAACD,KAEpC6nC,GAAO7nC,EAAMA,EAAKk5H,SACnB,CAYO,SAAS19K,KAMf,OALA3sB,GAAY4tE,GAAW,EAAIo2I,GAAOG,KAAcv2I,IAAY,EAExDnjD,KAAwB,KAAdzqB,KACbyqB,GAAS,EAAGmX,MAEN5hC,EACR,CAKO,SAAS0/F,KAMf,OALA1/F,GAAY4tE,GAAW3wE,GAAS+mN,GAAOG,GAAYv2I,MAAc,EAE7DnjD,KAAwB,KAAdzqB,KACbyqB,GAAS,EAAGmX,MAEN5hC,EACR,CAKO,SAASqkN,KACf,OAAOL,GAAOG,GAAYv2I,GAC3B,CAKO,SAAS02I,KACf,OAAO12I,EACR,CAOO,SAASjxE,GAAO6uE,EAAOrmE,GAC7B,OAAO3B,GAAO2gN,GAAY34I,EAAOrmE,EAClC,CAMO,SAASjC,GAAOtD,GACtB,OAAQA,GAEP,KAAK,EAAG,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GACtC,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,IAE3D,KAAK,GAAI,KAAK,IAAK,KAAK,IACvB,OAAO,EAER,KAAK,GACJ,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAC/B,OAAO,EAER,KAAK,GAAI,KAAK,GACb,OAAO,EAGT,OAAO,CACR,CAMO,SAAS2kN,GAAOl/M,GACtB,OAAOu8B,GAAOnX,GAAS,EAAGxtB,GAASgnN,GAAOE,GAAa9+M,GAAQuoE,GAAW,EAAG,EAC9E,CAMO,SAAS42I,GAASn/M,GACxB,OAAO8+M,GAAa,GAAI9+M,CACzB,CAMO,SAASo/M,GAAS7kN,GACxB,OAAOkG,GAAKnJ,GAAMixE,GAAW,EAAGn/D,GAAmB,KAAT7O,EAAcA,EAAO,EAAa,KAATA,EAAcA,EAAO,EAAIA,IAC7F,CAcO,SAAS8kN,GAAY9kN,GAC3B,MAAOI,GAAYqkN,OACdrkN,GAAY,IACf0/F,KAIF,OAAOx8F,GAAMtD,GAAQ,GAAKsD,GAAMlD,IAAa,EAAI,GAAK,GACvD,CAwBO,SAAS2kN,GAAUv/M,EAAOhB,GAChC,OAASA,GAASs7F,QAEb1/F,GAAY,IAAMA,GAAY,KAAQA,GAAY,IAAMA,GAAY,IAAQA,GAAY,IAAMA,GAAY,MAG/G,OAAOrD,GAAMyI,EAAOk/M,MAAWlgN,EAAQ,GAAe,IAAVigN,MAA0B,IAAV3kH,MAC7D,CAMO,SAASjxF,GAAW7O,GAC1B,KAAO8/F,aACE1/F,IAEP,KAAKJ,EACJ,OAAOguE,GAER,KAAK,GAAI,KAAK,GACA,KAAThuE,GAAwB,KAATA,GAClB6O,GAAUzO,IACX,MAED,KAAK,GACS,KAATJ,GACH6O,GAAU7O,GACX,MAED,KAAK,GACJ8/F,KAIH,OAAO9xB,EACR,CAOO,SAASg3I,GAAWhlN,EAAMwF,GAChC,KAAOs6F,MAEF9/F,EAAOI,KAAc,KAGhBJ,EAAOI,KAAc,IAAsB,KAAXqkN,QAG1C,MAAO,KAAO1nN,GAAMyI,EAAOwoE,GAAW,GAAK,IAAMvqE,GAAc,KAATzD,EAAcA,EAAO8/F,KAC5E,CAMO,SAASmlH,GAAYz/M,GAC3B,MAAQlC,GAAMmhN,OACb3kH,KAED,OAAO/iG,GAAMyI,EAAOwoE,GACrB,CCxPO,SAASk3I,GAAW1zI,EAAUjE,GAGpC,IAFA,IAAIvsD,EAAS,GAEJ1jB,EAAI,EAAGA,EAAIk0E,EAASn0E,OAAQC,IACpC0jB,GAAUusD,EAASiE,EAASl0E,GAAIA,EAAGk0E,EAAUjE,IAAa,GAE3D,OAAOvsD,CACR,CASO,SAASlc,GAAWurB,EAAS7qB,EAAOgsE,EAAUjE,GACpD,OAAQl9C,EAAQrwB,MACf,KAAKikN,GAAO,GAAI5zL,EAAQmhD,SAASn0E,OAAQ,MACzC,KAAK0mN,GAAQ,KAAKD,GAAa,OAAOzzL,EAAQopJ,OAASppJ,EAAQopJ,QAAUppJ,EAAQ5qB,MACjF,KAAKm+M,GAAS,MAAO,GACrB,KAAKI,GAAW,OAAO3zL,EAAQopJ,OAASppJ,EAAQ5qB,MAAQ,IAAMy/M,GAAU70L,EAAQmhD,SAAUjE,GAAY,IACtG,KAAKs2I,GAAS,IAAKQ,GAAOh0L,EAAQ5qB,MAAQ4qB,EAAQg0E,MAAM1hG,KAAK,MAAO,MAAO,GAG5E,OAAO0hN,GAAO7yI,EAAW0zI,GAAU70L,EAAQmhD,SAAUjE,IAAal9C,EAAQopJ,OAASppJ,EAAQ5qB,MAAQ,IAAM+rE,EAAW,IAAM,EAC3H,CCzBO,SAAShmE,GAAQ/F,EAAOpI,EAAQm0E,GACtC,OHaM,SAAe/rE,EAAOpI,GAC5B,OAA0B,GAAnB+mN,GAAO3+M,EAAO,MAAiBpI,GAAU,EAAK+mN,GAAO3+M,EAAO,KAAO,EAAK2+M,GAAO3+M,EAAO,KAAO,EAAK2+M,GAAO3+M,EAAO,KAAO,EAAK2+M,GAAO3+M,EAAO,GAAK,CACvJ,CGfS7H,CAAK6H,EAAOpI,IAEnB,KAAK,KACJ,OAAOsmN,GAAS,SAAWl+M,EAAQA,EAEpC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAEvE,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAE5D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAE5D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAC3D,OAAOk+M,GAASl+M,EAAQA,EAEzB,KAAK,KACJ,OAAOi+M,GAAMj+M,EAAQA,EAEtB,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAChD,OAAOk+M,GAASl+M,EAAQi+M,GAAMj+M,EAAQg+M,GAAKh+M,EAAQA,EAEpD,KAAK,KACJ,OAAQ2+M,GAAO3+M,EAAOpI,EAAS,KAE9B,KAAK,IACJ,OAAOsmN,GAASl+M,EAAQg+M,GAAKt6M,GAAQ1D,EAAO,qBAAsB,MAAQA,EAE3E,KAAK,IACJ,OAAOk+M,GAASl+M,EAAQg+M,GAAKt6M,GAAQ1D,EAAO,qBAAsB,SAAWA,EAE9E,KAAK,GACJ,OAAOk+M,GAASl+M,EAAQg+M,GAAKt6M,GAAQ1D,EAAO,qBAAsB,MAAQA,EAI7E,KAAK,KAAM,KAAK,KAAM,KAAK,KAC1B,OAAOk+M,GAASl+M,EAAQg+M,GAAKh+M,EAAQA,EAEtC,KAAK,KACJ,OAAOk+M,GAASl+M,EAAQg+M,GAAK,QAAUh+M,EAAQA,EAEhD,KAAK,KACJ,OAAOk+M,GAASl+M,EAAQ0D,GAAQ1D,EAAO,iBAAkBk+M,GAAS,WAAaF,GAAK,aAAeh+M,EAEpG,KAAK,KACJ,OAAOk+M,GAASl+M,EAAQg+M,GAAK,aAAet6M,GAAQ1D,EAAO,eAAgB,KAAQoO,GAAMpO,EAAO,kBAA4E,GAAxDg+M,GAAK,YAAct6M,GAAQ1D,EAAO,eAAgB,KAAYA,EAEnL,KAAK,KACJ,OAAOk+M,GAASl+M,EAAQg+M,GAAK,iBAAmBt6M,GAAQ1D,EAAO,6BAA8B,IAAMA,EAEpG,KAAK,KACJ,OAAOk+M,GAASl+M,EAAQg+M,GAAKt6M,GAAQ1D,EAAO,SAAU,YAAcA,EAErE,KAAK,KACJ,OAAOk+M,GAASl+M,EAAQg+M,GAAKt6M,GAAQ1D,EAAO,QAAS,kBAAoBA,EAE1E,KAAK,KACJ,OAAOk+M,GAAS,OAASx6M,GAAQ1D,EAAO,QAAS,IAAMk+M,GAASl+M,EAAQg+M,GAAKt6M,GAAQ1D,EAAO,OAAQ,YAAcA,EAEnH,KAAK,KACJ,OAAOk+M,GAASx6M,GAAQ1D,EAAO,qBAAsB,KAAOk+M,GAAS,MAAQl+M,EAE9E,KAAK,KACJ,OAAO0D,GAAQA,GAAQA,GAAQ1D,EAAO,eAAgBk+M,GAAS,MAAO,cAAeA,GAAS,MAAOl+M,EAAO,IAAMA,EAEnH,KAAK,KAAM,KAAK,KACf,OAAO0D,GAAQ1D,EAAO,oBAAqBk+M,aAE5C,KAAK,KACJ,OAAOx6M,GAAQA,GAAQ1D,EAAO,oBAAqBk+M,GAAS,cAAgBF,GAAK,gBAAiB,aAAc,WAAaE,GAASl+M,EAAQA,EAE/I,KAAK,KACJ,IAAKoO,GAAMpO,EAAO,kBAAmB,OAAOg+M,GAAK,oBAAsB7/M,GAAO6B,EAAOpI,GAAUoI,EAC/F,MAED,KAAK,KAAM,KAAK,KACf,OAAOg+M,GAAKt6M,GAAQ1D,EAAO,YAAa,IAAMA,EAE/C,KAAK,KAAM,KAAK,KACf,OAAI+rE,GAAYA,EAASs2H,MAAK,SAAUz3K,EAAS7qB,GAAS,OAAOnI,EAASmI,EAAOqO,GAAMwc,EAAQg0E,MAAO,eAAgB,KAC7G8/G,GAAQ1+M,GAAS+rE,EAAWA,EAASn0E,GAAQoI,OAAQ,OAAQ,GAAKA,EAASg+M,GAAKt6M,GAAQ1D,EAAO,SAAU,IAAMA,EAAQg+M,GAAK,mBAAqBU,GAAQ3yI,EAAU,OAAQ,GAAK39D,GAAM29D,EAAU,QAAU39D,GAAM29D,EAAU,QAAU39D,GAAMpO,EAAO,QAAU,IAE7Pg+M,GAAKt6M,GAAQ1D,EAAO,SAAU,IAAMA,EAE5C,KAAK,KAAM,KAAK,KACf,OAAQ+rE,GAAYA,EAASs2H,MAAK,SAAUz3K,GAAW,OAAOxc,GAAMwc,EAAQg0E,MAAO,iBAAkB,IAAM5+F,EAAQg+M,GAAKt6M,GAAQA,GAAQ1D,EAAO,OAAQ,SAAU,QAAS,IAAMA,EAEjL,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACrC,OAAO0D,GAAQ1D,EAAO,kBAAmBk+M,GAAS,QAAUl+M,EAE7D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACtC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACtC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAErC,GAAI4+M,GAAO5+M,GAAS,EAAIpI,EAAS,EAChC,OAAQ+mN,GAAO3+M,EAAOpI,EAAS,IAE9B,KAAK,IAEJ,GAAkC,KAA9B+mN,GAAO3+M,EAAOpI,EAAS,GAC1B,MAEF,KAAK,IACJ,OAAO8L,GAAQ1D,EAAO,mBAAoB,KAAOk+M,GAAP,UAAiCD,IAAoC,KAA7BU,GAAO3+M,EAAOpI,EAAS,GAAY,KAAO,UAAYoI,EAEzI,KAAK,IACJ,OAAQ0+M,GAAQ1+M,EAAO,UAAW,GAAK+F,GAAOrC,GAAQ1D,EAAO,UAAW,kBAAmBpI,EAAQm0E,GAAY/rE,EAAQA,EAE1H,MAED,KAAK,KAAM,KAAK,KACf,OAAO0D,GAAQ1D,EAAO,6CAA6C,SAAUK,EAAGma,EAAGC,EAAGrhB,EAAGwhB,EAAGiH,EAAGK,GAAK,OAAQ87L,GAAKxjM,EAAI,IAAMC,EAAIyH,GAAM9oB,EAAK4kN,GAAKxjM,EAAI,UAAYI,EAAIiH,GAAKA,GAAKpH,GAAMyH,EAAI,IAAMliB,CAAM,IAEpM,KAAK,KAEJ,GAAkC,MAA9B2+M,GAAO3+M,EAAOpI,EAAS,GAC1B,OAAO8L,GAAQ1D,EAAO,IAAK,IAAMk+M,IAAUl+M,EAC5C,MAED,KAAK,KACJ,OAAQ2+M,GAAO3+M,EAA6B,KAAtB2+M,GAAO3+M,EAAO,IAAa,GAAK,KAErD,KAAK,IACJ,OAAO0D,GAAQ1D,EAAO,gCAAiC,KAAOk+M,IAAgC,KAAtBS,GAAO3+M,EAAO,IAAa,UAAY,IAAxD,UAA+Ek+M,GAA/E,SAAwGF,GAAK,WAAah+M,EAElL,KAAK,IACJ,OAAO0D,GAAQ1D,EAAO,IAAK,IAAMg+M,IAAMh+M,EAEzC,MAED,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAChD,OAAO0D,GAAQ1D,EAAO,UAAW,gBAAkBA,EAGrD,OAAOA,CACR,CCvGO,SAAS0/M,GAAU90L,EAAS7qB,EAAOgsE,EAAUjE,GACnD,GAAIl9C,EAAQhzB,QAAU,IAChBgzB,EAAQopJ,OACZ,OAAQppJ,EAAQrwB,MACf,KAAK8jN,GACJ,YADiBzzL,EAAQopJ,OAASjuK,GAAO6kB,EAAQ5qB,MAAO4qB,EAAQhzB,OAAQm0E,IAEzE,KAAKwyI,GACJ,OAAOkB,GAAU,CAACtqK,GAAKvqB,EAAS,CAAC5qB,MAAO0D,GAAQknB,EAAQ5qB,MAAO,IAAK,IAAMk+M,OAAYp2I,GACvF,KAAKs2I,GACJ,GAAIxzL,EAAQhzB,OACX,OJ8DC,SAAkBiI,EAAOioE,GAC/B,OAAOjoE,EAAMjC,IAAIkqE,GAAU5qE,KAAK,GACjC,CIhEayiN,CAAQ5zI,EAAWnhD,EAAQg0E,OAAO,SAAU5+F,GAClD,OAAQoO,GAAMpO,EAAO8nE,EAAW,0BAE/B,IAAK,aAAc,IAAK,cACvBi3I,GAAK5pK,GAAKvqB,EAAS,CAACg0E,MAAO,CAACl7F,GAAQ1D,EAAO,cAAe,IAAMi+M,GAAM,UACtEc,GAAK5pK,GAAKvqB,EAAS,CAACg0E,MAAO,CAAC5+F,MAC5B0xB,GAAO9G,EAAS,CAACg0E,MAAOjiG,GAAOovE,EAAUjE,KACzC,MAED,IAAK,gBACJi3I,GAAK5pK,GAAKvqB,EAAS,CAACg0E,MAAO,CAACl7F,GAAQ1D,EAAO,aAAc,IAAMk+M,GAAS,gBACxEa,GAAK5pK,GAAKvqB,EAAS,CAACg0E,MAAO,CAACl7F,GAAQ1D,EAAO,aAAc,IAAMi+M,GAAM,UACrEc,GAAK5pK,GAAKvqB,EAAS,CAACg0E,MAAO,CAACl7F,GAAQ1D,EAAO,aAAcg+M,GAAK,gBAC9De,GAAK5pK,GAAKvqB,EAAS,CAACg0E,MAAO,CAAC5+F,MAC5B0xB,GAAO9G,EAAS,CAACg0E,MAAOjiG,GAAOovE,EAAUjE,KAI3C,MAAO,EACR,IAEN,CChEO,SAAS83I,GAAS5/M,GACxB,OAAOm/M,GAAQ//M,GAAM,GAAI,KAAM,KAAM,KAAM,CAAC,IAAKY,EAAQk/M,GAAMl/M,GAAQ,EAAG,CAAC,GAAIA,GAChF,CAcO,SAASZ,GAAOY,EAAO8rE,EAAMu2D,EAAQstB,EAAMkwD,EAAOC,EAAUC,EAAQ3iG,EAAQ4iG,GAiBlF,IAhBA,IAAIjgN,EAAQ,EACRgmD,EAAS,EACTnuD,EAASmoN,EACTE,EAAS,EACT9kD,EAAW,EACX30I,EAAW,EACX6sG,EAAW,EACX6sF,EAAW,EACXC,EAAY,EACZxlN,EAAY,EACZJ,EAAO,GACPqkG,EAAQihH,EACR9zI,EAAW+zI,EACXM,EAAYzwD,EACZmvD,EAAavkN,EAEV2lN,UACE15L,EAAW7rB,EAAWA,EAAY0/F,MAEzC,KAAK,GACJ,GAAgB,KAAZ7zE,GAAqD,IAAlCm4L,GAAOG,EAAYlnN,EAAS,GAAU,EACsD,GAA9G8mN,GAAQI,GAAcp7M,GAAQ07M,GAAQzkN,GAAY,IAAK,OAAQ,MAAOwkC,GAAIp/B,EAAQq9G,EAAOr9G,EAAQ,GAAK,MACzGogN,GAAa,GACd,KACD,CAED,KAAK,GAAI,KAAK,GAAI,KAAK,GACtBrB,GAAcM,GAAQzkN,GACtB,MAED,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GAC9BmkN,GAAcO,GAAW74L,GACzB,MAED,KAAK,GACJs4L,GAAcQ,GAASL,KAAU,EAAG,GACpC,SAED,KAAK,GACJ,OAAQD,MACP,KAAK,GAAI,KAAK,GACbrrG,GAAOriD,GAAQiuJ,GAAUllH,KAAQ4kH,MAAUnzI,EAAMu2D,EAAQ29E,GAAeA,GACxE,MACD,QACClB,GAAc,IAEhB,MAED,KAAK,IAAMzrF,EACVjW,EAAOr9G,KAAW6+M,GAAOE,GAAcqB,EAExC,KAAK,IAAM9sF,EAAU,KAAK,GAAI,KAAK,EAClC,OAAQ14H,GAEP,KAAK,EAAG,KAAK,IAAKulN,EAAW,EAE7B,KAAK,GAAKn6J,GAA0B,GAAdo6J,IAAiBrB,EAAap7M,GAAQo7M,EAAY,MAAO,KAC1E3jD,EAAW,GAAMyjD,GAAOE,GAAclnN,GACzC+7G,GAAOwnD,EAAW,GAAKklD,GAAYvB,EAAa,IAAKnvD,EAAMttB,EAAQzqI,EAAS,EAAGooN,GAAgBK,GAAY38M,GAAQo7M,EAAY,IAAK,IAAM,IAAKnvD,EAAMttB,EAAQzqI,EAAS,EAAGooN,GAAeA,GACzL,MAED,KAAK,GAAIlB,GAAc,IAEvB,QAGC,GAFAnrG,GAAOysG,EAAYE,GAAQxB,EAAYhzI,EAAMu2D,EAAQtiI,EAAOgmD,EAAQ85J,EAAOziG,EAAQ7iH,EAAMqkG,EAAQ,GAAI7yB,EAAW,GAAIn0E,EAAQkoN,GAAWA,GAErH,MAAdnlN,EACH,GAAe,IAAXorD,EACH3mD,GAAM0/M,EAAYhzI,EAAMs0I,EAAWA,EAAWxhH,EAAOkhH,EAAUloN,EAAQwlH,EAAQrxC,QAE/E,OAAmB,KAAXk0I,GAA2C,MAA1BtB,GAAOG,EAAY,GAAa,IAAMmB,GAE9D,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAClC7gN,GAAMY,EAAOogN,EAAWA,EAAWzwD,GAAQh8C,GAAO2sG,GAAQtgN,EAAOogN,EAAWA,EAAW,EAAG,EAAGP,EAAOziG,EAAQ7iH,EAAMslN,EAAOjhH,EAAQ,GAAIhnG,EAAQm0E,GAAWA,GAAW8zI,EAAO9zI,EAAUn0E,EAAQwlH,EAAQuyC,EAAO/wD,EAAQ7yB,GACnN,MACD,QACC3sE,GAAM0/M,EAAYsB,EAAWA,EAAWA,EAAW,CAAC,IAAKr0I,EAAU,EAAGqxC,EAAQrxC,IAIpFhsE,EAAQgmD,EAASo1G,EAAW,EAAG9nC,EAAW8sF,EAAY,EAAG5lN,EAAOukN,EAAa,GAAIlnN,EAASmoN,EAC1F,MAED,KAAK,GACJnoN,EAAS,EAAIgnN,GAAOE,GAAa3jD,EAAW30I,EAC7C,QACC,GAAI6sG,EAAW,EACd,GAAiB,KAAb14H,IACD04H,OACE,GAAiB,KAAb14H,GAAkC,GAAd04H,KAA6B,KAAV/rG,KAC/C,SAEF,OAAQw3L,GAAc9gN,GAAKrD,GAAYA,EAAY04H,GAElD,KAAK,GACJ8sF,EAAYp6J,EAAS,EAAI,GAAK+4J,GAAc,MAAO,GACnD,MAED,KAAK,GACJ1hG,EAAOr9G,MAAY6+M,GAAOE,GAAc,GAAKqB,EAAWA,EAAY,EACpE,MAED,KAAK,GAEW,KAAXnB,OACHF,GAAcM,GAAQ/kH,OAEvB4lH,EAASjB,KAAQj5J,EAASnuD,EAASgnN,GAAOrkN,EAAOukN,GAAcU,GAAWP,OAAWtkN,IACrF,MAED,KAAK,GACa,KAAb6rB,GAAyC,GAAtBo4L,GAAOE,KAC7BzrF,EAAW,IAIjB,OAAOysF,CACR,CAiBO,SAASQ,GAAStgN,EAAO8rE,EAAMu2D,EAAQtiI,EAAOgmD,EAAQ85J,EAAOziG,EAAQ7iH,EAAMqkG,EAAO7yB,EAAUn0E,EAAQotM,GAK1G,IAJA,IAAIl8J,EAAOid,EAAS,EAChB4pG,EAAkB,IAAX5pG,EAAe85J,EAAQ,CAAC,IAC/B3/M,EAAO2+M,GAAOlvD,GAET93J,EAAI,EAAGK,EAAI,EAAGE,EAAI,EAAGP,EAAIkI,IAASlI,EAC1C,IAAK,IAAI8M,EAAI,EAAGC,EAAIzG,GAAO6B,EAAO8oC,EAAO,EAAGA,EAAO3J,GAAIjnC,EAAIklH,EAAOvlH,KAAMkxC,EAAI/oC,EAAO2E,EAAIzE,IAAQyE,GAC1FokC,EAAItoC,GAAKvI,EAAI,EAAIy3J,EAAKhrJ,GAAK,IAAMC,EAAIlB,GAAQkB,EAAG,OAAQ+qJ,EAAKhrJ,QAChEi6F,EAAMxmG,KAAO2wC,GAEhB,OAAOg5F,GAAK/hI,EAAO8rE,EAAMu2D,EAAmB,IAAXt8E,EAAeq4J,GAAU7jN,EAAMqkG,EAAO7yB,EAAUn0E,EAAQotM,EAC1F,CASO,SAAS1zI,GAAStxD,EAAO8rE,EAAMu2D,EAAQ2iE,GAC7C,OAAOjjE,GAAK/hI,EAAO8rE,EAAMu2D,EAAQ87E,GAASngN,GJtInCrD,IIsIiDwD,GAAO6B,EAAO,GAAI,GAAI,EAAGglM,EAClF,CAUO,SAASqb,GAAargN,EAAO8rE,EAAMu2D,EAAQzqI,EAAQotM,GACzD,OAAOjjE,GAAK/hI,EAAO8rE,EAAMu2D,EAAQg8E,GAAalgN,GAAO6B,EAAO,EAAGpI,GAASuG,GAAO6B,EAAOpI,EAAS,GAAI,GAAIA,EAAQotM,EAChH,CCjMA,IAAIub,GAAe,CACjBrvC,wBAAyB,EACzBC,YAAa,EACbC,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbxrJ,QAAS,EACTq3G,KAAM,EACNo0C,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXE,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjBguC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClB5yL,WAAY,EACZ7F,WAAY,EACZgnH,QAAS,EACTwjC,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,OAAQ,EACRrpG,OAAQ,EACRhL,KAAM,EACNoiJ,gBAAiB,EAEjB79I,YAAa,EACb+vG,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBtwG,cAAe,EACfmwF,YAAa,GC5CF7wI,GACS,oBAAZsyB,cAAA,IACCA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,KACNA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYqsK,mBAAqBrsK,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYssK,UAChD,cAEWjkN,GAAiB,SACjB+H,GAAkB,sBAClBwT,GAAa,SACbhQ,GAAW,YAEX2sC,GAA+B,oBAAXn4B,QAA0B,gBAAiBA,OAE/DgqB,GAAiBqvB,QACC,kBAAtB8qJ,kBACHA,kBACmB,oBAAZvsK,cAAA,IACEA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,SAAQ,IACRA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYwsK,6BACyB,KAA5CxsK,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYwsK,4BACgC,UAA5CxsK,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYwsK,6BAEVxsK,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYwsK,4BACK,oBAAZxsK,cAAA,IACEA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,SAAQ,IACRA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYusK,mBACe,KAAlCvsK,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYusK,oBACsB,UAAlCvsK,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYusK,mBAEVvsK,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYusK,oBC9BX1gN,ICCA,IAAIwuK,IDDU92K,OAAOqkH,OAAO,KAC5Bz7F,GAAe5oB,OAAOqkH,OAAO,CAAC,GEAnB,SAAAhnE,GACtBvzB,EACAnH,EACA9d,GAEA,YAAO,IAFPA,IAAAA,EAAiE+jB,IAEzDkB,EAAMqS,QAAUt3B,EAAas3B,OAASrS,EAAMqS,OAAUxZ,GAAiB9d,EAAas3B,KAC9F,CCPA,IAwIA4gB,GAAe,IAAI+5H,IAxIF,CACf,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,IACA,KACA,MACA,MACA,QACA,MACA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,UCrIIv5H,GAAc,wCAEdqF,GAAe,WAMG,SAAAG,GAAOj5B,GAC7B,OAAOA,EACJne,QAAQ4xC,GAAa,KACrB5xC,QAAQi3C,GAAc,GAC3B,CCdA,IAAMp7B,GAAgB,WAIhBnnB,GAAc,GAGdF,GAAoB,SAAC2pB,GAAiB,OAAArG,OAAOC,aAAaoG,GAAQA,EAAO,GAAK,GAAK,IAA7C,EAGpB,SAAAld,GAAuBkd,GAC7C,IACInH,EADA9d,EAAO,GAIX,IAAK8d,EAAIrf,KAAK8jC,IAAItd,GAAOnH,EAAItiB,GAAasiB,EAAKA,EAAItiB,GAAe,EAChEwE,EAAO1E,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B,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,cAAeslB,EAAE4/W,GACpC,IAAe,CAAEllY,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAA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,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,IAAK,WACL,IAAK,WACL,IAAK,aACL,IAAK,aACL,IAAK,eACL,IAAK,eACL,IAAK,cACL,IAAK,qBACL,IAAK,yBACL,IAAK,mBACL,IAAK,WACL,IAAK,iBACL,IAAK,iBACL,IAAK,eACL,IAAK,YACL,IAAK,mBACL,IAAK,mBACL,IAAK,iBACL,IAAK,kBACL,IAAK,oBACL,I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CL,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,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,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","sources":["../node_modules/chance/chance.js","../node_modules/lower-case/src/index.ts","../node_modules/no-case/src/index.ts","../node_modules/pascal-case/src/index.ts","../node_modules/camel-case/src/index.ts","../node_modules/upper-case-first/src/index.ts","../node_modules/capital-case/src/index.ts","../node_modules/upper-case/src/index.ts","../node_modules/constant-case/src/index.ts","../node_modules/dot-case/src/index.ts","../node_modules/header-case/src/index.ts","../node_modules/param-case/src/index.ts","../node_modules/path-case/src/index.ts","../node_modules/sentence-case/src/index.ts","../node_modules/snake-case/src/index.ts","../node_modules/crc-32/crc32.js","../node_modules/file-saver/src/FileSaver.js","../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js","../node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_arrayReduce.js","../node_modules/lodash/_asciiWords.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_basePropertyOf.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_createCompounder.js","../node_modules/lodash/_deburrLetter.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_hasUnicodeWord.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_root.js","../node_modules/lodash/_unicodeWords.js","../node_modules/lodash/deburr.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/kebabCase.js","../node_modules/lodash/toString.js","../node_modules/lodash/words.js","../node_modules/lottie-react/compiled/hooks/useLottie.js","../node_modules/lottie-react/compiled/hooks/useLottieInteractivity.js","../node_modules/lottie-react/compiled/components/Lottie.js","../node_modules/lottie-web/build/player/lottie.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-router/node_modules/cookie/src/index.ts","../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/shallowequal/index.js","../node_modules/style-dictionary/lib/utils/deepExtend.js","../node_modules/style-dictionary/lib/utils/es6_.js","../node_modules/style-dictionary/lib/utils/flattenProperties.js","../node_modules/style-dictionary/lib/utils/references/createReferenceRegex.js","../node_modules/style-dictionary/lib/utils/references/defaults.js","../node_modules/style-dictionary/lib/utils/references/usesReference.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/tslib/tslib.es6.mjs","../webpack/bootstrap","../webpack/runtime/amd options","../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","../webpack/runtime/nonce","../node_modules/react-router/dist/production/chunk-7R3XDUXW.mjs","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Middleware.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/styled-components/src/constants.ts","../node_modules/styled-components/src/utils/empties.ts","../node_modules/styled-components/src/utils/checkDynamicCreation.ts","../node_modules/styled-components/src/utils/determineTheme.ts","../node_modules/styled-components/src/utils/domElements.ts","../node_modules/styled-components/src/utils/escape.ts","../node_modules/styled-components/src/utils/generateAlphabeticName.ts","../node_modules/styled-components/src/utils/hash.ts","../node_modules/styled-components/src/utils/generateComponentId.ts","../node_modules/styled-components/src/utils/getComponentName.ts","../node_modules/styled-components/src/utils/isTag.ts","../node_modules/styled-components/src/utils/hoist.ts","../node_modules/styled-components/src/utils/isFunction.ts","../node_modules/styled-components/src/utils/isStyledComponent.ts","../node_modules/styled-components/src/utils/joinStrings.ts","../node_modules/styled-components/src/utils/isPlainObject.ts","../node_modules/styled-components/src/utils/mixinDeep.ts","../node_modules/styled-components/src/utils/setToString.ts","../node_modules/styled-components/src/utils/error.ts","../node_modules/styled-components/src/sheet/GroupedTag.ts","../node_modules/styled-components/src/sheet/GroupIDAllocator.ts","../node_modules/styled-components/src/sheet/Rehydration.ts","../node_modules/styled-components/src/utils/nonce.ts","../node_modules/styled-components/src/sheet/dom.ts","../node_modules/styled-components/src/sheet/Tag.ts","../node_modules/styled-components/src/sheet/Sheet.ts","../node_modules/styled-components/src/utils/stylis.ts","../node_modules/styled-components/src/models/StyleSheetManager.tsx","../node_modules/styled-components/src/models/Keyframes.ts","../node_modules/styled-components/src/utils/hyphenateStyleName.ts","../node_modules/styled-components/src/utils/flatten.ts","../node_modules/styled-components/src/utils/addUnitIfNeeded.ts","../node_modules/styled-components/src/utils/isStatelessFunction.ts","../node_modules/styled-components/src/utils/isStaticRules.ts","../node_modules/styled-components/src/models/ComponentStyle.ts","../node_modules/styled-components/src/models/ThemeProvider.tsx","../node_modules/styled-components/src/models/StyledComponent.ts","../node_modules/styled-components/src/utils/generateDisplayName.ts","../node_modules/styled-components/src/utils/interleave.ts","../node_modules/styled-components/src/constructors/css.ts","../node_modules/styled-components/src/constructors/constructWithOptions.ts","../node_modules/styled-components/src/constructors/styled.tsx","../node_modules/styled-components/src/models/GlobalStyle.ts","../node_modules/styled-components/src/constructors/keyframes.ts","../node_modules/styled-components/src/models/ServerStyleSheet.tsx","../node_modules/styled-components/src/base.ts","components/ui/textual/Title.js","components/ui/textual/Text.js","components/ui/dynamic/CurrentDate.js","components/box/section/Hero.js","components/box/container/Container.js","../node_modules/gsap/gsap-core.js","../node_modules/gsap/CSSPlugin.js","../node_modules/gsap/index.js","../node_modules/gsap/Observer.js","../node_modules/gsap/ScrollTrigger.js","components/animation/AnimationGsap.js","components/box/container/HighLightContainer.js","components/box/container/Column.js","../node_modules/@aws-amplify/core/src/Logger/types.ts","../node_modules/@aws-amplify/core/src/Logger/ConsoleLogger.ts","../node_modules/@aws-amplify/core/src/constants.ts","../node_modules/@aws-amplify/core/src/errors/AmplifyError.ts","../node_modules/@aws-amplify/core/src/Hub/index.ts","../node_modules/@aws-amplify/core/src/utils/deepFreeze.ts","../node_modules/@aws-amplify/core/src/singleton/constants.ts","../node_modules/@aws-amplify/core/src/parseAWSExports.ts","../node_modules/@aws-amplify/core/src/parseAmplifyOutputs.ts","../node_modules/@aws-amplify/core/src/utils/parseAmplifyConfig.ts","../node_modules/@aws-amplify/core/src/singleton/Auth/index.ts","../node_modules/@aws-crypto/sha256-js/src/constants.ts","../node_modules/@aws-crypto/sha256-js/src/RawSha256.ts","../node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js","../node_modules/@aws-crypto/util/src/convertToBuffer.ts","../node_modules/@aws-crypto/sha256-js/src/jsSha256.ts","../node_modules/@aws-crypto/util/src/isEmptyData.ts","../node_modules/@smithy/util-hex-encoding/dist-es/index.js","../node_modules/@aws-amplify/core/src/singleton/Amplify.ts","../node_modules/@aws-amplify/core/src/singleton/apis/fetchAuthSession.ts","../node_modules/@aws-amplify/core/src/singleton/apis/internal/fetchAuthSession.ts","../node_modules/@aws-amplify/core/src/utils/globalHelpers/index.ts","../node_modules/@aws-amplify/core/src/utils/convert/base64/base64Decoder.ts","../node_modules/@aws-amplify/core/src/errors/createAssertionFunction.ts","../node_modules/@aws-amplify/core/src/singleton/Auth/utils/errorHelpers.ts","../node_modules/@aws-amplify/core/src/singleton/Auth/utils/index.ts","../node_modules/@aws-amplify/auth/src/errors/AuthError.ts","../node_modules/@aws-amplify/auth/src/errors/constants.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/types.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/getCurrentUser.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/internal/getCurrentUser.ts","../node_modules/@aws-amplify/core/src/Platform/types.ts","../node_modules/@aws-amplify/storage/src/errors/types/validation.ts","../node_modules/@aws-amplify/core/src/clients/serde/responseInfo.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/constants.ts","../node_modules/@aws-amplify/core/src/utils/amplifyUrl/index.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSignature.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.ts","../node_modules/@aws-amplify/core/src/clients/internal/composeServiceApi.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/runtime/constants.ts","../node_modules/@aws-amplify/core/src/clients/middleware/userAgent/middleware.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/middleware.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/signRequest.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/utils/getSkewCorrectedDate.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/utils/getUpdatedSystemClockOffset.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/utils/isClockSkewed.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/middleware.ts","../node_modules/@aws-amplify/core/src/clients/internal/composeTransferHandler.ts","../node_modules/@aws-amplify/core/src/clients/utils/memoization.ts","../node_modules/@aws-amplify/storage/src/errors/StorageError.ts","../node_modules/@aws-amplify/storage/src/errors/CanceledError.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/runtime/xhrTransferHandler.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/runtime/s3TransferHandler/xhr.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/runtime/contentSha256middleware.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/utils/deserializeHelpers.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/utils/extendedEncodeURIComponent.ts","../node_modules/@aws-amplify/core/src/types/errors.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/utils/serializeHelpers.ts","../node_modules/@aws-amplify/storage/src/errors/IntegrityError.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/validateObjectUrl.ts","../node_modules/@aws-amplify/core/src/Platform/version.ts","../node_modules/@aws-amplify/core/src/Platform/detection/helpers.ts","../node_modules/@aws-amplify/core/src/Platform/detection/index.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Expo.ts","../node_modules/@aws-amplify/core/src/Platform/detection/ReactNative.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Next.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Nuxt.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Angular.ts","../node_modules/@aws-amplify/core/src/Platform/detection/React.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Vue.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Svelte.ts","../node_modules/@aws-amplify/core/src/Platform/detection/Web.ts","../node_modules/@aws-amplify/core/src/Platform/detectFramework.ts","../node_modules/@aws-amplify/core/src/Platform/customUserAgent.ts","../node_modules/@aws-amplify/core/src/Platform/index.ts","../node_modules/@aws-amplify/core/src/clients/endpoints/partitions.ts","../node_modules/@aws-amplify/core/src/clients/endpoints/getDnsSuffix.ts","../node_modules/@aws-amplify/core/src/utils/retry/constants.ts","../node_modules/@aws-amplify/core/src/utils/retry/jitteredBackoff.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/jitteredBackoff.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/runtime/xmlParser/dom.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/utils/parsePayload.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/isClockSkewError.ts","../node_modules/@aws-amplify/core/src/clients/middleware/retry/defaultRetryDecider.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/utils/createRetryDecider.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/constants.ts","../node_modules/@aws-amplify/storage/src/errors/utils/assertValidationError.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/s3data/base.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/s3data/getObject.ts","../node_modules/@aws-amplify/core/src/clients/middleware/signing/signer/signatureV4/presignUrl.ts","../node_modules/@aws-amplify/storage/src/utils/resolvePrefix.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/resolveS3ConfigAndInput.ts","../node_modules/@aws-amplify/storage/src/errors/constants.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/validateBucketOwnerID.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/resolveIdentityId.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/validateStorageOperationInput.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/isInputWithPath.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/constructContentDisposition.ts","../node_modules/@aws-amplify/storage/src/utils/logger.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/s3data/headObject.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/userAgent.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/getProperties.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/getUrl.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/getUrl.ts","states/LoadingSpinner.js","states/Loading.js","graphql/queries.js","../node_modules/@aws-amplify/data-schema-types/src/client/symbol.ts","../node_modules/rxjs/src/internal/util/isFunction.ts","../node_modules/rxjs/src/internal/util/lift.ts","../node_modules/rxjs/src/internal/util/UnsubscriptionError.ts","../node_modules/rxjs/src/internal/util/createErrorClass.ts","../node_modules/rxjs/src/internal/util/arrRemove.ts","../node_modules/rxjs/src/internal/Subscription.ts","../node_modules/rxjs/src/internal/config.ts","../node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts","../node_modules/rxjs/src/internal/util/reportUnhandledError.ts","../node_modules/rxjs/src/internal/util/noop.ts","../node_modules/rxjs/src/internal/NotificationFactories.ts","../node_modules/rxjs/src/internal/util/errorContext.ts","../node_modules/rxjs/src/internal/Subscriber.ts","../node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts","../node_modules/rxjs/src/internal/operators/map.ts","../node_modules/@aws-amplify/data-schema/src/runtime/utils/resolveOwnerFields.ts","../node_modules/@aws-amplify/data-schema/src/runtime/utils/stringTransformation.ts","../node_modules/@aws-amplify/data-schema/src/runtime/utils/selfAwareAsync.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/cancellation.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/APIClient.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/utils.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/getCustomUserAgentDetails.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/custom.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/generateCustomOperationsProperty.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/get.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/list.ts","../node_modules/@smithy/util-base64/dist-es/constants.browser.js","../node_modules/@smithy/util-base64/dist-es/fromBase64.browser.js","../node_modules/@smithy/util-base64/dist-es/toBase64.browser.js","../node_modules/@smithy/util-base64/node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/conversationMessageDeserializers.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/convertItemToConversationMessage.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/createListMessagesFunction.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/conversationStreamEventDeserializers.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/createOnStreamEventFunction.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/conversationMessageSerializers.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/createSendMessageFunction.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/convertItemToConversation.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/createCreateConversationFunction.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/createGetConversationFunction.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/createListConversationsFunction.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/createDeleteConversationFunction.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/ai/createUpdateConversationFunction.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/utils/clientProperties/generateEnumsProperty.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/indexQuery.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/subscription.ts","../node_modules/rxjs/src/internal/symbol/observable.ts","../node_modules/rxjs/src/internal/util/identity.ts","../node_modules/rxjs/src/internal/util/pipe.ts","../node_modules/rxjs/src/internal/Observable.ts","../node_modules/@aws-amplify/data-schema/src/runtime/utils/findIndexByFields.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/operations/observeQuery.ts","../node_modules/@aws-amplify/data-schema/src/runtime/utils/resolvePKFields.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/clientUtils.ts","../node_modules/@aws-amplify/data-schema/src/runtime/addSchemaToClient.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/utils/clientProperties/generateModelsProperty.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/utils/clientProperties/generateConversationsProperty.ts","../node_modules/@aws-amplify/data-schema/src/runtime/internals/utils/clientProperties/generateGenerationsProperty.ts","../node_modules/@aws-amplify/api-graphql/src/types/index.ts","../node_modules/@aws-amplify/api-graphql/src/internals/utils/runtimeTypeGuards/isApiGraphQLProviderConfig.ts","../node_modules/graphql/jsutils/isObjectLike.mjs","../node_modules/graphql/polyfills/symbols.mjs","../node_modules/graphql/language/location.mjs","../node_modules/graphql/language/printLocation.mjs","../node_modules/graphql/error/GraphQLError.mjs","../node_modules/graphql/error/syntaxError.mjs","../node_modules/graphql/language/kinds.mjs","../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../node_modules/graphql/jsutils/defineInspect.mjs","../node_modules/graphql/jsutils/invariant.mjs","../node_modules/graphql/language/ast.mjs","../node_modules/graphql/language/tokenKind.mjs","../node_modules/graphql/jsutils/inspect.mjs","../node_modules/graphql/jsutils/devAssert.mjs","../node_modules/graphql/jsutils/instanceOf.mjs","../node_modules/graphql/language/source.mjs","../node_modules/graphql/language/directiveLocation.mjs","../node_modules/graphql/language/blockString.mjs","../node_modules/graphql/language/lexer.mjs","../node_modules/graphql/language/parser.mjs","../node_modules/graphql/language/visitor.mjs","../node_modules/graphql/language/printer.mjs","../node_modules/rxjs/src/internal/util/isArrayLike.ts","../node_modules/rxjs/src/internal/util/isPromise.ts","../node_modules/rxjs/src/internal/util/isInteropObservable.ts","../node_modules/rxjs/src/internal/util/isAsyncIterable.ts","../node_modules/rxjs/src/internal/util/throwUnobservableError.ts","../node_modules/rxjs/src/internal/symbol/iterator.ts","../node_modules/rxjs/src/internal/util/isIterable.ts","../node_modules/rxjs/src/internal/util/isReadableStreamLike.ts","../node_modules/rxjs/src/internal/observable/innerFrom.ts","../node_modules/rxjs/src/internal/operators/catchError.ts","../node_modules/@aws-amplify/core/src/errors/APIError.ts","../node_modules/@aws-amplify/api-rest/src/errors/RestApiError.ts","../node_modules/@aws-amplify/api-rest/src/errors/CanceledError.ts","../node_modules/@aws-amplify/api-rest/src/errors/validation.ts","../node_modules/@aws-amplify/core/src/clients/serde/json.ts","../node_modules/@aws-amplify/api-rest/src/utils/serviceError.ts","../node_modules/@aws-amplify/api-rest/src/utils/logger.ts","../node_modules/@aws-amplify/api-rest/src/utils/createCancellableOperation.ts","../node_modules/@aws-amplify/api-rest/src/utils/constants.ts","../node_modules/@aws-amplify/api-rest/src/utils/parseSigningInfo.ts","../node_modules/@aws-amplify/api-rest/src/utils/resolveApiUrl.ts","../node_modules/@aws-amplify/api-rest/src/errors/assertValidatonError.ts","../node_modules/@aws-amplify/api-rest/src/utils/isIamAuthApplicable.ts","../node_modules/@aws-amplify/core/src/clients/handlers/fetch.ts","../node_modules/@aws-amplify/core/src/clients/handlers/authenticated.ts","../node_modules/@aws-amplify/core/src/clients/handlers/unauthenticated.ts","../node_modules/@aws-amplify/api-rest/src/apis/common/handler.ts","../node_modules/@aws-amplify/api-rest/src/utils/resolveHeaders.ts","../node_modules/@aws-amplify/api-rest/src/apis/common/publicApis.ts","../node_modules/@aws-amplify/api-rest/src/apis/index.ts","../node_modules/@aws-amplify/api-rest/src/apis/common/internalPost.ts","../node_modules/@aws-amplify/api-graphql/src/Providers/constants.ts","../node_modules/@aws-amplify/core/src/utils/retry/NonRetryableError.ts","../node_modules/@aws-amplify/core/node_modules/uuid/dist/esm-browser/native.js","../node_modules/@aws-amplify/core/node_modules/uuid/dist/esm-browser/rng.js","../node_modules/@aws-amplify/core/node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/@aws-amplify/core/node_modules/uuid/dist/esm-browser/v4.js","../node_modules/@aws-amplify/core/src/utils/amplifyUuid/index.ts","../node_modules/@aws-amplify/core/src/utils/retry/isNonRetryableError.ts","../node_modules/@aws-amplify/core/src/utils/convert/base64/base64Encoder.ts","../node_modules/@aws-amplify/core/src/utils/convert/base64/bytesToString.ts","../node_modules/@aws-amplify/core/src/utils/retry/retry.ts","../node_modules/@aws-amplify/core/src/utils/retry/jitteredExponentialRetry.ts","../node_modules/@aws-amplify/api-graphql/src/types/PubSub.ts","../node_modules/rxjs/src/internal/util/executeSchedule.ts","../node_modules/rxjs/src/internal/operators/observeOn.ts","../node_modules/rxjs/src/internal/operators/subscribeOn.ts","../node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts","../node_modules/rxjs/src/internal/scheduled/scheduled.ts","../node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts","../node_modules/rxjs/src/internal/scheduled/scheduleArray.ts","../node_modules/rxjs/src/internal/scheduled/schedulePromise.ts","../node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts","../node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts","../node_modules/@aws-amplify/core/src/Reachability/Reachability.ts","../node_modules/@aws-amplify/core/src/utils/isWebWorker.ts","../node_modules/rxjs/src/internal/observable/from.ts","../node_modules/@aws-amplify/api-graphql/src/utils/ReachabilityMonitor/index.ts","../node_modules/@aws-amplify/api-graphql/src/utils/ConnectionStateMonitor.ts","../node_modules/rxjs/src/internal/operators/filter.ts","../node_modules/@aws-amplify/api-graphql/src/utils/ReconnectionMonitor.ts","../node_modules/@aws-amplify/api-graphql/src/Providers/AWSWebSocketProvider/appsyncUrl.ts","../node_modules/@aws-amplify/api-graphql/src/Providers/AWSWebSocketProvider/authHeaders.ts","../node_modules/@aws-amplify/api-graphql/src/Providers/AWSWebSocketProvider/index.ts","../node_modules/@aws-amplify/api-graphql/src/Providers/AWSAppSyncRealTimeProvider/index.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/GraphQLApiError.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/validation.ts","../node_modules/@aws-amplify/api-graphql/src/utils/resolveConfig.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/assertValidationError.ts","../node_modules/@aws-amplify/api-graphql/src/utils/resolveLibraryOptions.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/repackageAuthError.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/constants.ts","../node_modules/@aws-amplify/api-graphql/src/utils/errors/createGraphQLResultWithError.ts","../node_modules/@aws-amplify/api-graphql/src/internals/InternalGraphQLAPI.ts","../node_modules/@aws-amplify/api-graphql/src/internals/graphqlAuth.ts","../node_modules/@aws-amplify/api-graphql/src/internals/utils/runtimeTypeGuards/isGraphQLResponseWithErrors.ts","../node_modules/@aws-amplify/api-graphql/src/GraphQLAPI.ts","../node_modules/@aws-amplify/api-graphql/src/internals/v6.ts","../node_modules/@aws-amplify/api-graphql/src/internals/generateClient.ts","../node_modules/@aws-amplify/api-graphql/src/internals/utils/runtimeTypeGuards/isConfigureEventWithResourceConfig.ts","../node_modules/@aws-amplify/api/src/API.ts","contexts/UserContext.js","components/box/bento/Bento.js","components/box/container/Stack.js","graphqlCustom/queriesCustom.js","../node_modules/clsx/dist/clsx.mjs","components/ui/Toastify.js","contexts/DataContext.js","components/ui/textual/Link.js","components/ui/table/Table.js","components/ui/table/Th.js","components/ui/table/Td.js","components/ui/textual/Pastille.js","components/ui/button/InvisibleLink.js","hooks/getdata/fetchs3File.js","../node_modules/react-icons/lib/iconContext.mjs","../node_modules/react-icons/lib/iconBase.mjs","../node_modules/react-icons/ci/index.mjs","tools/Calculate.js","routes/routes.js","components/pageElements/home/TaskBoard.js","graphql/mutations.js","services/auditService.js","components/ui/popup/Dialog.js","components/ui/button/IconButton.js","components/ui/popup/Overlay.js","components/confirm/ConfirmDialog.js","components/confirm/ConfirmGlobal.js","services/taskService.js","pages/private/admin/HomeScreen.js","../node_modules/@aws-amplify/core/src/utils/deviceName/getDeviceName.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/types/errors.ts","../node_modules/@aws-amplify/auth/src/errors/types/validation.ts","../node_modules/@aws-amplify/auth/src/common/AuthErrorStrings.ts","../node_modules/@aws-amplify/auth/src/errors/utils/assertValidationError.ts","../node_modules/@aws-amplify/auth/src/utils/getAuthUserAgentValue.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolSerializer.ts","../node_modules/@aws-amplify/auth/src/errors/utils/assertServiceError.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolDeserializer.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/shared/handler/cognitoUserPoolTransferHandler.ts","../node_modules/@aws-amplify/auth/src/foundation/constants.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/constants.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createInitiateAuthClient.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createRespondToAuthChallengeClient.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createVerifySoftwareTokenClient.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createAssociateSoftwareTokenClient.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createConfirmDeviceClient.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/factories/createCognitoUserPoolEndpointResolver.ts","../node_modules/@aws-amplify/auth/src/foundation/cognitoUserPoolEndpointResolver.ts","../node_modules/@aws-amplify/auth/src/foundation/parsers/regionParsers.ts","../node_modules/@aws-amplify/core/src/errors/PlatformNotSupportedError.ts","../node_modules/@aws-amplify/core/src/storage/KeyValueStorage.ts","../node_modules/@aws-amplify/core/src/storage/InMemoryStorage.ts","../node_modules/@aws-amplify/core/src/storage/utils.ts","../node_modules/@aws-amplify/core/src/storage/index.ts","../node_modules/@aws-amplify/core/src/storage/DefaultStorage.ts","../node_modules/@aws-amplify/core/src/storage/SessionStorage.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/userContextData.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/refreshAuthTokens.ts","../node_modules/@aws-amplify/core/src/utils/deDupeAsyncFunction.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/types.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/errorHelpers.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/TokenStore.ts","../node_modules/@aws-amplify/core/src/utils/isBrowser.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/signInWithRedirectStore.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/oauth/oAuthStore.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/oauth/inflightPromise.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/TokenOrchestrator.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/tokenProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/CognitoUserPoolsTokenProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/tokenProvider/cacheTokens.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/dispatchSignedInHubEvent.ts","../node_modules/@aws-amplify/auth/src/client/utils/store/signInStore.ts","../node_modules/@aws-amplify/auth/src/client/utils/passkey/errors.ts","../node_modules/@aws-amplify/auth/src/foundation/convert/base64url/convertArrayBufferToBase64Url.ts","../node_modules/@aws-amplify/auth/src/foundation/convert/base64url/convertBase64UrlToArrayBuffer.ts","../node_modules/@aws-amplify/auth/src/client/utils/passkey/getPasskey.ts","../node_modules/@aws-amplify/auth/src/client/utils/passkey/getIsPasskeySupported.ts","../node_modules/@aws-amplify/auth/src/client/utils/passkey/serde.ts","../node_modules/@aws-amplify/auth/src/client/utils/passkey/types/index.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/textEncoder/index.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/BigInteger/BigInteger.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/calculate/calculateS.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/constants.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getBytesFromHex.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getHexFromBytes.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getHashFromData.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getHashFromHex.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getPaddedHex.ts","../node_modules/@aws-amplify/core/src/utils/WordArray.ts","../node_modules/@aws-amplify/core/src/utils/cryptoSecureRandomInt.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getRandomBytes.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/AuthenticationHelper/AuthenticationHelper.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getRandomString.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/calculate/calculateU.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getHkdfKey.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/calculate/calculateA.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getAuthenticationHelper.ts","../node_modules/@aws-amplify/auth/src/client/flows/shared/handlePasswordSRP.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getNowString.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/srp/getSignatureString.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/signInHelpers.ts","../node_modules/@aws-amplify/auth/src/client/flows/userAuth/handleWebAuthnSignInResult.ts","../node_modules/@aws-amplify/auth/src/client/flows/userAuth/handleSelectChallenge.ts","../node_modules/@aws-amplify/auth/src/client/flows/userAuth/handleSelectChallengeWithPassword.ts","../node_modules/@aws-amplify/auth/src/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/signInWithCustomSRPAuth.ts","../node_modules/@aws-amplify/auth/src/client/utils/store/autoSignInStore.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/autoSignIn.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/signInWithSRP.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/signInWithUserAuth.ts","../node_modules/@aws-amplify/auth/src/client/flows/userAuth/handleUserAuthFlow.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/signIn.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/signInWithUserPassword.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/signInWithCustomAuth.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createForgotPasswordClient.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createConfirmForgotPasswordClient.ts","components/ui/form/Textinput.js","../node_modules/react-icons/pi/index.mjs","components/ui/form/Password.js","components/ui/form/FormError.js","components/ui/form/Form.js","components/ButtonLoading.js","components/ui/button/Button.js","components/illustration/Logo.js","../node_modules/react-icons/fa6/index.mjs","components/ui/textual/Tips.js","hooks/login-gestion/LoginForm.js","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/resetPassword.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/confirmResetPassword.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/confirmSignIn.ts","components/box/container/FormContainer.js","components/box/main/Main.js","layout/LogoutLayout.js","pages/public/LoginScreen.js","Custom/ThemeView.js","Custom/Theme/ThemeSwitch.js","pages/private/settings/Appearance.js","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createChangePasswordClient.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createUpdateUserAttributesClient.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/updateUserAttributes.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/apiHelpers.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createVerifyUserAttributeClient.ts","components/box/container/FormWrapper.js","graphqlCustom/mutationsCustom.js","components/box/section/Section.js","pages/private/settings/Authentification.js","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/confirmUserAttribute.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/updatePassword.ts","pages/private/settings/Compte.js","components/ui/form/DateInput.js","components/box/container/BackgroundImageContainer.js","components/ui/form/Textarea.js","components/ui/hover/TextHover.js","contexts/PopupContext.js","../node_modules/react-icons/lia/index.mjs","components/ui/popup/Popup.js","../node_modules/@aws-amplify/storage/src/providers/s3/utils/transferTask.ts","../node_modules/@smithy/md5-js/dist-es/constants.js","../node_modules/@smithy/md5-js/dist-es/index.js","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/runtime/base64/index.browser.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/readFile.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/md5.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/s3data/putObject.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/hexUtils.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/crc32.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/utils/integrityHelpers.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/s3data/completeMultipartUpload.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/validateMultipartUploadXML.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/s3data/abortMultipartUpload.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/s3data/uploadPart.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/uploadData/multipart/uploadPartExecutor.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/s3data/listParts.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/uploadData/multipart/uploadCache.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/client/s3data/createMultipartUpload.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/uploadData/multipart/calculatePartSize.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/uploadData/multipart/getDataChunker.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/uploadData/multipart/initialUpload.ts","../node_modules/@aws-amplify/storage/src/providers/s3/utils/getCombinedCrc32.native.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/uploadData/multipart/uploadHandlers.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/uploadData/multipart/progressTracker.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/uploadData/index.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/uploadData/byteLength.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/internal/uploadData/putObjectJob.ts","../node_modules/@aws-amplify/storage/src/providers/s3/apis/uploadData.ts","components/ui/form/Upload.js","components/ui/UploadFile.js","../node_modules/react-icons/io/index.mjs","components/ui/popup/allPopups/ProfilePicturePopup.js","pages/private/Profil.js","components/animation/Animation.js","pages/error/Page404.js","pages/error/Error429.js","pages/error/Error500.js","components/ui/checkbox/CheckboxItem.js","../node_modules/react-icons/go/index.mjs","components/ui/form/Select.js","components/ui/progress-bar/SmallCircleProgress.js","services/clientService.js","pages/private/admin/clients/Clients.js","states/NotFound.js","components/ui/textual/Span.js","tools/dateConverter.js","components/ui/popup/allPopups/EditAuditPopup.js","../node_modules/xlsx/xlsx.mjs","../node_modules/react-icons/si/index.mjs","tools/capitalizeFirstLetter.js","components/ui/popup/allPopups/ExportsAuditsPopup.js","tools/sanitizeSheetName.js","components/ui/checkbox/BentoCheckbox.js","hooks/getdata/getContentTypeS3.js","../node_modules/@aws-amplify/storage/src/providers/s3/apis/getProperties.ts","tools/handleVariantDocumentType.js","services/documentEntityRelationService.js","services/documentService.js","components/ui/popup/allPopups/AddEntityDocumentRelationPopup.js","components/ui/popup/allPopups/ViewDocumentPopup.js","components/ui/button/ChipButton.js","components/ui/popup/allPopups/ViewProfilePopup.js","components/ui/popup/allPopups/AddProfileClientRelation.js","components/ui/popup/allPopups/ViewCertifierPopup.js","components/ui/popup/allPopups/AddCertifierRelationPopup.js","components/ui/form/ColoredSelect.js","pages/private/admin/clients/ClientDetails.js","components/ui/UploadLogo.js","components/ui/popup/allPopups/ClientLogoPopup.js","pages/private/admin/clients/EditClients.js","components/ui/form/SelectSearchable.js","components/ui/form/CreateClientForm.js","pages/private/admin/clients/AddClients.js","../node_modules/react-icons/md/index.mjs","components/ui/Accordion.js","components/ui/checkbox/Toggle.js","components/ui/form/FormCreateAudit.js","components/ui/form/FormCreateAuditNoTemplate.js","services/auditTemplateService.js","pages/private/admin/clients/CreateAudit.js","tools/handlerVariantTaskTemplateDaysBefore.js","services/taskTemplateService.js","components/ui/form/CreateTaskTemplate.js","components/ui/popup/allPopups/AddTaskTemplatePopup.js","components/ui/popup/allPopups/ViewTemplateTaskPopup.js","components/ui/popup/allPopups/EditTemplateTaskPopup.js","components/ui/popup/allPopups/EditAuditTemplatePopup.js","components/AuditCardTemplate.js","components/ui/form/CreateAuditTemplate.js","components/ui/popup/allPopups/AddTemplatePopup.js","pages/private/admin/ListAuditTemplates.js","pages/private/CompleteProfile.js","hooks/login-gestion/CompleteProfileRoutes.js","components/ui/form/CreateTask.js","components/ui/popup/allPopups/AddTaskPopup.js","components/ui/popup/allPopups/ViewTaskPopup.js","components/ui/popup/allPopups/EditTaskPopup.js","components/AuditCard.js","pages/private/admin/clients/audits/GetAudits.js","components/ui/aside-section/HeaderItems.js","components/menu/MainMenu.js","../node_modules/@aws-amplify/core/src/singleton/apis/clearCredentials.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/oauth/completeOAuthSignOut.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/oauth/getRedirectUrl.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/oauth/oAuthSignOutRedirect.ts","../node_modules/@aws-amplify/auth/src/utils/openAuthSession.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/utils/oauth/handleOAuthSignOut.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createRevokeTokenClient.ts","../node_modules/@aws-amplify/auth/src/foundation/factories/serviceClients/cognitoIdentityProvider/createGlobalSignOutClient.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/apis/signOut.ts","hooks/login-gestion/Logout.js","components/menu/SecondaryMenu.js","components/ui/popup/SearchOverlay.js","components/ui/aside-section/HeaderSearch.js","components/ui/aside-section/ClientsItem.js","contexts/SideBarContext.js","components/menu/ClientsMenu.js","components/menu/DefaultMenu.js","components/menu/AdminMenu.js","components/menu/CustomerClients.js","components/ui/aside-section/Header.js","components/ui/topbar/Toggle.js","components/ui/topbar/TopBar.js","components/ui/bottom-bar/BottomBarItems.js","components/ui/bottom-bar/BottomBar.js","components/menu/customer/CustomerDefaultMenu.js","components/ui/aside-section/CustomerHeader.js","layout/DefaultLayout.js","hooks/login-gestion/ProtectedRoute.js","components/ui/SettingNavigation.js","../node_modules/react-icons/fa/index.mjs","pages/private/settings/Setting.js","components/ui/UploadDocument.js","components/ui/form/CreateDocument.js","components/ui/popup/allPopups/AddDocumentPopup.js","pages/private/admin/documents/ListDocuments.js","components/ui/popup/allPopups/ViewUserPopup.js","components/ui/popup/allPopups/AddUserPopup.js","components/ui/popup/allPopups/EditUserPopup.js","pages/private/admin/Users.js","pages/private/admin/tasks/ListAllTasks.js","pages/private/customer/Home.js","components/ui/popup/allPopups/WarningAddAudit.js","../node_modules/@aws-amplify/ui/dist/esm/utils/utils.mjs","../node_modules/@aws-amplify/ui/dist/esm/utils/classNames.mjs","../node_modules/@aws-amplify/ui/dist/esm/types/primitives/componentClassName.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/utils.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/types/style.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/borderWidths.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/colors.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/fontSizes.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/fontWeights.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/opacities.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/radii.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/space.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/time.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/defaultTheme.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/index.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/index.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/accordion.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/alert.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/authenticator.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/autocomplete.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/badge.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/breadcrumbs.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/button.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/card.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/checkbox.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/checkboxField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/collection.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/copy.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/dialCodeSelect.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/divider.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/dropZone.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/field.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/fieldControl.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/fieldGroup.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/fieldMessages.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/fieldset.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/flex.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/heading.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/icon.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/highlightMatch.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/image.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/inAppMessaging.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/input.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/link.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/liveness.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/loader.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/menu.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/message.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/pagination.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/passwordField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/phoneNumberField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/placeholder.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/radio.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/radioGroup.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/rating.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/searchField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/select.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/selectField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/sliderField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/stepperField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/storagemanager.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/switchField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/table.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/tabs.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/text.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/textAreaField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/textField.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/toggleButton.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/components/toggleButtonGroup.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/fonts.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/lineHeights.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/outlineOffsets.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/outlineWidths.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/shadows.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/tokens/transforms.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/breakpoints.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/constants.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/utils.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/types/theme.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/responsive/utils.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/responsive/useBreakpoint.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/responsive/getMediaQueries.mjs","../node_modules/@aws-amplify/ui/dist/esm/theme/createTheme.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/components/ThemeProvider/ThemeContext.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/hooks/useTheme.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/styleUtils.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/shared/getStyleValue.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/utils/primitiveWithForwardRef.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/View/View.mjs","../node_modules/@aws-amplify/ui-react/dist/esm/primitives/Table/Table.mjs","pages/private/customer/qualiopi/CustomerClientDetails.js","components/ui/popup/allPopups/EditTaskPopupCustomer.js","components/ui/popup/allPopups/ViewTaskPopupCustomer.js","components/CustomerAuditCard.js","pages/private/customer/qualiopi/audits/CustomerAuditsDetails.js","tools/formatWebsite.js","components/ui/form/CreateCertifier.js","components/ui/popup/allPopups/AddCertifierPopup.js","components/ui/popup/allPopups/EditCertifierPopup.js","pages/private/admin/certifiers/ListCertifiers.js","App.js","reportWebVitals.js","../node_modules/js-cookie/dist/js.cookie.mjs","../node_modules/@aws-amplify/core/src/storage/CookieStorage.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/types.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/IdentityIdStore.ts","../node_modules/@aws-amplify/core/src/awsClients/cognitoIdentity/base.ts","../node_modules/@aws-amplify/core/src/awsClients/cognitoIdentity/getCredentialsForIdentity.ts","../node_modules/@aws-amplify/core/src/awsClients/cognitoIdentity/getId.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/utils.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/IdentityIdProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/credentialsProvider.ts","../node_modules/@aws-amplify/auth/src/providers/cognito/credentialsProvider/index.ts","../node_modules/aws-amplify/src/initSingleton.ts","index.js","Custom/Theme/theme.js"],"sourcesContent":["// Chance.js 1.1.11\n// https://chancejs.com\n// (c) 2013 Victor Quinn\n// Chance may be freely distributed or modified under the MIT license.\n\n(function () {\n\n // Constants\n var MAX_INT = 9007199254740992;\n var MIN_INT = -MAX_INT;\n var NUMBERS = '0123456789';\n var CHARS_LOWER = 'abcdefghijklmnopqrstuvwxyz';\n var CHARS_UPPER = CHARS_LOWER.toUpperCase();\n var HEX_POOL = NUMBERS + \"abcdef\";\n\n // Errors\n function UnsupportedError(message) {\n this.name = 'UnsupportedError';\n this.message = message || 'This feature is not supported on this platform';\n }\n\n UnsupportedError.prototype = new Error();\n UnsupportedError.prototype.constructor = UnsupportedError;\n\n // Cached array helpers\n var slice = Array.prototype.slice;\n\n // Constructor\n function Chance (seed) {\n if (!(this instanceof Chance)) {\n if (!seed) { seed = null; } // handle other non-truthy seeds, as described in issue #322\n return seed === null ? new Chance() : new Chance(seed);\n }\n\n // if user has provided a function, use that as the generator\n if (typeof seed === 'function') {\n this.random = seed;\n return this;\n }\n\n if (arguments.length) {\n // set a starting value of zero so we can add to it\n this.seed = 0;\n }\n\n // otherwise, leave this.seed blank so that MT will receive a blank\n\n for (var i = 0; i < arguments.length; i++) {\n var seedling = 0;\n if (Object.prototype.toString.call(arguments[i]) === '[object String]') {\n for (var j = 0; j < arguments[i].length; j++) {\n // create a numeric hash for each argument, add to seedling\n var hash = 0;\n for (var k = 0; k < arguments[i].length; k++) {\n hash = arguments[i].charCodeAt(k) + (hash << 6) + (hash << 16) - hash;\n }\n seedling += hash;\n }\n } else {\n seedling = arguments[i];\n }\n this.seed += (arguments.length - i) * seedling;\n }\n\n // If no generator function was provided, use our MT\n this.mt = this.mersenne_twister(this.seed);\n this.bimd5 = this.blueimp_md5();\n this.random = function () {\n return this.mt.random(this.seed);\n };\n\n return this;\n }\n\n Chance.prototype.VERSION = \"1.1.11\";\n\n // Random helper functions\n function initOptions(options, defaults) {\n options = options || {};\n\n if (defaults) {\n for (var i in defaults) {\n if (typeof options[i] === 'undefined') {\n options[i] = defaults[i];\n }\n }\n }\n\n return options;\n }\n\n function range(size) {\n return Array.apply(null, Array(size)).map(function (_, i) {return i;});\n }\n\n function testRange(test, errorMessage) {\n if (test) {\n throw new RangeError(errorMessage);\n }\n }\n\n /**\n * Encode the input string with Base64.\n */\n var base64 = function() {\n throw new Error('No Base64 encoder available.');\n };\n\n // Select proper Base64 encoder.\n (function determineBase64Encoder() {\n if (typeof btoa === 'function') {\n base64 = btoa;\n } else if (typeof Buffer === 'function') {\n base64 = function(input) {\n return new Buffer(input).toString('base64');\n };\n }\n })();\n\n // -- Basics --\n\n /**\n * Return a random bool, either true or false\n *\n * @param {Object} [options={ likelihood: 50 }] alter the likelihood of\n * receiving a true or false value back.\n * @throws {RangeError} if the likelihood is out of bounds\n * @returns {Bool} either true or false\n */\n Chance.prototype.bool = function (options) {\n // likelihood of success (true)\n options = initOptions(options, {likelihood : 50});\n\n // Note, we could get some minor perf optimizations by checking range\n // prior to initializing defaults, but that makes code a bit messier\n // and the check more complicated as we have to check existence of\n // the object then existence of the key before checking constraints.\n // Since the options initialization should be minor computationally,\n // decision made for code cleanliness intentionally. This is mentioned\n // here as it's the first occurrence, will not be mentioned again.\n testRange(\n options.likelihood < 0 || options.likelihood > 100,\n \"Chance: Likelihood accepts values from 0 to 100.\"\n );\n\n return this.random() * 100 < options.likelihood;\n };\n\n Chance.prototype.falsy = function (options) {\n // return a random falsy value\n options = initOptions(options, {pool: [false, null, 0, NaN, '', undefined]})\n var pool = options.pool,\n index = this.integer({min: 0, max: pool.length - 1}),\n value = pool[index];\n\n return value;\n }\n\n Chance.prototype.animal = function (options){\n //returns a random animal\n options = initOptions(options);\n\n if(typeof options.type !== 'undefined'){\n //if user does not put in a valid animal type, user will get an error\n testRange(\n !this.get(\"animals\")[options.type.toLowerCase()],\n \"Please pick from desert, ocean, grassland, forest, zoo, pets, farm.\"\n );\n //if user does put in valid animal type, will return a random animal of that type\n return this.pick(this.get(\"animals\")[options.type.toLowerCase()]);\n }\n //if user does not put in any animal type, will return a random animal regardless\n var animalTypeArray = [\"desert\",\"forest\",\"ocean\",\"zoo\",\"farm\",\"pet\",\"grassland\"];\n return this.pick(this.get(\"animals\")[this.pick(animalTypeArray)]);\n };\n\n /**\n * Return a random character.\n *\n * @param {Object} [options={}] can specify a character pool or alpha,\n * numeric, symbols and casing (lower or upper)\n * @returns {String} a single random character\n */\n Chance.prototype.character = function (options) {\n options = initOptions(options);\n\n var symbols = \"!@#$%^&*()[]\",\n letters, pool;\n\n if (options.casing === 'lower') {\n letters = CHARS_LOWER;\n } else if (options.casing === 'upper') {\n letters = CHARS_UPPER;\n } else {\n letters = CHARS_LOWER + CHARS_UPPER;\n }\n\n if (options.pool) {\n pool = options.pool;\n } else {\n pool = '';\n if (options.alpha) {\n pool += letters;\n }\n if (options.numeric) {\n pool += NUMBERS;\n }\n if (options.symbols) {\n pool += symbols;\n }\n if (!pool) {\n pool = letters + NUMBERS + symbols;\n }\n }\n\n return pool.charAt(this.natural({max: (pool.length - 1)}));\n };\n\n // Note, wanted to use \"float\" or \"double\" but those are both JS reserved words.\n\n // Note, fixed means N OR LESS digits after the decimal. This because\n // It could be 14.9000 but in JavaScript, when this is cast as a number,\n // the trailing zeroes are dropped. Left to the consumer if trailing zeroes are\n // needed\n /**\n * Return a random floating point number\n *\n * @param {Object} [options={}] can specify a fixed precision, min, max\n * @returns {Number} a single floating point number\n * @throws {RangeError} Can only specify fixed or precision, not both. Also\n * min cannot be greater than max\n */\n Chance.prototype.floating = function (options) {\n options = initOptions(options, {fixed : 4});\n testRange(\n options.fixed && options.precision,\n \"Chance: Cannot specify both fixed and precision.\"\n );\n\n var num;\n var fixed = Math.pow(10, options.fixed);\n\n var max = MAX_INT / fixed;\n var min = -max;\n\n testRange(\n options.min && options.fixed && options.min < min,\n \"Chance: Min specified is out of range with fixed. Min should be, at least, \" + min\n );\n testRange(\n options.max && options.fixed && options.max > max,\n \"Chance: Max specified is out of range with fixed. Max should be, at most, \" + max\n );\n\n options = initOptions(options, { min : min, max : max });\n\n // Todo - Make this work!\n // options.precision = (typeof options.precision !== \"undefined\") ? options.precision : false;\n\n num = this.integer({min: options.min * fixed, max: options.max * fixed});\n var num_fixed = (num / fixed).toFixed(options.fixed);\n\n return parseFloat(num_fixed);\n };\n\n /**\n * Return a random integer\n *\n * NOTE the max and min are INCLUDED in the range. So:\n * chance.integer({min: 1, max: 3});\n * would return either 1, 2, or 3.\n *\n * @param {Object} [options={}] can specify a min and/or max\n * @returns {Number} a single random integer number\n * @throws {RangeError} min cannot be greater than max\n */\n Chance.prototype.integer = function (options) {\n // 9007199254740992 (2^53) is the max integer number in JavaScript\n // See: http://vq.io/132sa2j\n options = initOptions(options, {min: MIN_INT, max: MAX_INT});\n testRange(options.min > options.max, \"Chance: Min cannot be greater than Max.\");\n\n return Math.floor(this.random() * (options.max - options.min + 1) + options.min);\n };\n\n /**\n * Return a random natural\n *\n * NOTE the max and min are INCLUDED in the range. So:\n * chance.natural({min: 1, max: 3});\n * would return either 1, 2, or 3.\n *\n * @param {Object} [options={}] can specify a min and/or max or a numerals count.\n * @returns {Number} a single random integer number\n * @throws {RangeError} min cannot be greater than max\n */\n Chance.prototype.natural = function (options) {\n options = initOptions(options, {min: 0, max: MAX_INT});\n if (typeof options.numerals === 'number'){\n testRange(options.numerals < 1, \"Chance: Numerals cannot be less than one.\");\n options.min = Math.pow(10, options.numerals - 1);\n options.max = Math.pow(10, options.numerals) - 1;\n }\n testRange(options.min < 0, \"Chance: Min cannot be less than zero.\");\n\n if (options.exclude) {\n testRange(!Array.isArray(options.exclude), \"Chance: exclude must be an array.\")\n\n for (var exclusionIndex in options.exclude) {\n testRange(!Number.isInteger(options.exclude[exclusionIndex]), \"Chance: exclude must be numbers.\")\n }\n\n var random = options.min + this.natural({max: options.max - options.min - options.exclude.length})\n var sortedExclusions = options.exclude.sort();\n for (var sortedExclusionIndex in sortedExclusions) {\n if (random < sortedExclusions[sortedExclusionIndex]) {\n break\n }\n random++\n }\n return random\n }\n return this.integer(options);\n };\n\n /**\n * Return a random prime number\n *\n * NOTE the max and min are INCLUDED in the range.\n *\n * @param {Object} [options={}] can specify a min and/or max\n * @returns {Number} a single random prime number\n * @throws {RangeError} min cannot be greater than max nor negative\n */\n Chance.prototype.prime = function (options) {\n options = initOptions(options, {min: 0, max: 10000});\n testRange(options.min < 0, \"Chance: Min cannot be less than zero.\");\n testRange(options.min > options.max, \"Chance: Min cannot be greater than Max.\");\n\n var lastPrime = data.primes[data.primes.length - 1];\n if (options.max > lastPrime) {\n for (var i = lastPrime + 2; i <= options.max; ++i) {\n if (this.is_prime(i)) {\n data.primes.push(i);\n }\n }\n }\n var targetPrimes = data.primes.filter(function (prime) {\n return prime >= options.min && prime <= options.max;\n });\n return this.pick(targetPrimes);\n };\n\n /**\n * Determine whether a given number is prime or not.\n */\n Chance.prototype.is_prime = function (n) {\n if (n % 1 || n < 2) {\n return false;\n }\n if (n % 2 === 0) {\n return n === 2;\n }\n if (n % 3 === 0) {\n return n === 3;\n }\n var m = Math.sqrt(n);\n for (var i = 5; i <= m; i += 6) {\n if (n % i === 0 || n % (i + 2) === 0) {\n return false;\n }\n }\n return true;\n };\n\n /**\n * Return a random hex number as string\n *\n * NOTE the max and min are INCLUDED in the range. So:\n * chance.hex({min: '9', max: 'B'});\n * would return either '9', 'A' or 'B'.\n *\n * @param {Object} [options={}] can specify a min and/or max and/or casing\n * @returns {String} a single random string hex number\n * @throws {RangeError} min cannot be greater than max\n */\n Chance.prototype.hex = function (options) {\n options = initOptions(options, {min: 0, max: MAX_INT, casing: 'lower'});\n testRange(options.min < 0, \"Chance: Min cannot be less than zero.\");\n\t\tvar integer = this.natural({min: options.min, max: options.max});\n\t\tif (options.casing === 'upper') {\n\t\t\treturn integer.toString(16).toUpperCase();\n\t\t}\n\t\treturn integer.toString(16);\n };\n\n Chance.prototype.letter = function(options) {\n options = initOptions(options, {casing: 'lower'});\n var pool = \"abcdefghijklmnopqrstuvwxyz\";\n var letter = this.character({pool: pool});\n if (options.casing === 'upper') {\n letter = letter.toUpperCase();\n }\n return letter;\n }\n\n /**\n * Return a random string\n *\n * @param {Object} [options={}] can specify a length or min and max\n * @returns {String} a string of random length\n * @throws {RangeError} length cannot be less than zero\n */\n Chance.prototype.string = function (options) {\n options = initOptions(options, { min: 5, max: 20 });\n\n if (options.length !== 0 && !options.length) {\n options.length = this.natural({ min: options.min, max: options.max })\n }\n\n testRange(options.length < 0, \"Chance: Length cannot be less than zero.\");\n var length = options.length,\n text = this.n(this.character, length, options);\n\n return text.join(\"\");\n };\n\n function CopyToken(c) {\n this.c = c\n }\n\n CopyToken.prototype = {\n substitute: function () {\n return this.c\n }\n }\n\n function EscapeToken(c) {\n this.c = c\n }\n\n EscapeToken.prototype = {\n substitute: function () {\n if (!/[{}\\\\]/.test(this.c)) {\n throw new Error('Invalid escape sequence: \"\\\\' + this.c + '\".')\n }\n return this.c\n }\n }\n\n function ReplaceToken(c) {\n this.c = c\n }\n\n ReplaceToken.prototype = {\n replacers: {\n '#': function (chance) { return chance.character({ pool: NUMBERS }) },\n 'A': function (chance) { return chance.character({ pool: CHARS_UPPER }) },\n 'a': function (chance) { return chance.character({ pool: CHARS_LOWER }) },\n },\n\n substitute: function (chance) {\n var replacer = this.replacers[this.c]\n if (!replacer) {\n throw new Error('Invalid replacement character: \"' + this.c + '\".')\n }\n return replacer(chance)\n }\n }\n\n function parseTemplate(template) {\n var tokens = []\n var mode = 'identity'\n for (var i = 0; i MAX_DUPLICATES) {\n throw new RangeError(\"Chance: num is likely too large for sample set\");\n }\n }\n return arr;\n };\n\n /**\n * Gives an array of n random terms\n *\n * @param {Function} fn the function that generates something random\n * @param {Number} n number of terms to generate\n * @returns {Array} an array of length `n` with items generated by `fn`\n *\n * There can be more parameters after these. All additional parameters are provided to the given function\n */\n Chance.prototype.n = function(fn, n) {\n testRange(\n typeof fn !== \"function\",\n \"Chance: The first argument must be a function.\"\n );\n\n if (typeof n === 'undefined') {\n n = 1;\n }\n var i = n, arr = [], params = slice.call(arguments, 2);\n\n // Providing a negative count should result in a noop.\n i = Math.max( 0, i );\n\n for (null; i--; null) {\n arr.push(fn.apply(this, params));\n }\n\n return arr;\n };\n\n // H/T to SO for this one: http://vq.io/OtUrZ5\n Chance.prototype.pad = function (number, width, pad) {\n // Default pad to 0 if none provided\n pad = pad || '0';\n // Convert number to a string\n number = number + '';\n return number.length >= width ? number : new Array(width - number.length + 1).join(pad) + number;\n };\n\n // DEPRECATED on 2015-10-01\n Chance.prototype.pick = function (arr, count) {\n if (arr.length === 0) {\n throw new RangeError(\"Chance: Cannot pick() from an empty array\");\n }\n if (!count || count === 1) {\n return arr[this.natural({max: arr.length - 1})];\n } else {\n return this.shuffle(arr).slice(0, count);\n }\n };\n\n // Given an array, returns a single random element\n Chance.prototype.pickone = function (arr) {\n if (arr.length === 0) {\n throw new RangeError(\"Chance: Cannot pickone() from an empty array\");\n }\n return arr[this.natural({max: arr.length - 1})];\n };\n\n // Given an array, returns a random set with 'count' elements\n Chance.prototype.pickset = function (arr, count) {\n if (count === 0) {\n return [];\n }\n if (arr.length === 0) {\n throw new RangeError(\"Chance: Cannot pickset() from an empty array\");\n }\n if (count < 0) {\n throw new RangeError(\"Chance: Count must be a positive number\");\n }\n if (!count || count === 1) {\n return [ this.pickone(arr) ];\n } else {\n var array = arr.slice(0);\n var end = array.length;\n\n return this.n(function () {\n var index = this.natural({max: --end});\n var value = array[index];\n array[index] = array[end];\n return value;\n }, Math.min(end, count));\n }\n };\n\n Chance.prototype.shuffle = function (arr) {\n var new_array = [],\n j = 0,\n length = Number(arr.length),\n source_indexes = range(length),\n last_source_index = length - 1,\n selected_source_index;\n\n for (var i = 0; i < length; i++) {\n // Pick a random index from the array\n selected_source_index = this.natural({max: last_source_index});\n j = source_indexes[selected_source_index];\n\n // Add it to the new array\n new_array[i] = arr[j];\n\n // Mark the source index as used\n source_indexes[selected_source_index] = source_indexes[last_source_index];\n last_source_index -= 1;\n }\n\n return new_array;\n };\n\n // Returns a single item from an array with relative weighting of odds\n Chance.prototype.weighted = function (arr, weights, trim) {\n if (arr.length !== weights.length) {\n throw new RangeError(\"Chance: Length of array and weights must match\");\n }\n\n // scan weights array and sum valid entries\n var sum = 0;\n var val;\n for (var weightIndex = 0; weightIndex < weights.length; ++weightIndex) {\n val = weights[weightIndex];\n if (isNaN(val)) {\n throw new RangeError(\"Chance: All weights must be numbers\");\n }\n\n if (val > 0) {\n sum += val;\n }\n }\n\n if (sum === 0) {\n throw new RangeError(\"Chance: No valid entries in array weights\");\n }\n\n // select a value within range\n var selected = this.random() * sum;\n\n // find array entry corresponding to selected value\n var total = 0;\n var lastGoodIdx = -1;\n var chosenIdx;\n for (weightIndex = 0; weightIndex < weights.length; ++weightIndex) {\n val = weights[weightIndex];\n total += val;\n if (val > 0) {\n if (selected <= total) {\n chosenIdx = weightIndex;\n break;\n }\n lastGoodIdx = weightIndex;\n }\n\n // handle any possible rounding error comparison to ensure something is picked\n if (weightIndex === (weights.length - 1)) {\n chosenIdx = lastGoodIdx;\n }\n }\n\n var chosen = arr[chosenIdx];\n trim = (typeof trim === 'undefined') ? false : trim;\n if (trim) {\n arr.splice(chosenIdx, 1);\n weights.splice(chosenIdx, 1);\n }\n\n return chosen;\n };\n\n // -- End Helpers --\n\n // -- Text --\n\n Chance.prototype.paragraph = function (options) {\n options = initOptions(options);\n\n var sentences = options.sentences || this.natural({min: 3, max: 7}),\n sentence_array = this.n(this.sentence, sentences),\n separator = options.linebreak === true ? '\\n' : ' ';\n\n return sentence_array.join(separator);\n };\n\n // Could get smarter about this than generating random words and\n // chaining them together. Such as: http://vq.io/1a5ceOh\n Chance.prototype.sentence = function (options) {\n options = initOptions(options);\n\n var words = options.words || this.natural({min: 12, max: 18}),\n punctuation = options.punctuation,\n text, word_array = this.n(this.word, words);\n\n text = word_array.join(' ');\n\n // Capitalize first letter of sentence\n text = this.capitalize(text);\n\n // Make sure punctuation has a usable value\n if (punctuation !== false && !/^[.?;!:]$/.test(punctuation)) {\n punctuation = '.';\n }\n\n // Add punctuation mark\n if (punctuation) {\n text += punctuation;\n }\n\n return text;\n };\n\n Chance.prototype.syllable = function (options) {\n options = initOptions(options);\n\n var length = options.length || this.natural({min: 2, max: 3}),\n consonants = 'bcdfghjklmnprstvwz', // consonants except hard to speak ones\n vowels = 'aeiou', // vowels\n all = consonants + vowels, // all\n text = '',\n chr;\n\n // I'm sure there's a more elegant way to do this, but this works\n // decently well.\n for (var i = 0; i < length; i++) {\n if (i === 0) {\n // First character can be anything\n chr = this.character({pool: all});\n } else if (consonants.indexOf(chr) === -1) {\n // Last character was a vowel, now we want a consonant\n chr = this.character({pool: consonants});\n } else {\n // Last character was a consonant, now we want a vowel\n chr = this.character({pool: vowels});\n }\n\n text += chr;\n }\n\n if (options.capitalize) {\n text = this.capitalize(text);\n }\n\n return text;\n };\n\n Chance.prototype.word = function (options) {\n options = initOptions(options);\n\n testRange(\n options.syllables && options.length,\n \"Chance: Cannot specify both syllables AND length.\"\n );\n\n var syllables = options.syllables || this.natural({min: 1, max: 3}),\n text = '';\n\n if (options.length) {\n // Either bound word by length\n do {\n text += this.syllable();\n } while (text.length < options.length);\n text = text.substring(0, options.length);\n } else {\n // Or by number of syllables\n for (var i = 0; i < syllables; i++) {\n text += this.syllable();\n }\n }\n\n if (options.capitalize) {\n text = this.capitalize(text);\n }\n\n return text;\n };\n\n // -- End Text --\n\n // -- Person --\n\n Chance.prototype.age = function (options) {\n options = initOptions(options);\n var ageRange;\n\n switch (options.type) {\n case 'child':\n ageRange = {min: 0, max: 12};\n break;\n case 'teen':\n ageRange = {min: 13, max: 19};\n break;\n case 'adult':\n ageRange = {min: 18, max: 65};\n break;\n case 'senior':\n ageRange = {min: 65, max: 100};\n break;\n case 'all':\n ageRange = {min: 0, max: 100};\n break;\n default:\n ageRange = {min: 18, max: 65};\n break;\n }\n\n return this.natural(ageRange);\n };\n\n Chance.prototype.birthday = function (options) {\n var age = this.age(options);\n var now = new Date()\n var currentYear = now.getFullYear();\n\n if (options && options.type) {\n var min = new Date();\n var max = new Date();\n min.setFullYear(currentYear - age - 1);\n max.setFullYear(currentYear - age);\n\n options = initOptions(options, {\n min: min,\n max: max\n });\n } else if (options && ((options.minAge !== undefined) || (options.maxAge !== undefined))) {\n testRange(options.minAge < 0, \"Chance: MinAge cannot be less than zero.\");\n testRange(options.minAge > options.maxAge, \"Chance: MinAge cannot be greater than MaxAge.\");\n\n var minAge = options.minAge !== undefined ? options.minAge : 0;\n var maxAge = options.maxAge !== undefined ? options.maxAge : 100;\n\n var minDate = new Date(currentYear - maxAge - 1, now.getMonth(), now.getDate());\n var maxDate = new Date(currentYear - minAge, now.getMonth(), now.getDate());\n\n minDate.setDate(minDate.getDate() +1);\n\n maxDate.setDate(maxDate.getDate() +1);\n maxDate.setMilliseconds(maxDate.getMilliseconds() -1);\n\n options = initOptions(options, {\n min: minDate,\n max: maxDate\n });\n } else {\n options = initOptions(options, {\n year: currentYear - age\n });\n }\n\n return this.date(options);\n };\n\n // CPF; ID to identify taxpayers in Brazil\n Chance.prototype.cpf = function (options) {\n options = initOptions(options, {\n formatted: true\n });\n\n var n = this.n(this.natural, 9, { max: 9 });\n var d1 = n[8]*2+n[7]*3+n[6]*4+n[5]*5+n[4]*6+n[3]*7+n[2]*8+n[1]*9+n[0]*10;\n d1 = 11 - (d1 % 11);\n if (d1>=10) {\n d1 = 0;\n }\n var d2 = d1*2+n[8]*3+n[7]*4+n[6]*5+n[5]*6+n[4]*7+n[3]*8+n[2]*9+n[1]*10+n[0]*11;\n d2 = 11 - (d2 % 11);\n if (d2>=10) {\n d2 = 0;\n }\n var cpf = ''+n[0]+n[1]+n[2]+'.'+n[3]+n[4]+n[5]+'.'+n[6]+n[7]+n[8]+'-'+d1+d2;\n return options.formatted ? cpf : cpf.replace(/\\D/g,'');\n };\n\n // CNPJ: ID to identify companies in Brazil\n Chance.prototype.cnpj = function (options) {\n options = initOptions(options, {\n formatted: true\n });\n\n var n = this.n(this.natural, 12, { max: 12 });\n var d1 = n[11]*2+n[10]*3+n[9]*4+n[8]*5+n[7]*6+n[6]*7+n[5]*8+n[4]*9+n[3]*2+n[2]*3+n[1]*4+n[0]*5;\n d1 = 11 - (d1 % 11);\n if (d1<2) {\n d1 = 0;\n }\n var d2 = d1*2+n[11]*3+n[10]*4+n[9]*5+n[8]*6+n[7]*7+n[6]*8+n[5]*9+n[4]*2+n[3]*3+n[2]*4+n[1]*5+n[0]*6;\n d2 = 11 - (d2 % 11);\n if (d2<2) {\n d2 = 0;\n }\n var cnpj = ''+n[0]+n[1]+'.'+n[2]+n[3]+n[4]+'.'+n[5]+n[6]+n[7]+'/'+n[8]+n[9]+n[10]+n[11]+'-'+d1+d2;\n return options.formatted ? cnpj : cnpj.replace(/\\D/g,'');\n };\n\n Chance.prototype.first = function (options) {\n options = initOptions(options, {gender: this.gender(), nationality: 'en'});\n return this.pick(this.get(\"firstNames\")[options.gender.toLowerCase()][options.nationality.toLowerCase()]);\n };\n\n Chance.prototype.profession = function (options) {\n options = initOptions(options);\n if(options.rank){\n return this.pick(['Apprentice ', 'Junior ', 'Senior ', 'Lead ']) + this.pick(this.get(\"profession\"));\n } else{\n return this.pick(this.get(\"profession\"));\n }\n };\n\n Chance.prototype.company = function (){\n return this.pick(this.get(\"company\"));\n };\n\n Chance.prototype.gender = function (options) {\n options = initOptions(options, {extraGenders: []});\n return this.pick(['Male', 'Female'].concat(options.extraGenders));\n };\n\n Chance.prototype.last = function (options) {\n options = initOptions(options, {nationality: '*'});\n if (options.nationality === \"*\") {\n var allLastNames = []\n var lastNames = this.get(\"lastNames\")\n Object.keys(lastNames).forEach(function(key){\n allLastNames = allLastNames.concat(lastNames[key])\n })\n return this.pick(allLastNames)\n }\n else {\n return this.pick(this.get(\"lastNames\")[options.nationality.toLowerCase()]);\n }\n\n };\n\n Chance.prototype.israelId=function(){\n var x=this.string({pool: '0123456789',length:8});\n var y=0;\n for (var i=0;i hex\n * -> rgb\n * -> rgba\n * -> 0x\n * -> named color\n *\n * #Examples:\n * ===============================================\n * * Geerate random hex color\n * chance.color() => '#79c157' / 'rgb(110,52,164)' / '0x67ae0b' / '#e2e2e2' / '#29CFA7'\n *\n * * Generate Hex based color value\n * chance.color({format: 'hex'}) => '#d67118'\n *\n * * Generate simple rgb value\n * chance.color({format: 'rgb'}) => 'rgb(110,52,164)'\n *\n * * Generate Ox based color value\n * chance.color({format: '0x'}) => '0x67ae0b'\n *\n * * Generate graiscale based value\n * chance.color({grayscale: true}) => '#e2e2e2'\n *\n * * Return valide color name\n * chance.color({format: 'name'}) => 'red'\n *\n * * Make color uppercase\n * chance.color({casing: 'upper'}) => '#29CFA7'\n *\n * * Min Max values for RGBA\n * var light_red = chance.color({format: 'hex', min_red: 200, max_red: 255, max_green: 0, max_blue: 0, min_alpha: .2, max_alpha: .3});\n *\n * @param [object] options\n * @return [string] color value\n */\n Chance.prototype.color = function (options) {\n function gray(value, delimiter) {\n return [value, value, value].join(delimiter || '');\n }\n\n function rgb(hasAlpha) {\n var rgbValue = (hasAlpha) ? 'rgba' : 'rgb';\n var alphaChannel = (hasAlpha) ? (',' + this.floating({min:min_alpha, max:max_alpha})) : \"\";\n var colorValue = (isGrayscale) ? (gray(this.natural({min: min_rgb, max: max_rgb}), ',')) : (this.natural({min: min_green, max: max_green}) + ',' + this.natural({min: min_blue, max: max_blue}) + ',' + this.natural({max: 255}));\n return rgbValue + '(' + colorValue + alphaChannel + ')';\n }\n\n function hex(start, end, withHash) {\n var symbol = (withHash) ? \"#\" : \"\";\n var hexstring = \"\";\n\n if (isGrayscale) {\n hexstring = gray(this.pad(this.hex({min: min_rgb, max: max_rgb}), 2));\n if (options.format === \"shorthex\") {\n hexstring = gray(this.hex({min: 0, max: 15}));\n }\n }\n else {\n if (options.format === \"shorthex\") {\n hexstring = this.pad(this.hex({min: Math.floor(min_red / 16), max: Math.floor(max_red / 16)}), 1) + this.pad(this.hex({min: Math.floor(min_green / 16), max: Math.floor(max_green / 16)}), 1) + this.pad(this.hex({min: Math.floor(min_blue / 16), max: Math.floor(max_blue / 16)}), 1);\n }\n else if (min_red !== undefined || max_red !== undefined || min_green !== undefined || max_green !== undefined || min_blue !== undefined || max_blue !== undefined) {\n hexstring = this.pad(this.hex({min: min_red, max: max_red}), 2) + this.pad(this.hex({min: min_green, max: max_green}), 2) + this.pad(this.hex({min: min_blue, max: max_blue}), 2);\n }\n else {\n hexstring = this.pad(this.hex({min: min_rgb, max: max_rgb}), 2) + this.pad(this.hex({min: min_rgb, max: max_rgb}), 2) + this.pad(this.hex({min: min_rgb, max: max_rgb}), 2);\n }\n }\n\n return symbol + hexstring;\n }\n\n options = initOptions(options, {\n format: this.pick(['hex', 'shorthex', 'rgb', 'rgba', '0x', 'name']),\n grayscale: false,\n casing: 'lower',\n min: 0,\n max: 255,\n min_red: undefined,\n max_red: undefined,\n min_green: undefined,\n max_green: undefined,\n min_blue: undefined,\n max_blue: undefined,\n min_alpha: 0,\n max_alpha: 1\n });\n\n var isGrayscale = options.grayscale;\n var min_rgb = options.min;\n var max_rgb = options.max;\n var min_red = options.min_red;\n var max_red = options.max_red;\n var min_green = options.min_green;\n var max_green = options.max_green;\n var min_blue = options.min_blue;\n var max_blue = options.max_blue;\n var min_alpha = options.min_alpha;\n var max_alpha = options.max_alpha;\n if (options.min_red === undefined) { min_red = min_rgb; }\n if (options.max_red === undefined) { max_red = max_rgb; }\n if (options.min_green === undefined) { min_green = min_rgb; }\n if (options.max_green === undefined) { max_green = max_rgb; }\n if (options.min_blue === undefined) { min_blue = min_rgb; }\n if (options.max_blue === undefined) { max_blue = max_rgb; }\n if (options.min_alpha === undefined) { min_alpha = 0; }\n if (options.max_alpha === undefined) { max_alpha = 1; }\n if (isGrayscale && min_rgb === 0 && max_rgb === 255 && min_red !== undefined && max_red !== undefined) {\n min_rgb = ((min_red + min_green + min_blue) / 3);\n max_rgb = ((max_red + max_green + max_blue) / 3);\n }\n var colorValue;\n\n if (options.format === 'hex') {\n colorValue = hex.call(this, 2, 6, true);\n }\n else if (options.format === 'shorthex') {\n colorValue = hex.call(this, 1, 3, true);\n }\n else if (options.format === 'rgb') {\n colorValue = rgb.call(this, false);\n }\n else if (options.format === 'rgba') {\n colorValue = rgb.call(this, true);\n }\n else if (options.format === '0x') {\n colorValue = '0x' + hex.call(this, 2, 6);\n }\n else if(options.format === 'name') {\n return this.pick(this.get(\"colorNames\"));\n }\n else {\n throw new RangeError('Invalid format provided. Please provide one of \"hex\", \"shorthex\", \"rgb\", \"rgba\", \"0x\" or \"name\".');\n }\n\n if (options.casing === 'upper' ) {\n colorValue = colorValue.toUpperCase();\n }\n\n return colorValue;\n };\n\n Chance.prototype.domain = function (options) {\n options = initOptions(options);\n return this.word() + '.' + (options.tld || this.tld());\n };\n\n Chance.prototype.email = function (options) {\n options = initOptions(options);\n return this.word({length: options.length}) + '@' + (options.domain || this.domain());\n };\n\n /**\n * #Description:\n * ===============================================\n * Generate a random Facebook id, aka fbid.\n *\n * NOTE: At the moment (Sep 2017), Facebook ids are\n * \"numeric strings\" of length 16.\n * However, Facebook Graph API documentation states that\n * \"it is extremely likely to change over time\".\n * @see https://developers.facebook.com/docs/graph-api/overview/\n *\n * #Examples:\n * ===============================================\n * chance.fbid() => '1000035231661304'\n *\n * @return [string] facebook id\n */\n Chance.prototype.fbid = function () {\n return '10000' + this.string({pool: \"1234567890\", length: 11});\n };\n\n Chance.prototype.google_analytics = function () {\n var account = this.pad(this.natural({max: 999999}), 6);\n var property = this.pad(this.natural({max: 99}), 2);\n\n return 'UA-' + account + '-' + property;\n };\n\n Chance.prototype.hashtag = function () {\n return '#' + this.word();\n };\n\n Chance.prototype.ip = function () {\n // Todo: This could return some reserved IPs. See http://vq.io/137dgYy\n // this should probably be updated to account for that rare as it may be\n return this.natural({min: 1, max: 254}) + '.' +\n this.natural({max: 255}) + '.' +\n this.natural({max: 255}) + '.' +\n this.natural({min: 1, max: 254});\n };\n\n Chance.prototype.ipv6 = function () {\n var ip_addr = this.n(this.hash, 8, {length: 4});\n\n return ip_addr.join(\":\");\n };\n\n Chance.prototype.klout = function () {\n return this.natural({min: 1, max: 99});\n };\n\n Chance.prototype.mac = function (options) {\n // Todo: This could also be extended to EUI-64 based MACs\n // (https://www.iana.org/assignments/ethernet-numbers/ethernet-numbers.xhtml#ethernet-numbers-4)\n // Todo: This can return some reserved MACs (similar to IP function)\n // this should probably be updated to account for that rare as it may be\n options = initOptions(options, { delimiter: ':' });\n return this.pad(this.natural({max: 255}).toString(16),2) + options.delimiter +\n this.pad(this.natural({max: 255}).toString(16),2) + options.delimiter +\n this.pad(this.natural({max: 255}).toString(16),2) + options.delimiter +\n this.pad(this.natural({max: 255}).toString(16),2) + options.delimiter +\n this.pad(this.natural({max: 255}).toString(16),2) + options.delimiter +\n this.pad(this.natural({max: 255}).toString(16),2);\n };\n\n Chance.prototype.semver = function (options) {\n options = initOptions(options, { include_prerelease: true });\n\n var range = this.pickone([\"^\", \"~\", \"<\", \">\", \"<=\", \">=\", \"=\"]);\n if (options.range) {\n range = options.range;\n }\n\n var prerelease = \"\";\n if (options.include_prerelease) {\n prerelease = this.weighted([\"\", \"-dev\", \"-beta\", \"-alpha\"], [50, 10, 5, 1]);\n }\n return range + this.rpg('3d10').join('.') + prerelease;\n };\n\n Chance.prototype.tlds = function () {\n return ['com', 'org', 'edu', 'gov', 'co.uk', 'net', 'io', 'ac', 'ad', 'ae', 'af', 'ag', 'ai', 'al', 'am', 'ao', 'aq', 'ar', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bm', 'bn', 'bo', 'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cc', 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv', 'cw', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'ee', 'eg', 'eh', 'er', 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mk', 'ml', 'mm', 'mn', 'mo', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'nc', 'ne', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ro', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'ss', 'st', 'su', 'sv', 'sx', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tp', 'tr', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'uk', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'za', 'zm', 'zw'];\n };\n\n Chance.prototype.tld = function () {\n return this.pick(this.tlds());\n };\n\n Chance.prototype.twitter = function () {\n return '@' + this.word();\n };\n\n Chance.prototype.url = function (options) {\n options = initOptions(options, { protocol: \"http\", domain: this.domain(options), domain_prefix: \"\", path: this.word(), extensions: []});\n\n var extension = options.extensions.length > 0 ? \".\" + this.pick(options.extensions) : \"\";\n var domain = options.domain_prefix ? options.domain_prefix + \".\" + options.domain : options.domain;\n\n return options.protocol + \"://\" + domain + \"/\" + options.path + extension;\n };\n\n Chance.prototype.port = function() {\n return this.integer({min: 0, max: 65535});\n };\n\n Chance.prototype.locale = function (options) {\n options = initOptions(options);\n if (options.region){\n return this.pick(this.get(\"locale_regions\"));\n } else {\n return this.pick(this.get(\"locale_languages\"));\n }\n };\n\n Chance.prototype.locales = function (options) {\n options = initOptions(options);\n if (options.region){\n return this.get(\"locale_regions\");\n } else {\n return this.get(\"locale_languages\");\n }\n };\n\n Chance.prototype.loremPicsum = function (options) {\n options = initOptions(options, { width: 500, height: 500, greyscale: false, blurred: false });\n\n var greyscale = options.greyscale ? 'g/' : '';\n var query = options.blurred ? '/?blur' : '/?random';\n\n return 'https://picsum.photos/' + greyscale + options.width + '/' + options.height + query;\n }\n\n // -- End Web --\n\n // -- Location --\n\n Chance.prototype.address = function (options) {\n options = initOptions(options);\n return this.natural({min: 5, max: 2000}) + ' ' + this.street(options);\n };\n\n Chance.prototype.altitude = function (options) {\n options = initOptions(options, {fixed: 5, min: 0, max: 8848});\n return this.floating({\n min: options.min,\n max: options.max,\n fixed: options.fixed\n });\n };\n\n Chance.prototype.areacode = function (options) {\n options = initOptions(options, {parens : true});\n // Don't want area codes to start with 1, or have a 9 as the second digit\n var areacode = options.exampleNumber ?\n \"555\" :\n this.natural({min: 2, max: 9}).toString() +\n this.natural({min: 0, max: 8}).toString() +\n this.natural({min: 0, max: 9}).toString();\n\n return options.parens ? '(' + areacode + ')' : areacode;\n };\n\n Chance.prototype.city = function () {\n return this.capitalize(this.word({syllables: 3}));\n };\n\n Chance.prototype.coordinates = function (options) {\n return this.latitude(options) + ', ' + this.longitude(options);\n };\n\n Chance.prototype.countries = function () {\n return this.get(\"countries\");\n };\n\n Chance.prototype.country = function (options) {\n options = initOptions(options);\n var country = this.pick(this.countries());\n return options.raw ? country : options.full ? country.name : country.abbreviation;\n };\n\n Chance.prototype.depth = function (options) {\n options = initOptions(options, {fixed: 5, min: -10994, max: 0});\n return this.floating({\n min: options.min,\n max: options.max,\n fixed: options.fixed\n });\n };\n\n Chance.prototype.geohash = function (options) {\n options = initOptions(options, { length: 7 });\n return this.string({ length: options.length, pool: '0123456789bcdefghjkmnpqrstuvwxyz' });\n };\n\n Chance.prototype.geojson = function (options) {\n return this.latitude(options) + ', ' + this.longitude(options) + ', ' + this.altitude(options);\n };\n\n Chance.prototype.latitude = function (options) {\n // Constants - Formats\n var [DDM, DMS, DD] = ['ddm', 'dms', 'dd'];\n\n options = initOptions(\noptions,\n options && options.format && [DDM, DMS].includes(options.format.toLowerCase()) ?\n {min: 0, max: 89, fixed: 4} :\n {fixed: 5, min: -90, max: 90, format: DD}\n);\n\n var format = options.format.toLowerCase();\n\n if (format === DDM || format === DMS) {\n testRange(options.min < 0 || options.min > 89, \"Chance: Min specified is out of range. Should be between 0 - 89\");\n testRange(options.max < 0 || options.max > 89, \"Chance: Max specified is out of range. Should be between 0 - 89\");\n testRange(options.fixed > 4, 'Chance: Fixed specified should be below or equal to 4');\n }\n\n switch (format) {\n case DDM: {\n return this.integer({min: options.min, max: options.max}) + '°' +\n this.floating({min: 0, max: 59, fixed: options.fixed});\n }\n case DMS: {\n return this.integer({min: options.min, max: options.max}) + '°' +\n this.integer({min: 0, max: 59}) + '’' +\n this.floating({min: 0, max: 59, fixed: options.fixed}) + '”';\n }\n case DD:\n default: {\n return this.floating({min: options.min, max: options.max, fixed: options.fixed});\n }\n }\n };\n\n Chance.prototype.longitude = function (options) {\n // Constants - Formats\n var [DDM, DMS, DD] = ['ddm', 'dms', 'dd'];\n\n options = initOptions(\noptions,\n options && options.format && [DDM, DMS].includes(options.format.toLowerCase()) ?\n {min: 0, max: 179, fixed: 4} :\n {fixed: 5, min: -180, max: 180, format: DD}\n);\n\n var format = options.format.toLowerCase();\n\n if (format === DDM || format === DMS) {\n testRange(options.min < 0 || options.min > 179, \"Chance: Min specified is out of range. Should be between 0 - 179\");\n testRange(options.max < 0 || options.max > 179, \"Chance: Max specified is out of range. Should be between 0 - 179\");\n testRange(options.fixed > 4, 'Chance: Fixed specified should be below or equal to 4');\n }\n\n switch (format) {\n case DDM: {\n return this.integer({min: options.min, max: options.max}) + '°' +\n this.floating({min: 0, max: 59.9999, fixed: options.fixed})\n }\n case DMS: {\n return this.integer({min: options.min, max: options.max}) + '°' +\n this.integer({min: 0, max: 59}) + '’' +\n this.floating({min: 0, max: 59.9999, fixed: options.fixed}) + '”';\n }\n case DD:\n default: {\n return this.floating({min: options.min, max: options.max, fixed: options.fixed});\n }\n }\n };\n\n Chance.prototype.phone = function (options) {\n var self = this,\n numPick,\n ukNum = function (parts) {\n var section = [];\n //fills the section part of the phone number with random numbers.\n parts.sections.forEach(function(n) {\n section.push(self.string({ pool: '0123456789', length: n}));\n });\n return parts.area + section.join(' ');\n };\n options = initOptions(options, {\n formatted: true,\n country: 'us',\n mobile: false,\n exampleNumber: false,\n });\n if (!options.formatted) {\n options.parens = false;\n }\n var phone;\n switch (options.country) {\n case 'fr':\n if (!options.mobile) {\n numPick = this.pick([\n // Valid zone and département codes.\n '01' + this.pick(['30', '34', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '53', '55', '56', '58', '60', '64', '69', '70', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83']) + self.string({ pool: '0123456789', length: 6}),\n '02' + this.pick(['14', '18', '22', '23', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '40', '41', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '56', '57', '61', '62', '69', '72', '76', '77', '78', '85', '90', '96', '97', '98', '99']) + self.string({ pool: '0123456789', length: 6}),\n '03' + this.pick(['10', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '39', '44', '45', '51', '52', '54', '55', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90']) + self.string({ pool: '0123456789', length: 6}),\n '04' + this.pick(['11', '13', '15', '20', '22', '26', '27', '30', '32', '34', '37', '42', '43', '44', '50', '56', '57', '63', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '88', '89', '90', '91', '92', '93', '94', '95', '97', '98']) + self.string({ pool: '0123456789', length: 6}),\n '05' + this.pick(['08', '16', '17', '19', '24', '31', '32', '33', '34', '35', '40', '45', '46', '47', '49', '53', '55', '56', '57', '58', '59', '61', '62', '63', '64', '65', '67', '79', '81', '82', '86', '87', '90', '94']) + self.string({ pool: '0123456789', length: 6}),\n '09' + self.string({ pool: '0123456789', length: 8}),\n ]);\n phone = options.formatted ? numPick.match(/../g).join(' ') : numPick;\n } else {\n numPick = this.pick(['06', '07']) + self.string({ pool: '0123456789', length: 8});\n phone = options.formatted ? numPick.match(/../g).join(' ') : numPick;\n }\n break;\n case 'uk':\n if (!options.mobile) {\n numPick = this.pick([\n //valid area codes of major cities/counties followed by random numbers in required format.\n\n { area: '01' + this.character({ pool: '234569' }) + '1 ', sections: [3,4] },\n { area: '020 ' + this.character({ pool: '378' }), sections: [3,4] },\n { area: '023 ' + this.character({ pool: '89' }), sections: [3,4] },\n { area: '024 7', sections: [3,4] },\n { area: '028 ' + this.pick(['25','28','37','71','82','90','92','95']), sections: [2,4] },\n { area: '012' + this.pick(['04','08','54','76','97','98']) + ' ', sections: [6] },\n { area: '013' + this.pick(['63','64','84','86']) + ' ', sections: [6] },\n { area: '014' + this.pick(['04','20','60','61','80','88']) + ' ', sections: [6] },\n { area: '015' + this.pick(['24','27','62','66']) + ' ', sections: [6] },\n { area: '016' + this.pick(['06','29','35','47','59','95']) + ' ', sections: [6] },\n { area: '017' + this.pick(['26','44','50','68']) + ' ', sections: [6] },\n { area: '018' + this.pick(['27','37','84','97']) + ' ', sections: [6] },\n { area: '019' + this.pick(['00','05','35','46','49','63','95']) + ' ', sections: [6] }\n ]);\n phone = options.formatted ? ukNum(numPick) : ukNum(numPick).replace(' ', '', 'g');\n } else {\n numPick = this.pick([\n { area: '07' + this.pick(['4','5','7','8','9']), sections: [2,6] },\n { area: '07624 ', sections: [6] }\n ]);\n phone = options.formatted ? ukNum(numPick) : ukNum(numPick).replace(' ', '');\n }\n break;\n case 'za':\n if (!options.mobile) {\n numPick = this.pick([\n '01' + this.pick(['0', '1', '2', '3', '4', '5', '6', '7', '8']) + self.string({ pool: '0123456789', length: 7}),\n '02' + this.pick(['1', '2', '3', '4', '7', '8']) + self.string({ pool: '0123456789', length: 7}),\n '03' + this.pick(['1', '2', '3', '5', '6', '9']) + self.string({ pool: '0123456789', length: 7}),\n '04' + this.pick(['1', '2', '3', '4', '5','6','7', '8','9']) + self.string({ pool: '0123456789', length: 7}),\n '05' + this.pick(['1', '3', '4', '6', '7', '8']) + self.string({ pool: '0123456789', length: 7}),\n ]);\n phone = options.formatted || numPick;\n } else {\n numPick = this.pick([\n '060' + this.pick(['3','4','5','6','7','8','9']) + self.string({ pool: '0123456789', length: 6}),\n '061' + this.pick(['0','1','2','3','4','5','8']) + self.string({ pool: '0123456789', length: 6}),\n '06' + self.string({ pool: '0123456789', length: 7}),\n '071' + this.pick(['0','1','2','3','4','5','6','7','8','9']) + self.string({ pool: '0123456789', length: 6}),\n '07' + this.pick(['2','3','4','6','7','8','9']) + self.string({ pool: '0123456789', length: 7}),\n '08' + this.pick(['0','1','2','3','4','5']) + self.string({ pool: '0123456789', length: 7}),\n ]);\n phone = options.formatted || numPick;\n }\n break;\n case 'us':\n var areacode = this.areacode(options).toString();\n var exchange = this.natural({ min: 2, max: 9 }).toString() +\n this.natural({ min: 0, max: 9 }).toString() +\n this.natural({ min: 0, max: 9 }).toString();\n var subscriber = this.natural({ min: 1000, max: 9999 }).toString(); // this could be random [0-9]{4}\n phone = options.formatted ? areacode + ' ' + exchange + '-' + subscriber : areacode + exchange + subscriber;\n break;\n case 'br':\n var areaCode = this.pick([\"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"21\", \"22\", \"24\", \"27\", \"28\", \"31\", \"32\", \"33\", \"34\", \"35\", \"37\", \"38\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"51\", \"53\", \"54\", \"55\", \"61\", \"62\", \"63\", \"64\", \"65\", \"66\", \"67\", \"68\", \"69\", \"71\", \"73\", \"74\", \"75\", \"77\", \"79\", \"81\", \"82\", \"83\", \"84\", \"85\", \"86\", \"87\", \"88\", \"89\", \"91\", \"92\", \"93\", \"94\", \"95\", \"96\", \"97\", \"98\", \"99\"]);\n var prefix;\n if (options.mobile) {\n // Brasilian official reference (mobile): http://www.anatel.gov.br/setorregulado/plano-de-numeracao-brasileiro?id=330\n prefix = '9' + self.string({ pool: '0123456789', length: 4});\n } else {\n // Brasilian official reference: http://www.anatel.gov.br/setorregulado/plano-de-numeracao-brasileiro?id=331\n prefix = this.natural({ min: 2000, max: 5999 }).toString();\n }\n var mcdu = self.string({ pool: '0123456789', length: 4});\n phone = options.formatted ? '(' + areaCode + ') ' + prefix + '-' + mcdu : areaCode + prefix + mcdu;\n break;\n }\n return phone;\n };\n\n Chance.prototype.postal = function () {\n // Postal District\n var pd = this.character({pool: \"XVTSRPNKLMHJGECBA\"});\n // Forward Sortation Area (FSA)\n var fsa = pd + this.natural({max: 9}) + this.character({alpha: true, casing: \"upper\"});\n // Local Delivery Unut (LDU)\n var ldu = this.natural({max: 9}) + this.character({alpha: true, casing: \"upper\"}) + this.natural({max: 9});\n\n return fsa + \" \" + ldu;\n };\n\n Chance.prototype.postcode = function () {\n // Area\n var area = this.pick(this.get(\"postcodeAreas\")).code;\n // District\n var district = this.natural({max: 9});\n // Sub-District\n var subDistrict = this.bool() ? this.character({alpha: true, casing: \"upper\"}) : \"\";\n // Outward Code\n var outward = area + district + subDistrict;\n // Sector\n var sector = this.natural({max: 9});\n // Unit\n var unit = this.character({alpha: true, casing: \"upper\"}) + this.character({alpha: true, casing: \"upper\"});\n // Inward Code\n var inward = sector + unit;\n\n return outward + \" \" + inward;\n };\n\n Chance.prototype.counties = function (options) {\n options = initOptions(options, { country: 'uk' });\n return this.get(\"counties\")[options.country.toLowerCase()];\n };\n\n Chance.prototype.county = function (options) {\n return this.pick(this.counties(options)).name;\n };\n\n Chance.prototype.provinces = function (options) {\n options = initOptions(options, { country: 'ca' });\n return this.get(\"provinces\")[options.country.toLowerCase()];\n };\n\n Chance.prototype.province = function (options) {\n return (options && options.full) ?\n this.pick(this.provinces(options)).name :\n this.pick(this.provinces(options)).abbreviation;\n };\n\n Chance.prototype.state = function (options) {\n return (options && options.full) ?\n this.pick(this.states(options)).name :\n this.pick(this.states(options)).abbreviation;\n };\n\n Chance.prototype.states = function (options) {\n options = initOptions(options, { country: 'us', us_states_and_dc: true } );\n\n var states;\n\n switch (options.country.toLowerCase()) {\n case 'us':\n var us_states_and_dc = this.get(\"us_states_and_dc\"),\n territories = this.get(\"territories\"),\n armed_forces = this.get(\"armed_forces\");\n\n states = [];\n\n if (options.us_states_and_dc) {\n states = states.concat(us_states_and_dc);\n }\n if (options.territories) {\n states = states.concat(territories);\n }\n if (options.armed_forces) {\n states = states.concat(armed_forces);\n }\n break;\n case 'it':\n case 'mx':\n states = this.get(\"country_regions\")[options.country.toLowerCase()];\n break;\n case 'uk':\n states = this.get(\"counties\")[options.country.toLowerCase()];\n break;\n }\n\n return states;\n };\n\n Chance.prototype.street = function (options) {\n options = initOptions(options, { country: 'us', syllables: 2 });\n var street;\n\n switch (options.country.toLowerCase()) {\n case 'us':\n street = this.word({ syllables: options.syllables });\n street = this.capitalize(street);\n street += ' ';\n street += options.short_suffix ?\n this.street_suffix(options).abbreviation :\n this.street_suffix(options).name;\n break;\n case 'it':\n street = this.word({ syllables: options.syllables });\n street = this.capitalize(street);\n street = (options.short_suffix ?\n this.street_suffix(options).abbreviation :\n this.street_suffix(options).name) + \" \" + street;\n break;\n }\n return street;\n };\n\n Chance.prototype.street_suffix = function (options) {\n options = initOptions(options, { country: 'us' });\n return this.pick(this.street_suffixes(options));\n };\n\n Chance.prototype.street_suffixes = function (options) {\n options = initOptions(options, { country: 'us' });\n // These are the most common suffixes.\n return this.get(\"street_suffixes\")[options.country.toLowerCase()];\n };\n\n // Note: only returning US zip codes, internationalization will be a whole\n // other beast to tackle at some point.\n Chance.prototype.zip = function (options) {\n var zip = this.n(this.natural, 5, {max: 9});\n\n if (options && options.plusfour === true) {\n zip.push('-');\n zip = zip.concat(this.n(this.natural, 4, {max: 9}));\n }\n\n return zip.join(\"\");\n };\n\n // -- End Location --\n\n // -- Time\n\n Chance.prototype.ampm = function () {\n return this.bool() ? 'am' : 'pm';\n };\n\n Chance.prototype.date = function (options) {\n var date_string, date;\n\n // If interval is specified we ignore preset\n if(options && (options.min || options.max)) {\n options = initOptions(options, {\n american: true,\n string: false\n });\n var min = typeof options.min !== \"undefined\" ? options.min.getTime() : 1;\n // 100,000,000 days measured relative to midnight at the beginning of 01 January, 1970 UTC. http://es5.github.io/#x15.9.1.1\n var max = typeof options.max !== \"undefined\" ? options.max.getTime() : 8640000000000000;\n\n date = new Date(this.integer({min: min, max: max}));\n } else {\n var m = this.month({raw: true});\n var daysInMonth = m.days;\n\n if(options && options.month) {\n // Mod 12 to allow months outside range of 0-11 (not encouraged, but also not prevented).\n daysInMonth = this.get('months')[((options.month % 12) + 12) % 12].days;\n }\n\n options = initOptions(options, {\n year: parseInt(this.year(), 10),\n // Necessary to subtract 1 because Date() 0-indexes month but not day or year\n // for some reason.\n month: m.numeric - 1,\n day: this.natural({min: 1, max: daysInMonth}),\n hour: this.hour({twentyfour: true}),\n minute: this.minute(),\n second: this.second(),\n millisecond: this.millisecond(),\n american: true,\n string: false\n });\n\n date = new Date(options.year, options.month, options.day, options.hour, options.minute, options.second, options.millisecond);\n }\n\n if (options.american) {\n // Adding 1 to the month is necessary because Date() 0-indexes\n // months but not day for some odd reason.\n date_string = (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear();\n } else {\n date_string = date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();\n }\n\n return options.string ? date_string : date;\n };\n\n Chance.prototype.hammertime = function (options) {\n return this.date(options).getTime();\n };\n\n Chance.prototype.hour = function (options) {\n options = initOptions(options, {\n min: options && options.twentyfour ? 0 : 1,\n max: options && options.twentyfour ? 23 : 12\n });\n\n testRange(options.min < 0, \"Chance: Min cannot be less than 0.\");\n testRange(options.twentyfour && options.max > 23, \"Chance: Max cannot be greater than 23 for twentyfour option.\");\n testRange(!options.twentyfour && options.max > 12, \"Chance: Max cannot be greater than 12.\");\n testRange(options.min > options.max, \"Chance: Min cannot be greater than Max.\");\n\n return this.natural({min: options.min, max: options.max});\n };\n\n Chance.prototype.millisecond = function () {\n return this.natural({max: 999});\n };\n\n Chance.prototype.minute = Chance.prototype.second = function (options) {\n options = initOptions(options, {min: 0, max: 59});\n\n testRange(options.min < 0, \"Chance: Min cannot be less than 0.\");\n testRange(options.max > 59, \"Chance: Max cannot be greater than 59.\");\n testRange(options.min > options.max, \"Chance: Min cannot be greater than Max.\");\n\n return this.natural({min: options.min, max: options.max});\n };\n\n Chance.prototype.month = function (options) {\n options = initOptions(options, {min: 1, max: 12});\n\n testRange(options.min < 1, \"Chance: Min cannot be less than 1.\");\n testRange(options.max > 12, \"Chance: Max cannot be greater than 12.\");\n testRange(options.min > options.max, \"Chance: Min cannot be greater than Max.\");\n\n var month = this.pick(this.months().slice(options.min - 1, options.max));\n return options.raw ? month : month.name;\n };\n\n Chance.prototype.months = function () {\n return this.get(\"months\");\n };\n\n Chance.prototype.second = function () {\n return this.natural({max: 59});\n };\n\n Chance.prototype.timestamp = function () {\n return this.natural({min: 1, max: parseInt(new Date().getTime() / 1000, 10)});\n };\n\n Chance.prototype.weekday = function (options) {\n options = initOptions(options, {weekday_only: false});\n var weekdays = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\"];\n if (!options.weekday_only) {\n weekdays.push(\"Saturday\");\n weekdays.push(\"Sunday\");\n }\n return this.pickone(weekdays);\n };\n\n Chance.prototype.year = function (options) {\n // Default to current year as min if none specified\n options = initOptions(options, {min: new Date().getFullYear()});\n\n // Default to one century after current year as max if none specified\n options.max = (typeof options.max !== \"undefined\") ? options.max : options.min + 100;\n\n return this.natural(options).toString();\n };\n\n // -- End Time\n\n // -- Finance --\n\n Chance.prototype.cc = function (options) {\n options = initOptions(options);\n\n var type, number, to_generate;\n\n type = (options.type) ?\n this.cc_type({ name: options.type, raw: true }) :\n this.cc_type({ raw: true });\n\n number = type.prefix.split(\"\");\n to_generate = type.length - type.prefix.length - 1;\n\n // Generates n - 1 digits\n number = number.concat(this.n(this.integer, to_generate, {min: 0, max: 9}));\n\n // Generates the last digit according to Luhn algorithm\n number.push(this.luhn_calculate(number.join(\"\")));\n\n return number.join(\"\");\n };\n\n Chance.prototype.cc_types = function () {\n // http://en.wikipedia.org/wiki/Bank_card_number#Issuer_identification_number_.28IIN.29\n return this.get(\"cc_types\");\n };\n\n Chance.prototype.cc_type = function (options) {\n options = initOptions(options);\n var types = this.cc_types(),\n type = null;\n\n if (options.name) {\n for (var i = 0; i < types.length; i++) {\n // Accept either name or short_name to specify card type\n if (types[i].name === options.name || types[i].short_name === options.name) {\n type = types[i];\n break;\n }\n }\n if (type === null) {\n throw new RangeError(\"Chance: Credit card type '\" + options.name + \"' is not supported\");\n }\n } else {\n type = this.pick(types);\n }\n\n return options.raw ? type : type.name;\n };\n\n // return all world currency by ISO 4217\n Chance.prototype.currency_types = function () {\n return this.get(\"currency_types\");\n };\n\n // return random world currency by ISO 4217\n Chance.prototype.currency = function () {\n return this.pick(this.currency_types());\n };\n\n // return all timezones available\n Chance.prototype.timezones = function () {\n return this.get(\"timezones\");\n };\n\n // return random timezone\n Chance.prototype.timezone = function () {\n return this.pick(this.timezones());\n };\n\n //Return random correct currency exchange pair (e.g. EUR/USD) or array of currency code\n Chance.prototype.currency_pair = function (returnAsString) {\n var currencies = this.unique(this.currency, 2, {\n comparator: function(arr, val) {\n\n return arr.reduce(function(acc, item) {\n // If a match has been found, short circuit check and just return\n return acc || (item.code === val.code);\n }, false);\n }\n });\n\n if (returnAsString) {\n return currencies[0].code + '/' + currencies[1].code;\n } else {\n return currencies;\n }\n };\n\n Chance.prototype.dollar = function (options) {\n // By default, a somewhat more sane max for dollar than all available numbers\n options = initOptions(options, {max : 10000, min : 0});\n\n var dollar = this.floating({min: options.min, max: options.max, fixed: 2}).toString(),\n cents = dollar.split('.')[1];\n\n if (cents === undefined) {\n dollar += '.00';\n } else if (cents.length < 2) {\n dollar = dollar + '0';\n }\n\n if (dollar < 0) {\n return '-$' + dollar.replace('-', '');\n } else {\n return '$' + dollar;\n }\n };\n\n Chance.prototype.euro = function (options) {\n return Number(this.dollar(options).replace(\"$\", \"\")).toLocaleString() + \"€\";\n };\n\n Chance.prototype.exp = function (options) {\n options = initOptions(options);\n var exp = {};\n\n exp.year = this.exp_year();\n\n // If the year is this year, need to ensure month is greater than the\n // current month or this expiration will not be valid\n if (exp.year === (new Date().getFullYear()).toString()) {\n exp.month = this.exp_month({future: true});\n } else {\n exp.month = this.exp_month();\n }\n\n return options.raw ? exp : exp.month + '/' + exp.year;\n };\n\n Chance.prototype.exp_month = function (options) {\n options = initOptions(options);\n var month, month_int,\n // Date object months are 0 indexed\n curMonth = new Date().getMonth() + 1;\n\n if (options.future && (curMonth !== 12)) {\n do {\n month = this.month({raw: true}).numeric;\n month_int = parseInt(month, 10);\n } while (month_int <= curMonth);\n } else {\n month = this.month({raw: true}).numeric;\n }\n\n return month;\n };\n\n Chance.prototype.exp_year = function () {\n var curMonth = new Date().getMonth() + 1,\n curYear = new Date().getFullYear();\n\n return this.year({min: ((curMonth === 12) ? (curYear + 1) : curYear), max: (curYear + 10)});\n };\n\n Chance.prototype.vat = function (options) {\n options = initOptions(options, { country: 'it' });\n switch (options.country.toLowerCase()) {\n case 'it':\n return this.it_vat();\n }\n };\n\n /**\n * Generate a string matching IBAN pattern (https://en.wikipedia.org/wiki/International_Bank_Account_Number).\n * No country-specific formats support (yet)\n */\n Chance.prototype.iban = function () {\n var alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n var alphanum = alpha + '0123456789';\n var iban =\n this.string({ length: 2, pool: alpha }) +\n this.pad(this.integer({ min: 0, max: 99 }), 2) +\n this.string({ length: 4, pool: alphanum }) +\n this.pad(this.natural(), this.natural({ min: 6, max: 26 }));\n return iban;\n };\n\n // -- End Finance\n\n // -- Regional\n\n Chance.prototype.it_vat = function () {\n var it_vat = this.natural({min: 1, max: 1800000});\n\n it_vat = this.pad(it_vat, 7) + this.pad(this.pick(this.provinces({ country: 'it' })).code, 3);\n return it_vat + this.luhn_calculate(it_vat);\n };\n\n /*\n * this generator is written following the official algorithm\n * all data can be passed explicitely or randomized by calling chance.cf() without options\n * the code does not check that the input data is valid (it goes beyond the scope of the generator)\n *\n * @param [Object] options = { first: first name,\n * last: last name,\n * gender: female|male,\n birthday: JavaScript date object,\n city: string(4), 1 letter + 3 numbers\n }\n * @return [string] codice fiscale\n *\n */\n Chance.prototype.cf = function (options) {\n options = options || {};\n var gender = !!options.gender ? options.gender : this.gender(),\n first = !!options.first ? options.first : this.first( { gender: gender, nationality: 'it'} ),\n last = !!options.last ? options.last : this.last( { nationality: 'it'} ),\n birthday = !!options.birthday ? options.birthday : this.birthday(),\n city = !!options.city ? options.city : this.pickone(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'L', 'M', 'Z']) + this.pad(this.natural({max:999}), 3),\n cf = [],\n name_generator = function(name, isLast) {\n var temp,\n return_value = [];\n\n if (name.length < 3) {\n return_value = name.split(\"\").concat(\"XXX\".split(\"\")).splice(0,3);\n }\n else {\n temp = name.toUpperCase().split('').map(function(c){\n return (\"BCDFGHJKLMNPRSTVWZ\".indexOf(c) !== -1) ? c : undefined;\n }).join('');\n if (temp.length > 3) {\n if (isLast) {\n temp = temp.substr(0,3);\n } else {\n temp = temp[0] + temp.substr(2,2);\n }\n }\n if (temp.length < 3) {\n return_value = temp;\n temp = name.toUpperCase().split('').map(function(c){\n return (\"AEIOU\".indexOf(c) !== -1) ? c : undefined;\n }).join('').substr(0, 3 - return_value.length);\n }\n return_value = return_value + temp;\n }\n\n return return_value;\n },\n date_generator = function(birthday, gender, that) {\n var lettermonths = ['A', 'B', 'C', 'D', 'E', 'H', 'L', 'M', 'P', 'R', 'S', 'T'];\n\n return birthday.getFullYear().toString().substr(2) +\n lettermonths[birthday.getMonth()] +\n that.pad(birthday.getDate() + ((gender.toLowerCase() === \"female\") ? 40 : 0), 2);\n },\n checkdigit_generator = function(cf) {\n var range1 = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\n range2 = \"ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ\",\n evens = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\n odds = \"BAKPLCQDREVOSFTGUHMINJWZYX\",\n digit = 0;\n\n\n for(var i = 0; i < 15; i++) {\n if (i % 2 !== 0) {\n digit += evens.indexOf(range2[range1.indexOf(cf[i])]);\n }\n else {\n digit += odds.indexOf(range2[range1.indexOf(cf[i])]);\n }\n }\n return evens[digit % 26];\n };\n\n cf = cf.concat(name_generator(last, true), name_generator(first), date_generator(birthday, gender, this), city.toUpperCase().split(\"\")).join(\"\");\n cf += checkdigit_generator(cf.toUpperCase(), this);\n\n return cf.toUpperCase();\n };\n\n Chance.prototype.pl_pesel = function () {\n var number = this.natural({min: 1, max: 9999999999});\n var arr = this.pad(number, 10).split('');\n for (var i = 0; i < arr.length; i++) {\n arr[i] = parseInt(arr[i]);\n }\n\n var controlNumber = (1 * arr[0] + 3 * arr[1] + 7 * arr[2] + 9 * arr[3] + 1 * arr[4] + 3 * arr[5] + 7 * arr[6] + 9 * arr[7] + 1 * arr[8] + 3 * arr[9]) % 10;\n if(controlNumber !== 0) {\n controlNumber = 10 - controlNumber;\n }\n\n return arr.join('') + controlNumber;\n };\n\n Chance.prototype.pl_nip = function () {\n var number = this.natural({min: 1, max: 999999999});\n var arr = this.pad(number, 9).split('');\n for (var i = 0; i < arr.length; i++) {\n arr[i] = parseInt(arr[i]);\n }\n\n var controlNumber = (6 * arr[0] + 5 * arr[1] + 7 * arr[2] + 2 * arr[3] + 3 * arr[4] + 4 * arr[5] + 5 * arr[6] + 6 * arr[7] + 7 * arr[8]) % 11;\n if(controlNumber === 10) {\n return this.pl_nip();\n }\n\n return arr.join('') + controlNumber;\n };\n\n Chance.prototype.pl_regon = function () {\n var number = this.natural({min: 1, max: 99999999});\n var arr = this.pad(number, 8).split('');\n for (var i = 0; i < arr.length; i++) {\n arr[i] = parseInt(arr[i]);\n }\n\n var controlNumber = (8 * arr[0] + 9 * arr[1] + 2 * arr[2] + 3 * arr[3] + 4 * arr[4] + 5 * arr[5] + 6 * arr[6] + 7 * arr[7]) % 11;\n if(controlNumber === 10) {\n controlNumber = 0;\n }\n\n return arr.join('') + controlNumber;\n };\n\n // -- End Regional\n\n // -- Music --\n\n Chance.prototype.note = function(options) {\n // choices for 'notes' option:\n // flatKey - chromatic scale with flat notes (default)\n // sharpKey - chromatic scale with sharp notes\n // flats - just flat notes\n // sharps - just sharp notes\n // naturals - just natural notes\n // all - naturals, sharps and flats\n options = initOptions(options, { notes : 'flatKey'});\n var scales = {\n naturals: ['C', 'D', 'E', 'F', 'G', 'A', 'B'],\n flats: ['D♭', 'E♭', 'G♭', 'A♭', 'B♭'],\n sharps: ['C♯', 'D♯', 'F♯', 'G♯', 'A♯']\n };\n scales.all = scales.naturals.concat(scales.flats.concat(scales.sharps))\n scales.flatKey = scales.naturals.concat(scales.flats)\n scales.sharpKey = scales.naturals.concat(scales.sharps)\n return this.pickone(scales[options.notes]);\n }\n\n Chance.prototype.midi_note = function(options) {\n var min = 0;\n var max = 127;\n options = initOptions(options, { min : min, max : max });\n return this.integer({min: options.min, max: options.max});\n }\n\n Chance.prototype.chord_quality = function(options) {\n options = initOptions(options, { jazz: true });\n var chord_qualities = ['maj', 'min', 'aug', 'dim'];\n if (options.jazz){\n chord_qualities = [\n 'maj7',\n 'min7',\n '7',\n 'sus',\n 'dim',\n 'ø'\n ];\n }\n return this.pickone(chord_qualities);\n }\n\n Chance.prototype.chord = function (options) {\n options = initOptions(options);\n return this.note(options) + this.chord_quality(options);\n }\n\n Chance.prototype.tempo = function (options) {\n var min = 40;\n var max = 320;\n options = initOptions(options, {min: min, max: max});\n return this.integer({min: options.min, max: options.max});\n }\n\n // -- End Music\n\n // -- Miscellaneous --\n\n // Coin - Flip, flip, flipadelphia\n Chance.prototype.coin = function() {\n return this.bool() ? \"heads\" : \"tails\";\n }\n\n // Dice - For all the board game geeks out there, myself included ;)\n function diceFn (range) {\n return function () {\n return this.natural(range);\n };\n }\n Chance.prototype.d4 = diceFn({min: 1, max: 4});\n Chance.prototype.d6 = diceFn({min: 1, max: 6});\n Chance.prototype.d8 = diceFn({min: 1, max: 8});\n Chance.prototype.d10 = diceFn({min: 1, max: 10});\n Chance.prototype.d12 = diceFn({min: 1, max: 12});\n Chance.prototype.d20 = diceFn({min: 1, max: 20});\n Chance.prototype.d30 = diceFn({min: 1, max: 30});\n Chance.prototype.d100 = diceFn({min: 1, max: 100});\n\n Chance.prototype.rpg = function (thrown, options) {\n options = initOptions(options);\n if (!thrown) {\n throw new RangeError(\"Chance: A type of die roll must be included\");\n } else {\n var bits = thrown.toLowerCase().split(\"d\"),\n rolls = [];\n\n if (bits.length !== 2 || !parseInt(bits[0], 10) || !parseInt(bits[1], 10)) {\n throw new Error(\"Chance: Invalid format provided. Please provide #d# where the first # is the number of dice to roll, the second # is the max of each die\");\n }\n for (var i = bits[0]; i > 0; i--) {\n rolls[i - 1] = this.natural({min: 1, max: bits[1]});\n }\n return (typeof options.sum !== 'undefined' && options.sum) ? rolls.reduce(function (p, c) { return p + c; }) : rolls;\n }\n };\n\n // Guid\n Chance.prototype.guid = function (options) {\n options = initOptions(options, { version: 5 });\n\n var guid_pool = \"abcdef1234567890\",\n variant_pool = \"ab89\",\n guid = this.string({ pool: guid_pool, length: 8 }) + '-' +\n this.string({ pool: guid_pool, length: 4 }) + '-' +\n // The Version\n options.version +\n this.string({ pool: guid_pool, length: 3 }) + '-' +\n // The Variant\n this.string({ pool: variant_pool, length: 1 }) +\n this.string({ pool: guid_pool, length: 3 }) + '-' +\n this.string({ pool: guid_pool, length: 12 });\n return guid;\n };\n\n // Hash\n Chance.prototype.hash = function (options) {\n options = initOptions(options, {length : 40, casing: 'lower'});\n var pool = options.casing === 'upper' ? HEX_POOL.toUpperCase() : HEX_POOL;\n return this.string({pool: pool, length: options.length});\n };\n\n Chance.prototype.luhn_check = function (num) {\n var str = num.toString();\n var checkDigit = +str.substring(str.length - 1);\n return checkDigit === this.luhn_calculate(+str.substring(0, str.length - 1));\n };\n\n Chance.prototype.luhn_calculate = function (num) {\n var digits = num.toString().split(\"\").reverse();\n var sum = 0;\n var digit;\n\n for (var i = 0, l = digits.length; l > i; ++i) {\n digit = +digits[i];\n if (i % 2 === 0) {\n digit *= 2;\n if (digit > 9) {\n digit -= 9;\n }\n }\n sum += digit;\n }\n return (sum * 9) % 10;\n };\n\n // MD5 Hash\n Chance.prototype.md5 = function(options) {\n var opts = { str: '', key: null, raw: false };\n\n if (!options) {\n opts.str = this.string();\n options = {};\n }\n else if (typeof options === 'string') {\n opts.str = options;\n options = {};\n }\n else if (typeof options !== 'object') {\n return null;\n }\n else if(options.constructor === 'Array') {\n return null;\n }\n\n opts = initOptions(options, opts);\n\n if(!opts.str){\n throw new Error('A parameter is required to return an md5 hash.');\n }\n\n return this.bimd5.md5(opts.str, opts.key, opts.raw);\n };\n\n /**\n * #Description:\n * =====================================================\n * Generate random file name with extension\n *\n * The argument provide extension type\n * -> raster\n * -> vector\n * -> 3d\n * -> document\n *\n * If nothing is provided the function return random file name with random\n * extension type of any kind\n *\n * The user can validate the file name length range\n * If nothing provided the generated file name is random\n *\n * #Extension Pool :\n * * Currently the supported extensions are\n * -> some of the most popular raster image extensions\n * -> some of the most popular vector image extensions\n * -> some of the most popular 3d image extensions\n * -> some of the most popular document extensions\n *\n * #Examples :\n * =====================================================\n *\n * Return random file name with random extension. The file extension\n * is provided by a predefined collection of extensions. More about the extension\n * pool can be found in #Extension Pool section\n *\n * chance.file()\n * => dsfsdhjf.xml\n *\n * In order to generate a file name with specific length, specify the\n * length property and integer value. The extension is going to be random\n *\n * chance.file({length : 10})\n * => asrtineqos.pdf\n *\n * In order to generate file with extension from some of the predefined groups\n * of the extension pool just specify the extension pool category in fileType property\n *\n * chance.file({fileType : 'raster'})\n * => dshgssds.psd\n *\n * You can provide specific extension for your files\n * chance.file({extension : 'html'})\n * => djfsd.html\n *\n * Or you could pass custom collection of extensions by array or by object\n * chance.file({extensions : [...]})\n * => dhgsdsd.psd\n *\n * chance.file({extensions : { key : [...], key : [...]}})\n * => djsfksdjsd.xml\n *\n * @param [collection] options\n * @return [string]\n *\n */\n Chance.prototype.file = function(options) {\n\n var fileOptions = options || {};\n var poolCollectionKey = \"fileExtension\";\n var typeRange = Object.keys(this.get(\"fileExtension\"));//['raster', 'vector', '3d', 'document'];\n var fileName;\n var fileExtension;\n\n // Generate random file name\n fileName = this.word({length : fileOptions.length});\n\n // Generate file by specific extension provided by the user\n if(fileOptions.extension) {\n\n fileExtension = fileOptions.extension;\n return (fileName + '.' + fileExtension);\n }\n\n // Generate file by specific extension collection\n if(fileOptions.extensions) {\n\n if(Array.isArray(fileOptions.extensions)) {\n\n fileExtension = this.pickone(fileOptions.extensions);\n return (fileName + '.' + fileExtension);\n }\n else if(fileOptions.extensions.constructor === Object) {\n\n var extensionObjectCollection = fileOptions.extensions;\n var keys = Object.keys(extensionObjectCollection);\n\n fileExtension = this.pickone(extensionObjectCollection[this.pickone(keys)]);\n return (fileName + '.' + fileExtension);\n }\n\n throw new Error(\"Chance: Extensions must be an Array or Object\");\n }\n\n // Generate file extension based on specific file type\n if(fileOptions.fileType) {\n\n var fileType = fileOptions.fileType;\n if(typeRange.indexOf(fileType) !== -1) {\n\n fileExtension = this.pickone(this.get(poolCollectionKey)[fileType]);\n return (fileName + '.' + fileExtension);\n }\n\n throw new RangeError(\"Chance: Expect file type value to be 'raster', 'vector', '3d' or 'document'\");\n }\n\n // Generate random file name if no extension options are passed\n fileExtension = this.pickone(this.get(poolCollectionKey)[this.pickone(typeRange)]);\n return (fileName + '.' + fileExtension);\n };\n\n /**\n * Generates file data of random bytes using the chance.file method for the file name\n *\n * @param {object}\n * fileName: String\n * fileExtention: String\n * fileSize: Number <- in bytes\n * @returns {object} fileName: String, fileData: Buffer\n */\n Chance.prototype.fileWithContent = function (options){\n var fileOptions = options || {};\n var fileName = 'fileName' in fileOptions ? fileOptions.fileName : this.file().split(\".\")[0];\n fileName += \".\" + ('fileExtension' in fileOptions ? fileOptions.fileExtension : this.file().split(\".\")[1]);\n\n\n if (typeof fileOptions.fileSize !== \"number\") {\n throw new Error('File size must be an integer')\n }\n var file = {\n fileData: this.buffer({length: fileOptions.fileSize}),\n fileName: fileName,\n };\n return file;\n }\n\n var data = {\n\n firstNames: {\n \"male\": {\n \"en\": [\"James\", \"John\", \"Robert\", \"Michael\", \"William\", \"David\", \"Richard\", \"Joseph\", \"Charles\", \"Thomas\", \"Christopher\", \"Daniel\", \"Matthew\", \"George\", \"Donald\", \"Anthony\", \"Paul\", \"Mark\", \"Edward\", \"Steven\", \"Kenneth\", \"Andrew\", \"Brian\", \"Joshua\", \"Kevin\", \"Ronald\", \"Timothy\", \"Jason\", \"Jeffrey\", \"Frank\", \"Gary\", \"Ryan\", \"Nicholas\", \"Eric\", \"Stephen\", \"Jacob\", \"Larry\", \"Jonathan\", \"Scott\", \"Raymond\", \"Justin\", \"Brandon\", \"Gregory\", \"Samuel\", \"Benjamin\", \"Patrick\", \"Jack\", \"Henry\", \"Walter\", \"Dennis\", \"Jerry\", \"Alexander\", \"Peter\", \"Tyler\", \"Douglas\", \"Harold\", \"Aaron\", \"Jose\", \"Adam\", \"Arthur\", \"Zachary\", \"Carl\", \"Nathan\", \"Albert\", \"Kyle\", \"Lawrence\", \"Joe\", \"Willie\", \"Gerald\", \"Roger\", \"Keith\", \"Jeremy\", \"Terry\", \"Harry\", \"Ralph\", \"Sean\", \"Jesse\", \"Roy\", \"Louis\", \"Billy\", \"Austin\", \"Bruce\", \"Eugene\", \"Christian\", \"Bryan\", \"Wayne\", \"Russell\", \"Howard\", \"Fred\", \"Ethan\", \"Jordan\", \"Philip\", \"Alan\", \"Juan\", \"Randy\", \"Vincent\", \"Bobby\", \"Dylan\", \"Johnny\", \"Phillip\", \"Victor\", \"Clarence\", \"Ernest\", \"Martin\", \"Craig\", \"Stanley\", \"Shawn\", \"Travis\", \"Bradley\", \"Leonard\", \"Earl\", \"Gabriel\", \"Jimmy\", \"Francis\", \"Todd\", \"Noah\", \"Danny\", \"Dale\", \"Cody\", \"Carlos\", \"Allen\", \"Frederick\", \"Logan\", \"Curtis\", \"Alex\", \"Joel\", \"Luis\", \"Norman\", \"Marvin\", \"Glenn\", \"Tony\", \"Nathaniel\", \"Rodney\", \"Melvin\", \"Alfred\", \"Steve\", \"Cameron\", \"Chad\", \"Edwin\", \"Caleb\", \"Evan\", \"Antonio\", \"Lee\", \"Herbert\", \"Jeffery\", \"Isaac\", \"Derek\", \"Ricky\", \"Marcus\", \"Theodore\", \"Elijah\", \"Luke\", \"Jesus\", \"Eddie\", \"Troy\", \"Mike\", \"Dustin\", \"Ray\", \"Adrian\", \"Bernard\", \"Leroy\", \"Angel\", \"Randall\", \"Wesley\", \"Ian\", \"Jared\", \"Mason\", \"Hunter\", \"Calvin\", \"Oscar\", \"Clifford\", \"Jay\", \"Shane\", \"Ronnie\", \"Barry\", \"Lucas\", \"Corey\", \"Manuel\", \"Leo\", \"Tommy\", \"Warren\", \"Jackson\", \"Isaiah\", \"Connor\", \"Don\", \"Dean\", \"Jon\", \"Julian\", \"Miguel\", \"Bill\", \"Lloyd\", \"Charlie\", \"Mitchell\", \"Leon\", \"Jerome\", \"Darrell\", \"Jeremiah\", \"Alvin\", \"Brett\", \"Seth\", \"Floyd\", \"Jim\", \"Blake\", \"Micheal\", \"Gordon\", \"Trevor\", \"Lewis\", \"Erik\", \"Edgar\", \"Vernon\", \"Devin\", \"Gavin\", \"Jayden\", \"Chris\", \"Clyde\", \"Tom\", \"Derrick\", \"Mario\", \"Brent\", \"Marc\", \"Herman\", \"Chase\", \"Dominic\", \"Ricardo\", \"Franklin\", \"Maurice\", \"Max\", \"Aiden\", \"Owen\", \"Lester\", \"Gilbert\", \"Elmer\", \"Gene\", \"Francisco\", \"Glen\", \"Cory\", \"Garrett\", \"Clayton\", \"Sam\", \"Jorge\", \"Chester\", \"Alejandro\", \"Jeff\", \"Harvey\", \"Milton\", \"Cole\", \"Ivan\", \"Andre\", \"Duane\", \"Landon\"],\n // Data taken from http://www.dati.gov.it/dataset/comune-di-firenze_0163\n \"it\": [\"Adolfo\", \"Alberto\", \"Aldo\", \"Alessandro\", \"Alessio\", \"Alfredo\", \"Alvaro\", \"Andrea\", \"Angelo\", \"Angiolo\", \"Antonino\", \"Antonio\", \"Attilio\", \"Benito\", \"Bernardo\", \"Bruno\", \"Carlo\", \"Cesare\", \"Christian\", \"Claudio\", \"Corrado\", \"Cosimo\", \"Cristian\", \"Cristiano\", \"Daniele\", \"Dario\", \"David\", \"Davide\", \"Diego\", \"Dino\", \"Domenico\", \"Duccio\", \"Edoardo\", \"Elia\", \"Elio\", \"Emanuele\", \"Emiliano\", \"Emilio\", \"Enrico\", \"Enzo\", \"Ettore\", \"Fabio\", \"Fabrizio\", \"Federico\", \"Ferdinando\", \"Fernando\", \"Filippo\", \"Francesco\", \"Franco\", \"Gabriele\", \"Giacomo\", \"Giampaolo\", \"Giampiero\", \"Giancarlo\", \"Gianfranco\", \"Gianluca\", \"Gianmarco\", \"Gianni\", \"Gino\", \"Giorgio\", \"Giovanni\", \"Giuliano\", \"Giulio\", \"Giuseppe\", \"Graziano\", \"Gregorio\", \"Guido\", \"Iacopo\", \"Jacopo\", \"Lapo\", \"Leonardo\", \"Lorenzo\", \"Luca\", \"Luciano\", \"Luigi\", \"Manuel\", \"Marcello\", \"Marco\", \"Marino\", \"Mario\", \"Massimiliano\", \"Massimo\", \"Matteo\", \"Mattia\", \"Maurizio\", \"Mauro\", \"Michele\", \"Mirko\", \"Mohamed\", \"Nello\", \"Neri\", \"Niccolò\", \"Nicola\", \"Osvaldo\", \"Otello\", \"Paolo\", \"Pier Luigi\", \"Piero\", \"Pietro\", \"Raffaele\", \"Remo\", \"Renato\", \"Renzo\", \"Riccardo\", \"Roberto\", \"Rolando\", \"Romano\", \"Salvatore\", \"Samuele\", \"Sandro\", \"Sergio\", \"Silvano\", \"Simone\", \"Stefano\", \"Thomas\", \"Tommaso\", \"Ubaldo\", \"Ugo\", \"Umberto\", \"Valerio\", \"Valter\", \"Vasco\", \"Vincenzo\", \"Vittorio\"],\n // Data taken from http://www.svbkindernamen.nl/int/nl/kindernamen/index.html\n \"nl\": [\"Aaron\",\"Abel\",\"Adam\",\"Adriaan\",\"Albert\",\"Alexander\",\"Ali\",\"Arjen\",\"Arno\",\"Bart\",\"Bas\",\"Bastiaan\",\"Benjamin\",\"Bob\", \"Boris\",\"Bram\",\"Brent\",\"Cas\",\"Casper\",\"Chris\",\"Christiaan\",\"Cornelis\",\"Daan\",\"Daley\",\"Damian\",\"Dani\",\"Daniel\",\"Daniël\",\"David\",\"Dean\",\"Dirk\",\"Dylan\",\"Egbert\",\"Elijah\",\"Erik\",\"Erwin\",\"Evert\",\"Ezra\",\"Fabian\",\"Fedde\",\"Finn\",\"Florian\",\"Floris\",\"Frank\",\"Frans\",\"Frederik\",\"Freek\",\"Geert\",\"Gerard\",\"Gerben\",\"Gerrit\",\"Gijs\",\"Guus\",\"Hans\",\"Hendrik\",\"Henk\",\"Herman\",\"Hidde\",\"Hugo\",\"Jaap\",\"Jan Jaap\",\"Jan-Willem\",\"Jack\",\"Jacob\",\"Jan\",\"Jason\",\"Jasper\",\"Jayden\",\"Jelle\",\"Jelte\",\"Jens\",\"Jeroen\",\"Jesse\",\"Jim\",\"Job\",\"Joep\",\"Johannes\",\"John\",\"Jonathan\",\"Joris\",\"Joshua\",\"Joël\",\"Julian\",\"Kees\",\"Kevin\",\"Koen\",\"Lars\",\"Laurens\",\"Leendert\",\"Lennard\",\"Lodewijk\",\"Luc\",\"Luca\",\"Lucas\",\"Lukas\",\"Luuk\",\"Maarten\",\"Marcus\",\"Martijn\",\"Martin\",\"Matthijs\",\"Maurits\",\"Max\",\"Mees\",\"Melle\",\"Mick\",\"Mika\",\"Milan\",\"Mohamed\",\"Mohammed\",\"Morris\",\"Muhammed\",\"Nathan\",\"Nick\",\"Nico\",\"Niek\",\"Niels\",\"Noah\",\"Noud\",\"Olivier\",\"Oscar\",\"Owen\",\"Paul\",\"Pepijn\",\"Peter\",\"Pieter\",\"Pim\",\"Quinten\",\"Reinier\",\"Rens\",\"Robin\",\"Ruben\",\"Sam\",\"Samuel\",\"Sander\",\"Sebastiaan\",\"Sem\",\"Sep\",\"Sepp\",\"Siem\",\"Simon\",\"Stan\",\"Stef\",\"Steven\",\"Stijn\",\"Sven\",\"Teun\",\"Thijmen\",\"Thijs\",\"Thomas\",\"Tijn\",\"Tim\",\"Timo\",\"Tobias\",\"Tom\",\"Victor\",\"Vince\",\"Willem\",\"Wim\",\"Wouter\",\"Yusuf\"],\n // Data taken from https://fr.wikipedia.org/wiki/Liste_de_pr%C3%A9noms_fran%C3%A7ais_et_de_la_francophonie\n \"fr\": [\"Aaron\",\"Abdon\",\"Abel\",\"Abélard\",\"Abelin\",\"Abondance\",\"Abraham\",\"Absalon\",\"Acace\",\"Achaire\",\"Achille\",\"Adalard\",\"Adalbald\",\"Adalbéron\",\"Adalbert\",\"Adalric\",\"Adam\",\"Adegrin\",\"Adel\",\"Adelin\",\"Andelin\",\"Adelphe\",\"Adam\",\"Adéodat\",\"Adhémar\",\"Adjutor\",\"Adolphe\",\"Adonis\",\"Adon\",\"Adrien\",\"Agapet\",\"Agathange\",\"Agathon\",\"Agilbert\",\"Agénor\",\"Agnan\",\"Aignan\",\"Agrippin\",\"Aimable\",\"Aimé\",\"Alain\",\"Alban\",\"Albin\",\"Aubin\",\"Albéric\",\"Albert\",\"Albertet\",\"Alcibiade\",\"Alcide\",\"Alcée\",\"Alcime\",\"Aldonce\",\"Aldric\",\"Aldéric\",\"Aleaume\",\"Alexandre\",\"Alexis\",\"Alix\",\"Alliaume\",\"Aleaume\",\"Almine\",\"Almire\",\"Aloïs\",\"Alphée\",\"Alphonse\",\"Alpinien\",\"Alverède\",\"Amalric\",\"Amaury\",\"Amandin\",\"Amant\",\"Ambroise\",\"Amédée\",\"Amélien\",\"Amiel\",\"Amour\",\"Anaël\",\"Anastase\",\"Anatole\",\"Ancelin\",\"Andéol\",\"Andoche\",\"André\",\"Andoche\",\"Ange\",\"Angelin\",\"Angilbe\",\"Anglebert\",\"Angoustan\",\"Anicet\",\"Anne\",\"Annibal\",\"Ansbert\",\"Anselme\",\"Anthelme\",\"Antheaume\",\"Anthime\",\"Antide\",\"Antoine\",\"Antonius\",\"Antonin\",\"Apollinaire\",\"Apollon\",\"Aquilin\",\"Arcade\",\"Archambaud\",\"Archambeau\",\"Archange\",\"Archibald\",\"Arian\",\"Ariel\",\"Ariste\",\"Aristide\",\"Armand\",\"Armel\",\"Armin\",\"Arnould\",\"Arnaud\",\"Arolde\",\"Arsène\",\"Arsinoé\",\"Arthaud\",\"Arthème\",\"Arthur\",\"Ascelin\",\"Athanase\",\"Aubry\",\"Audebert\",\"Audouin\",\"Audran\",\"Audric\",\"Auguste\",\"Augustin\",\"Aurèle\",\"Aurélien\",\"Aurian\",\"Auxence\",\"Axel\",\"Aymard\",\"Aymeric\",\"Aymon\",\"Aymond\",\"Balthazar\",\"Baptiste\",\"Barnabé\",\"Barthélemy\",\"Bartimée\",\"Basile\",\"Bastien\",\"Baudouin\",\"Bénigne\",\"Benjamin\",\"Benoît\",\"Bérenger\",\"Bérard\",\"Bernard\",\"Bertrand\",\"Blaise\",\"Bon\",\"Boniface\",\"Bouchard\",\"Brice\",\"Brieuc\",\"Bruno\",\"Brunon\",\"Calixte\",\"Calliste\",\"Camélien\",\"Camille\",\"Camillien\",\"Candide\",\"Caribert\",\"Carloman\",\"Cassandre\",\"Cassien\",\"Cédric\",\"Céleste\",\"Célestin\",\"Célien\",\"Césaire\",\"César\",\"Charles\",\"Charlemagne\",\"Childebert\",\"Chilpéric\",\"Chrétien\",\"Christian\",\"Christodule\",\"Christophe\",\"Chrysostome\",\"Clarence\",\"Claude\",\"Claudien\",\"Cléandre\",\"Clément\",\"Clotaire\",\"Côme\",\"Constance\",\"Constant\",\"Constantin\",\"Corentin\",\"Cyprien\",\"Cyriaque\",\"Cyrille\",\"Cyril\",\"Damien\",\"Daniel\",\"David\",\"Delphin\",\"Denis\",\"Désiré\",\"Didier\",\"Dieudonné\",\"Dimitri\",\"Dominique\",\"Dorian\",\"Dorothée\",\"Edgard\",\"Edmond\",\"Édouard\",\"Éleuthère\",\"Élie\",\"Élisée\",\"Émeric\",\"Émile\",\"Émilien\",\"Emmanuel\",\"Enguerrand\",\"Épiphane\",\"Éric\",\"Esprit\",\"Ernest\",\"Étienne\",\"Eubert\",\"Eudes\",\"Eudoxe\",\"Eugène\",\"Eusèbe\",\"Eustache\",\"Évariste\",\"Évrard\",\"Fabien\",\"Fabrice\",\"Falba\",\"Félicité\",\"Félix\",\"Ferdinand\",\"Fiacre\",\"Fidèle\",\"Firmin\",\"Flavien\",\"Flodoard\",\"Florent\",\"Florentin\",\"Florestan\",\"Florian\",\"Fortuné\",\"Foulques\",\"Francisque\",\"François\",\"Français\",\"Franciscus\",\"Francs\",\"Frédéric\",\"Fulbert\",\"Fulcran\",\"Fulgence\",\"Gabin\",\"Gabriel\",\"Gaël\",\"Garnier\",\"Gaston\",\"Gaspard\",\"Gatien\",\"Gaud\",\"Gautier\",\"Gédéon\",\"Geoffroy\",\"Georges\",\"Géraud\",\"Gérard\",\"Gerbert\",\"Germain\",\"Gervais\",\"Ghislain\",\"Gilbert\",\"Gilles\",\"Girart\",\"Gislebert\",\"Gondebaud\",\"Gonthier\",\"Gontran\",\"Gonzague\",\"Grégoire\",\"Guérin\",\"Gui\",\"Guillaume\",\"Gustave\",\"Guy\",\"Guyot\",\"Hardouin\",\"Hector\",\"Hédelin\",\"Hélier\",\"Henri\",\"Herbert\",\"Herluin\",\"Hervé\",\"Hilaire\",\"Hildebert\",\"Hincmar\",\"Hippolyte\",\"Honoré\",\"Hubert\",\"Hugues\",\"Innocent\",\"Isabeau\",\"Isidore\",\"Jacques\",\"Japhet\",\"Jason\",\"Jean\",\"Jeannel\",\"Jeannot\",\"Jérémie\",\"Jérôme\",\"Joachim\",\"Joanny\",\"Job\",\"Jocelyn\",\"Joël\",\"Johan\",\"Jonas\",\"Jonathan\",\"Joseph\",\"Josse\",\"Josselin\",\"Jourdain\",\"Jude\",\"Judicaël\",\"Jules\",\"Julien\",\"Juste\",\"Justin\",\"Lambert\",\"Landry\",\"Laurent\",\"Lazare\",\"Léandre\",\"Léon\",\"Léonard\",\"Léopold\",\"Leu\",\"Loup\",\"Leufroy\",\"Libère\",\"Liétald\",\"Lionel\",\"Loïc\",\"Longin\",\"Lorrain\",\"Lorraine\",\"Lothaire\",\"Louis\",\"Loup\",\"Luc\",\"Lucas\",\"Lucien\",\"Ludolphe\",\"Ludovic\",\"Macaire\",\"Malo\",\"Mamert\",\"Manassé\",\"Marc\",\"Marceau\",\"Marcel\",\"Marcelin\",\"Marius\",\"Marseille\",\"Martial\",\"Martin\",\"Mathurin\",\"Matthias\",\"Mathias\",\"Matthieu\",\"Maugis\",\"Maurice\",\"Mauricet\",\"Maxence\",\"Maxime\",\"Maximilien\",\"Mayeul\",\"Médéric\",\"Melchior\",\"Mence\",\"Merlin\",\"Mérovée\",\"Michaël\",\"Michel\",\"Moïse\",\"Morgan\",\"Nathan\",\"Nathanaël\",\"Narcisse\",\"Néhémie\",\"Nestor\",\"Nestor\",\"Nicéphore\",\"Nicolas\",\"Noé\",\"Noël\",\"Norbert\",\"Normand\",\"Normands\",\"Octave\",\"Odilon\",\"Odon\",\"Oger\",\"Olivier\",\"Oury\",\"Pacôme\",\"Palémon\",\"Parfait\",\"Pascal\",\"Paterne\",\"Patrice\",\"Paul\",\"Pépin\",\"Perceval\",\"Philémon\",\"Philibert\",\"Philippe\",\"Philothée\",\"Pie\",\"Pierre\",\"Pierrick\",\"Prosper\",\"Quentin\",\"Raoul\",\"Raphaël\",\"Raymond\",\"Régis\",\"Réjean\",\"Rémi\",\"Renaud\",\"René\",\"Reybaud\",\"Richard\",\"Robert\",\"Roch\",\"Rodolphe\",\"Rodrigue\",\"Roger\",\"Roland\",\"Romain\",\"Romuald\",\"Roméo\",\"Rome\",\"Ronan\",\"Roselin\",\"Salomon\",\"Samuel\",\"Savin\",\"Savinien\",\"Scholastique\",\"Sébastien\",\"Séraphin\",\"Serge\",\"Séverin\",\"Sidoine\",\"Sigebert\",\"Sigismond\",\"Silvère\",\"Simon\",\"Siméon\",\"Sixte\",\"Stanislas\",\"Stéphane\",\"Stephan\",\"Sylvain\",\"Sylvestre\",\"Tancrède\",\"Tanguy\",\"Taurin\",\"Théodore\",\"Théodose\",\"Théophile\",\"Théophraste\",\"Thibault\",\"Thibert\",\"Thierry\",\"Thomas\",\"Timoléon\",\"Timothée\",\"Titien\",\"Tonnin\",\"Toussaint\",\"Trajan\",\"Tristan\",\"Turold\",\"Tim\",\"Ulysse\",\"Urbain\",\"Valentin\",\"Valère\",\"Valéry\",\"Venance\",\"Venant\",\"Venceslas\",\"Vianney\",\"Victor\",\"Victorien\",\"Victorin\",\"Vigile\",\"Vincent\",\"Vital\",\"Vitalien\",\"Vivien\",\"Waleran\",\"Wandrille\",\"Xavier\",\"Xénophon\",\"Yves\",\"Zacharie\",\"Zaché\",\"Zéphirin\"]\n },\n\n \"female\": {\n \"en\": [\"Mary\", \"Emma\", \"Elizabeth\", \"Minnie\", \"Margaret\", \"Ida\", \"Alice\", \"Bertha\", \"Sarah\", \"Annie\", \"Clara\", \"Ella\", \"Florence\", \"Cora\", \"Martha\", \"Laura\", \"Nellie\", \"Grace\", \"Carrie\", \"Maude\", \"Mabel\", \"Bessie\", \"Jennie\", \"Gertrude\", \"Julia\", \"Hattie\", \"Edith\", \"Mattie\", \"Rose\", \"Catherine\", \"Lillian\", \"Ada\", \"Lillie\", \"Helen\", \"Jessie\", \"Louise\", \"Ethel\", \"Lula\", \"Myrtle\", \"Eva\", \"Frances\", \"Lena\", \"Lucy\", \"Edna\", \"Maggie\", \"Pearl\", \"Daisy\", \"Fannie\", \"Josephine\", \"Dora\", \"Rosa\", \"Katherine\", \"Agnes\", \"Marie\", \"Nora\", \"May\", \"Mamie\", \"Blanche\", \"Stella\", \"Ellen\", \"Nancy\", \"Effie\", \"Sallie\", \"Nettie\", \"Della\", \"Lizzie\", \"Flora\", \"Susie\", \"Maud\", \"Mae\", \"Etta\", \"Harriet\", \"Sadie\", \"Caroline\", \"Katie\", \"Lydia\", \"Elsie\", \"Kate\", \"Susan\", \"Mollie\", \"Alma\", \"Addie\", \"Georgia\", \"Eliza\", \"Lulu\", \"Nannie\", \"Lottie\", \"Amanda\", \"Belle\", \"Charlotte\", \"Rebecca\", \"Ruth\", \"Viola\", \"Olive\", \"Amelia\", \"Hannah\", \"Jane\", \"Virginia\", \"Emily\", \"Matilda\", \"Irene\", \"Kathryn\", \"Esther\", \"Willie\", \"Henrietta\", \"Ollie\", \"Amy\", \"Rachel\", \"Sara\", \"Estella\", \"Theresa\", \"Augusta\", \"Ora\", \"Pauline\", \"Josie\", \"Lola\", \"Sophia\", \"Leona\", \"Anne\", \"Mildred\", \"Ann\", \"Beulah\", \"Callie\", \"Lou\", \"Delia\", \"Eleanor\", \"Barbara\", \"Iva\", \"Louisa\", \"Maria\", \"Mayme\", \"Evelyn\", \"Estelle\", \"Nina\", \"Betty\", \"Marion\", \"Bettie\", \"Dorothy\", \"Luella\", \"Inez\", \"Lela\", \"Rosie\", \"Allie\", \"Millie\", \"Janie\", \"Cornelia\", \"Victoria\", \"Ruby\", \"Winifred\", \"Alta\", \"Celia\", \"Christine\", \"Beatrice\", \"Birdie\", \"Harriett\", \"Mable\", \"Myra\", \"Sophie\", \"Tillie\", \"Isabel\", \"Sylvia\", \"Carolyn\", \"Isabelle\", \"Leila\", \"Sally\", \"Ina\", \"Essie\", \"Bertie\", \"Nell\", \"Alberta\", \"Katharine\", \"Lora\", \"Rena\", \"Mina\", \"Rhoda\", \"Mathilda\", \"Abbie\", \"Eula\", \"Dollie\", \"Hettie\", \"Eunice\", \"Fanny\", \"Ola\", \"Lenora\", \"Adelaide\", \"Christina\", \"Lelia\", \"Nelle\", \"Sue\", \"Johanna\", \"Lilly\", \"Lucinda\", \"Minerva\", \"Lettie\", \"Roxie\", \"Cynthia\", \"Helena\", \"Hilda\", \"Hulda\", \"Bernice\", \"Genevieve\", \"Jean\", \"Cordelia\", \"Marian\", \"Francis\", \"Jeanette\", \"Adeline\", \"Gussie\", \"Leah\", \"Lois\", \"Lura\", \"Mittie\", \"Hallie\", \"Isabella\", \"Olga\", \"Phoebe\", \"Teresa\", \"Hester\", \"Lida\", \"Lina\", \"Winnie\", \"Claudia\", \"Marguerite\", \"Vera\", \"Cecelia\", \"Bess\", \"Emilie\", \"Rosetta\", \"Verna\", \"Myrtie\", \"Cecilia\", \"Elva\", \"Olivia\", \"Ophelia\", \"Georgie\", \"Elnora\", \"Violet\", \"Adele\", \"Lily\", \"Linnie\", \"Loretta\", \"Madge\", \"Polly\", \"Virgie\", \"Eugenia\", \"Lucile\", \"Lucille\", \"Mabelle\", \"Rosalie\"],\n // Data taken from http://www.dati.gov.it/dataset/comune-di-firenze_0162\n \"it\": [\"Ada\", \"Adriana\", \"Alessandra\", \"Alessia\", \"Alice\", \"Angela\", \"Anna\", \"Anna Maria\", \"Annalisa\", \"Annita\", \"Annunziata\", \"Antonella\", \"Arianna\", \"Asia\", \"Assunta\", \"Aurora\", \"Barbara\", \"Beatrice\", \"Benedetta\", \"Bianca\", \"Bruna\", \"Camilla\", \"Carla\", \"Carlotta\", \"Carmela\", \"Carolina\", \"Caterina\", \"Catia\", \"Cecilia\", \"Chiara\", \"Cinzia\", \"Clara\", \"Claudia\", \"Costanza\", \"Cristina\", \"Daniela\", \"Debora\", \"Diletta\", \"Dina\", \"Donatella\", \"Elena\", \"Eleonora\", \"Elisa\", \"Elisabetta\", \"Emanuela\", \"Emma\", \"Eva\", \"Federica\", \"Fernanda\", \"Fiorella\", \"Fiorenza\", \"Flora\", \"Franca\", \"Francesca\", \"Gabriella\", \"Gaia\", \"Gemma\", \"Giada\", \"Gianna\", \"Gina\", \"Ginevra\", \"Giorgia\", \"Giovanna\", \"Giulia\", \"Giuliana\", \"Giuseppa\", \"Giuseppina\", \"Grazia\", \"Graziella\", \"Greta\", \"Ida\", \"Ilaria\", \"Ines\", \"Iolanda\", \"Irene\", \"Irma\", \"Isabella\", \"Jessica\", \"Laura\", \"Lea\", \"Letizia\", \"Licia\", \"Lidia\", \"Liliana\", \"Lina\", \"Linda\", \"Lisa\", \"Livia\", \"Loretta\", \"Luana\", \"Lucia\", \"Luciana\", \"Lucrezia\", \"Luisa\", \"Manuela\", \"Mara\", \"Marcella\", \"Margherita\", \"Maria\", \"Maria Cristina\", \"Maria Grazia\", \"Maria Luisa\", \"Maria Pia\", \"Maria Teresa\", \"Marina\", \"Marisa\", \"Marta\", \"Martina\", \"Marzia\", \"Matilde\", \"Melissa\", \"Michela\", \"Milena\", \"Mirella\", \"Monica\", \"Natalina\", \"Nella\", \"Nicoletta\", \"Noemi\", \"Olga\", \"Paola\", \"Patrizia\", \"Piera\", \"Pierina\", \"Raffaella\", \"Rebecca\", \"Renata\", \"Rina\", \"Rita\", \"Roberta\", \"Rosa\", \"Rosanna\", \"Rossana\", \"Rossella\", \"Sabrina\", \"Sandra\", \"Sara\", \"Serena\", \"Silvana\", \"Silvia\", \"Simona\", \"Simonetta\", \"Sofia\", \"Sonia\", \"Stefania\", \"Susanna\", \"Teresa\", \"Tina\", \"Tiziana\", \"Tosca\", \"Valentina\", \"Valeria\", \"Vanda\", \"Vanessa\", \"Vanna\", \"Vera\", \"Veronica\", \"Vilma\", \"Viola\", \"Virginia\", \"Vittoria\"],\n // Data taken from http://www.svbkindernamen.nl/int/nl/kindernamen/index.html\n \"nl\": [\"Ada\", \"Arianne\", \"Afke\", \"Amanda\", \"Amber\", \"Amy\", \"Aniek\", \"Anita\", \"Anja\", \"Anna\", \"Anne\", \"Annelies\", \"Annemarie\", \"Annette\", \"Anouk\", \"Astrid\", \"Aukje\", \"Barbara\", \"Bianca\", \"Carla\", \"Carlijn\", \"Carolien\", \"Chantal\", \"Charlotte\", \"Claudia\", \"Daniëlle\", \"Debora\", \"Diane\", \"Dora\", \"Eline\", \"Elise\", \"Ella\", \"Ellen\", \"Emma\", \"Esmee\", \"Evelien\", \"Esther\", \"Erica\", \"Eva\", \"Femke\", \"Fleur\", \"Floor\", \"Froukje\", \"Gea\", \"Gerda\", \"Hanna\", \"Hanneke\", \"Heleen\", \"Hilde\", \"Ilona\", \"Ina\", \"Inge\", \"Ingrid\", \"Iris\", \"Isabel\", \"Isabelle\", \"Janneke\", \"Jasmijn\", \"Jeanine\", \"Jennifer\", \"Jessica\", \"Johanna\", \"Joke\", \"Julia\", \"Julie\", \"Karen\", \"Karin\", \"Katja\", \"Kim\", \"Lara\", \"Laura\", \"Lena\", \"Lianne\", \"Lieke\", \"Lilian\", \"Linda\", \"Lisa\", \"Lisanne\", \"Lotte\", \"Louise\", \"Maaike\", \"Manon\", \"Marga\", \"Maria\", \"Marissa\", \"Marit\", \"Marjolein\", \"Martine\", \"Marleen\", \"Melissa\", \"Merel\", \"Miranda\", \"Michelle\", \"Mirjam\", \"Mirthe\", \"Naomi\", \"Natalie\", 'Nienke', \"Nina\", \"Noortje\", \"Olivia\", \"Patricia\", \"Paula\", \"Paulien\", \"Ramona\", \"Ria\", \"Rianne\", \"Roos\", \"Rosanne\", \"Ruth\", \"Sabrina\", \"Sandra\", \"Sanne\", \"Sara\", \"Saskia\", \"Silvia\", \"Sofia\", \"Sophie\", \"Sonja\", \"Suzanne\", \"Tamara\", \"Tess\", \"Tessa\", \"Tineke\", \"Valerie\", \"Vanessa\", \"Veerle\", \"Vera\", \"Victoria\", \"Wendy\", \"Willeke\", \"Yvonne\", \"Zoë\"],\n // Data taken from https://fr.wikipedia.org/wiki/Liste_de_pr%C3%A9noms_fran%C3%A7ais_et_de_la_francophonie\n \"fr\": [\"Abdon\",\"Abel\",\"Abigaëlle\",\"Abigaïl\",\"Acacius\",\"Acanthe\",\"Adalbert\",\"Adalsinde\",\"Adegrine\",\"Adélaïde\",\"Adèle\",\"Adélie\",\"Adeline\",\"Adeltrude\",\"Adolphe\",\"Adonis\",\"Adrastée\",\"Adrehilde\",\"Adrienne\",\"Agathe\",\"Agilbert\",\"Aglaé\",\"Aignan\",\"Agneflète\",\"Agnès\",\"Agrippine\",\"Aimé\",\"Alaine\",\"Alaïs\",\"Albane\",\"Albérade\",\"Alberte\",\"Alcide\",\"Alcine\",\"Alcyone\",\"Aldegonde\",\"Aleth\",\"Alexandrine\",\"Alexine\",\"Alice\",\"Aliénor\",\"Aliette\",\"Aline\",\"Alix\",\"Alizé\",\"Aloïse\",\"Aloyse\",\"Alphonsine\",\"Althée\",\"Amaliane\",\"Amalthée\",\"Amande\",\"Amandine\",\"Amant\",\"Amarande\",\"Amaranthe\",\"Amaryllis\",\"Ambre\",\"Ambroisie\",\"Amélie\",\"Améthyste\",\"Aminte\",\"Anaël\",\"Anaïs\",\"Anastasie\",\"Anatole\",\"Ancelin\",\"Andrée\",\"Anémone\",\"Angadrême\",\"Angèle\",\"Angeline\",\"Angélique\",\"Angilbert\",\"Anicet\",\"Annabelle\",\"Anne\",\"Annette\",\"Annick\",\"Annie\",\"Annonciade\",\"Ansbert\",\"Anstrudie\",\"Anthelme\",\"Antigone\",\"Antoinette\",\"Antonine\",\"Aphélie\",\"Apolline\",\"Apollonie\",\"Aquiline\",\"Arabelle\",\"Arcadie\",\"Archange\",\"Argine\",\"Ariane\",\"Aricie\",\"Ariel\",\"Arielle\",\"Arlette\",\"Armance\",\"Armande\",\"Armandine\",\"Armelle\",\"Armide\",\"Armelle\",\"Armin\",\"Arnaud\",\"Arsène\",\"Arsinoé\",\"Artémis\",\"Arthur\",\"Ascelin\",\"Ascension\",\"Assomption\",\"Astarté\",\"Astérie\",\"Astrée\",\"Astrid\",\"Athalie\",\"Athanasie\",\"Athina\",\"Aube\",\"Albert\",\"Aude\",\"Audrey\",\"Augustine\",\"Aure\",\"Aurélie\",\"Aurélien\",\"Aurèle\",\"Aurore\",\"Auxence\",\"Aveline\",\"Abigaëlle\",\"Avoye\",\"Axelle\",\"Aymard\",\"Azalée\",\"Adèle\",\"Adeline\",\"Barbe\",\"Basilisse\",\"Bathilde\",\"Béatrice\",\"Béatrix\",\"Bénédicte\",\"Bérengère\",\"Bernadette\",\"Berthe\",\"Bertille\",\"Beuve\",\"Blanche\",\"Blanc\",\"Blandine\",\"Brigitte\",\"Brune\",\"Brunehilde\",\"Callista\",\"Camille\",\"Capucine\",\"Carine\",\"Caroline\",\"Cassandre\",\"Catherine\",\"Cécile\",\"Céleste\",\"Célestine\",\"Céline\",\"Chantal\",\"Charlène\",\"Charline\",\"Charlotte\",\"Chloé\",\"Christelle\",\"Christiane\",\"Christine\",\"Claire\",\"Clara\",\"Claude\",\"Claudine\",\"Clarisse\",\"Clémence\",\"Clémentine\",\"Cléo\",\"Clio\",\"Clotilde\",\"Coline\",\"Conception\",\"Constance\",\"Coralie\",\"Coraline\",\"Corentine\",\"Corinne\",\"Cyrielle\",\"Daniel\",\"Daniel\",\"Daphné\",\"Débora\",\"Delphine\",\"Denise\",\"Diane\",\"Dieudonné\",\"Dominique\",\"Doriane\",\"Dorothée\",\"Douce\",\"Édith\",\"Edmée\",\"Éléonore\",\"Éliane\",\"Élia\",\"Éliette\",\"Élisabeth\",\"Élise\",\"Ella\",\"Élodie\",\"Éloïse\",\"Elsa\",\"Émeline\",\"Émérance\",\"Émérentienne\",\"Émérencie\",\"Émilie\",\"Emma\",\"Emmanuelle\",\"Emmelie\",\"Ernestine\",\"Esther\",\"Estelle\",\"Eudoxie\",\"Eugénie\",\"Eulalie\",\"Euphrasie\",\"Eusébie\",\"Évangéline\",\"Eva\",\"Ève\",\"Évelyne\",\"Fanny\",\"Fantine\",\"Faustine\",\"Félicie\",\"Fernande\",\"Flavie\",\"Fleur\",\"Flore\",\"Florence\",\"Florie\",\"Fortuné\",\"France\",\"Francia\",\"Françoise\",\"Francine\",\"Gabrielle\",\"Gaëlle\",\"Garance\",\"Geneviève\",\"Georgette\",\"Gerberge\",\"Germaine\",\"Gertrude\",\"Gisèle\",\"Guenièvre\",\"Guilhemine\",\"Guillemette\",\"Gustave\",\"Gwenael\",\"Hélène\",\"Héloïse\",\"Henriette\",\"Hermine\",\"Hermione\",\"Hippolyte\",\"Honorine\",\"Hortense\",\"Huguette\",\"Ines\",\"Irène\",\"Irina\",\"Iris\",\"Isabeau\",\"Isabelle\",\"Iseult\",\"Isolde\",\"Ismérie\",\"Jacinthe\",\"Jacqueline\",\"Jade\",\"Janine\",\"Jeanne\",\"Jocelyne\",\"Joëlle\",\"Joséphine\",\"Judith\",\"Julia\",\"Julie\",\"Jules\",\"Juliette\",\"Justine\",\"Katy\",\"Kathy\",\"Katie\",\"Laura\",\"Laure\",\"Laureline\",\"Laurence\",\"Laurene\",\"Lauriane\",\"Laurianne\",\"Laurine\",\"Léa\",\"Léna\",\"Léonie\",\"Léon\",\"Léontine\",\"Lorraine\",\"Lucie\",\"Lucienne\",\"Lucille\",\"Ludivine\",\"Lydie\",\"Lydie\",\"Megane\",\"Madeleine\",\"Magali\",\"Maguelone\",\"Mallaury\",\"Manon\",\"Marceline\",\"Margot\",\"Marguerite\",\"Marianne\",\"Marie\",\"Myriam\",\"Marie\",\"Marine\",\"Marion\",\"Marlène\",\"Marthe\",\"Martine\",\"Mathilde\",\"Maud\",\"Maureen\",\"Mauricette\",\"Maxime\",\"Mélanie\",\"Melissa\",\"Mélissandre\",\"Mélisande\",\"Mélodie\",\"Michel\",\"Micheline\",\"Mireille\",\"Miriam\",\"Moïse\",\"Monique\",\"Morgane\",\"Muriel\",\"Mylène\",\"Nadège\",\"Nadine\",\"Nathalie\",\"Nicole\",\"Nicolette\",\"Nine\",\"Noël\",\"Noémie\",\"Océane\",\"Odette\",\"Odile\",\"Olive\",\"Olivia\",\"Olympe\",\"Ombline\",\"Ombeline\",\"Ophélie\",\"Oriande\",\"Oriane\",\"Ozanne\",\"Pascale\",\"Pascaline\",\"Paule\",\"Paulette\",\"Pauline\",\"Priscille\",\"Prisca\",\"Prisque\",\"Pécine\",\"Pélagie\",\"Pénélope\",\"Perrine\",\"Pétronille\",\"Philippine\",\"Philomène\",\"Philothée\",\"Primerose\",\"Prudence\",\"Pulchérie\",\"Quentine\",\"Quiéta\",\"Quintia\",\"Quintilla\",\"Rachel\",\"Raphaëlle\",\"Raymonde\",\"Rebecca\",\"Régine\",\"Réjeanne\",\"René\",\"Rita\",\"Rita\",\"Rolande\",\"Romane\",\"Rosalie\",\"Rose\",\"Roseline\",\"Sabine\",\"Salomé\",\"Sandra\",\"Sandrine\",\"Sarah\",\"Ségolène\",\"Séverine\",\"Sibylle\",\"Simone\",\"Sixt\",\"Solange\",\"Soline\",\"Solène\",\"Sophie\",\"Stéphanie\",\"Suzanne\",\"Sylvain\",\"Sylvie\",\"Tatiana\",\"Thaïs\",\"Théodora\",\"Thérèse\",\"Tiphaine\",\"Ursule\",\"Valentine\",\"Valérie\",\"Véronique\",\"Victoire\",\"Victorine\",\"Vinciane\",\"Violette\",\"Virginie\",\"Viviane\",\"Xavière\",\"Yolande\",\"Ysaline\",\"Yvette\",\"Yvonne\",\"Zélie\",\"Zita\",\"Zoé\"]\n }\n },\n\n lastNames: {\n \"en\": ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall', 'Allen', 'Young', 'Hernandez', 'King', 'Wright', 'Lopez', 'Hill', 'Scott', 'Green', 'Adams', 'Baker', 'Gonzalez', 'Nelson', 'Carter', 'Mitchell', 'Perez', 'Roberts', 'Turner', 'Phillips', 'Campbell', 'Parker', 'Evans', 'Edwards', 'Collins', 'Stewart', 'Sanchez', 'Morris', 'Rogers', 'Reed', 'Cook', 'Morgan', 'Bell', 'Murphy', 'Bailey', 'Rivera', 'Cooper', 'Richardson', 'Cox', 'Howard', 'Ward', 'Torres', 'Peterson', 'Gray', 'Ramirez', 'James', 'Watson', 'Brooks', 'Kelly', 'Sanders', 'Price', 'Bennett', 'Wood', 'Barnes', 'Ross', 'Henderson', 'Coleman', 'Jenkins', 'Perry', 'Powell', 'Long', 'Patterson', 'Hughes', 'Flores', 'Washington', 'Butler', 'Simmons', 'Foster', 'Gonzales', 'Bryant', 'Alexander', 'Russell', 'Griffin', 'Diaz', 'Hayes', 'Myers', 'Ford', 'Hamilton', 'Graham', 'Sullivan', 'Wallace', 'Woods', 'Cole', 'West', 'Jordan', 'Owens', 'Reynolds', 'Fisher', 'Ellis', 'Harrison', 'Gibson', 'McDonald', 'Cruz', 'Marshall', 'Ortiz', 'Gomez', 'Murray', 'Freeman', 'Wells', 'Webb', 'Simpson', 'Stevens', 'Tucker', 'Porter', 'Hunter', 'Hicks', 'Crawford', 'Henry', 'Boyd', 'Mason', 'Morales', 'Kennedy', 'Warren', 'Dixon', 'Ramos', 'Reyes', 'Burns', 'Gordon', 'Shaw', 'Holmes', 'Rice', 'Robertson', 'Hunt', 'Black', 'Daniels', 'Palmer', 'Mills', 'Nichols', 'Grant', 'Knight', 'Ferguson', 'Rose', 'Stone', 'Hawkins', 'Dunn', 'Perkins', 'Hudson', 'Spencer', 'Gardner', 'Stephens', 'Payne', 'Pierce', 'Berry', 'Matthews', 'Arnold', 'Wagner', 'Willis', 'Ray', 'Watkins', 'Olson', 'Carroll', 'Duncan', 'Snyder', 'Hart', 'Cunningham', 'Bradley', 'Lane', 'Andrews', 'Ruiz', 'Harper', 'Fox', 'Riley', 'Armstrong', 'Carpenter', 'Weaver', 'Greene', 'Lawrence', 'Elliott', 'Chavez', 'Sims', 'Austin', 'Peters', 'Kelley', 'Franklin', 'Lawson', 'Fields', 'Gutierrez', 'Ryan', 'Schmidt', 'Carr', 'Vasquez', 'Castillo', 'Wheeler', 'Chapman', 'Oliver', 'Montgomery', 'Richards', 'Williamson', 'Johnston', 'Banks', 'Meyer', 'Bishop', 'McCoy', 'Howell', 'Alvarez', 'Morrison', 'Hansen', 'Fernandez', 'Garza', 'Harvey', 'Little', 'Burton', 'Stanley', 'Nguyen', 'George', 'Jacobs', 'Reid', 'Kim', 'Fuller', 'Lynch', 'Dean', 'Gilbert', 'Garrett', 'Romero', 'Welch', 'Larson', 'Frazier', 'Burke', 'Hanson', 'Day', 'Mendoza', 'Moreno', 'Bowman', 'Medina', 'Fowler', 'Brewer', 'Hoffman', 'Carlson', 'Silva', 'Pearson', 'Holland', 'Douglas', 'Fleming', 'Jensen', 'Vargas', 'Byrd', 'Davidson', 'Hopkins', 'May', 'Terry', 'Herrera', 'Wade', 'Soto', 'Walters', 'Curtis', 'Neal', 'Caldwell', 'Lowe', 'Jennings', 'Barnett', 'Graves', 'Jimenez', 'Horton', 'Shelton', 'Barrett', 'Obrien', 'Castro', 'Sutton', 'Gregory', 'McKinney', 'Lucas', 'Miles', 'Craig', 'Rodriquez', 'Chambers', 'Holt', 'Lambert', 'Fletcher', 'Watts', 'Bates', 'Hale', 'Rhodes', 'Pena', 'Beck', 'Newman', 'Haynes', 'McDaniel', 'Mendez', 'Bush', 'Vaughn', 'Parks', 'Dawson', 'Santiago', 'Norris', 'Hardy', 'Love', 'Steele', 'Curry', 'Powers', 'Schultz', 'Barker', 'Guzman', 'Page', 'Munoz', 'Ball', 'Keller', 'Chandler', 'Weber', 'Leonard', 'Walsh', 'Lyons', 'Ramsey', 'Wolfe', 'Schneider', 'Mullins', 'Benson', 'Sharp', 'Bowen', 'Daniel', 'Barber', 'Cummings', 'Hines', 'Baldwin', 'Griffith', 'Valdez', 'Hubbard', 'Salazar', 'Reeves', 'Warner', 'Stevenson', 'Burgess', 'Santos', 'Tate', 'Cross', 'Garner', 'Mann', 'Mack', 'Moss', 'Thornton', 'Dennis', 'McGee', 'Farmer', 'Delgado', 'Aguilar', 'Vega', 'Glover', 'Manning', 'Cohen', 'Harmon', 'Rodgers', 'Robbins', 'Newton', 'Todd', 'Blair', 'Higgins', 'Ingram', 'Reese', 'Cannon', 'Strickland', 'Townsend', 'Potter', 'Goodwin', 'Walton', 'Rowe', 'Hampton', 'Ortega', 'Patton', 'Swanson', 'Joseph', 'Francis', 'Goodman', 'Maldonado', 'Yates', 'Becker', 'Erickson', 'Hodges', 'Rios', 'Conner', 'Adkins', 'Webster', 'Norman', 'Malone', 'Hammond', 'Flowers', 'Cobb', 'Moody', 'Quinn', 'Blake', 'Maxwell', 'Pope', 'Floyd', 'Osborne', 'Paul', 'McCarthy', 'Guerrero', 'Lindsey', 'Estrada', 'Sandoval', 'Gibbs', 'Tyler', 'Gross', 'Fitzgerald', 'Stokes', 'Doyle', 'Sherman', 'Saunders', 'Wise', 'Colon', 'Gill', 'Alvarado', 'Greer', 'Padilla', 'Simon', 'Waters', 'Nunez', 'Ballard', 'Schwartz', 'McBride', 'Houston', 'Christensen', 'Klein', 'Pratt', 'Briggs', 'Parsons', 'McLaughlin', 'Zimmerman', 'French', 'Buchanan', 'Moran', 'Copeland', 'Roy', 'Pittman', 'Brady', 'McCormick', 'Holloway', 'Brock', 'Poole', 'Frank', 'Logan', 'Owen', 'Bass', 'Marsh', 'Drake', 'Wong', 'Jefferson', 'Park', 'Morton', 'Abbott', 'Sparks', 'Patrick', 'Norton', 'Huff', 'Clayton', 'Massey', 'Lloyd', 'Figueroa', 'Carson', 'Bowers', 'Roberson', 'Barton', 'Tran', 'Lamb', 'Harrington', 'Casey', 'Boone', 'Cortez', 'Clarke', 'Mathis', 'Singleton', 'Wilkins', 'Cain', 'Bryan', 'Underwood', 'Hogan', 'McKenzie', 'Collier', 'Luna', 'Phelps', 'McGuire', 'Allison', 'Bridges', 'Wilkerson', 'Nash', 'Summers', 'Atkins'],\n // Data taken from http://www.dati.gov.it/dataset/comune-di-firenze_0164 (first 1000)\n \"it\": [\"Acciai\", \"Aglietti\", \"Agostini\", \"Agresti\", \"Ahmed\", \"Aiazzi\", \"Albanese\", \"Alberti\", \"Alessi\", \"Alfani\", \"Alinari\", \"Alterini\", \"Amato\", \"Ammannati\", \"Ancillotti\", \"Andrei\", \"Andreini\", \"Andreoni\", \"Angeli\", \"Anichini\", \"Antonelli\", \"Antonini\", \"Arena\", \"Ariani\", \"Arnetoli\", \"Arrighi\", \"Baccani\", \"Baccetti\", \"Bacci\", \"Bacherini\", \"Badii\", \"Baggiani\", \"Baglioni\", \"Bagni\", \"Bagnoli\", \"Baldassini\", \"Baldi\", \"Baldini\", \"Ballerini\", \"Balli\", \"Ballini\", \"Balloni\", \"Bambi\", \"Banchi\", \"Bandinelli\", \"Bandini\", \"Bani\", \"Barbetti\", \"Barbieri\", \"Barchielli\", \"Bardazzi\", \"Bardelli\", \"Bardi\", \"Barducci\", \"Bargellini\", \"Bargiacchi\", \"Barni\", \"Baroncelli\", \"Baroncini\", \"Barone\", \"Baroni\", \"Baronti\", \"Bartalesi\", \"Bartoletti\", \"Bartoli\", \"Bartolini\", \"Bartoloni\", \"Bartolozzi\", \"Basagni\", \"Basile\", \"Bassi\", \"Batacchi\", \"Battaglia\", \"Battaglini\", \"Bausi\", \"Becagli\", \"Becattini\", \"Becchi\", \"Becucci\", \"Bellandi\", \"Bellesi\", \"Belli\", \"Bellini\", \"Bellucci\", \"Bencini\", \"Benedetti\", \"Benelli\", \"Beni\", \"Benini\", \"Bensi\", \"Benucci\", \"Benvenuti\", \"Berlincioni\", \"Bernacchioni\", \"Bernardi\", \"Bernardini\", \"Berni\", \"Bernini\", \"Bertelli\", \"Berti\", \"Bertini\", \"Bessi\", \"Betti\", \"Bettini\", \"Biagi\", \"Biagini\", \"Biagioni\", \"Biagiotti\", \"Biancalani\", \"Bianchi\", \"Bianchini\", \"Bianco\", \"Biffoli\", \"Bigazzi\", \"Bigi\", \"Biliotti\", \"Billi\", \"Binazzi\", \"Bindi\", \"Bini\", \"Biondi\", \"Bizzarri\", \"Bocci\", \"Bogani\", \"Bolognesi\", \"Bonaiuti\", \"Bonanni\", \"Bonciani\", \"Boncinelli\", \"Bondi\", \"Bonechi\", \"Bongini\", \"Boni\", \"Bonini\", \"Borchi\", \"Boretti\", \"Borghi\", \"Borghini\", \"Borgioli\", \"Borri\", \"Borselli\", \"Boschi\", \"Bottai\", \"Bracci\", \"Braccini\", \"Brandi\", \"Braschi\", \"Bravi\", \"Brazzini\", \"Breschi\", \"Brilli\", \"Brizzi\", \"Brogelli\", \"Brogi\", \"Brogioni\", \"Brunelli\", \"Brunetti\", \"Bruni\", \"Bruno\", \"Brunori\", \"Bruschi\", \"Bucci\", \"Bucciarelli\", \"Buccioni\", \"Bucelli\", \"Bulli\", \"Burberi\", \"Burchi\", \"Burgassi\", \"Burroni\", \"Bussotti\", \"Buti\", \"Caciolli\", \"Caiani\", \"Calabrese\", \"Calamai\", \"Calamandrei\", \"Caldini\", \"Calo'\", \"Calonaci\", \"Calosi\", \"Calvelli\", \"Cambi\", \"Camiciottoli\", \"Cammelli\", \"Cammilli\", \"Campolmi\", \"Cantini\", \"Capanni\", \"Capecchi\", \"Caponi\", \"Cappelletti\", \"Cappelli\", \"Cappellini\", \"Cappugi\", \"Capretti\", \"Caputo\", \"Carbone\", \"Carboni\", \"Cardini\", \"Carlesi\", \"Carletti\", \"Carli\", \"Caroti\", \"Carotti\", \"Carrai\", \"Carraresi\", \"Carta\", \"Caruso\", \"Casalini\", \"Casati\", \"Caselli\", \"Casini\", \"Castagnoli\", \"Castellani\", \"Castelli\", \"Castellucci\", \"Catalano\", \"Catarzi\", \"Catelani\", \"Cavaciocchi\", \"Cavallaro\", \"Cavallini\", \"Cavicchi\", \"Cavini\", \"Ceccarelli\", \"Ceccatelli\", \"Ceccherelli\", \"Ceccherini\", \"Cecchi\", \"Cecchini\", \"Cecconi\", \"Cei\", \"Cellai\", \"Celli\", \"Cellini\", \"Cencetti\", \"Ceni\", \"Cenni\", \"Cerbai\", \"Cesari\", \"Ceseri\", \"Checcacci\", \"Checchi\", \"Checcucci\", \"Cheli\", \"Chellini\", \"Chen\", \"Cheng\", \"Cherici\", \"Cherubini\", \"Chiaramonti\", \"Chiarantini\", \"Chiarelli\", \"Chiari\", \"Chiarini\", \"Chiarugi\", \"Chiavacci\", \"Chiesi\", \"Chimenti\", \"Chini\", \"Chirici\", \"Chiti\", \"Ciabatti\", \"Ciampi\", \"Cianchi\", \"Cianfanelli\", \"Cianferoni\", \"Ciani\", \"Ciapetti\", \"Ciappi\", \"Ciardi\", \"Ciatti\", \"Cicali\", \"Ciccone\", \"Cinelli\", \"Cini\", \"Ciobanu\", \"Ciolli\", \"Cioni\", \"Cipriani\", \"Cirillo\", \"Cirri\", \"Ciucchi\", \"Ciuffi\", \"Ciulli\", \"Ciullini\", \"Clemente\", \"Cocchi\", \"Cognome\", \"Coli\", \"Collini\", \"Colombo\", \"Colzi\", \"Comparini\", \"Conforti\", \"Consigli\", \"Conte\", \"Conti\", \"Contini\", \"Coppini\", \"Coppola\", \"Corsi\", \"Corsini\", \"Corti\", \"Cortini\", \"Cosi\", \"Costa\", \"Costantini\", \"Costantino\", \"Cozzi\", \"Cresci\", \"Crescioli\", \"Cresti\", \"Crini\", \"Curradi\", \"D'Agostino\", \"D'Alessandro\", \"D'Amico\", \"D'Angelo\", \"Daddi\", \"Dainelli\", \"Dallai\", \"Danti\", \"Davitti\", \"De Angelis\", \"De Luca\", \"De Marco\", \"De Rosa\", \"De Santis\", \"De Simone\", \"De Vita\", \"Degl'Innocenti\", \"Degli Innocenti\", \"Dei\", \"Del Lungo\", \"Del Re\", \"Di Marco\", \"Di Stefano\", \"Dini\", \"Diop\", \"Dobre\", \"Dolfi\", \"Donati\", \"Dondoli\", \"Dong\", \"Donnini\", \"Ducci\", \"Dumitru\", \"Ermini\", \"Esposito\", \"Evangelisti\", \"Fabbri\", \"Fabbrini\", \"Fabbrizzi\", \"Fabbroni\", \"Fabbrucci\", \"Fabiani\", \"Facchini\", \"Faggi\", \"Fagioli\", \"Failli\", \"Faini\", \"Falciani\", \"Falcini\", \"Falcone\", \"Fallani\", \"Falorni\", \"Falsini\", \"Falugiani\", \"Fancelli\", \"Fanelli\", \"Fanetti\", \"Fanfani\", \"Fani\", \"Fantappie'\", \"Fantechi\", \"Fanti\", \"Fantini\", \"Fantoni\", \"Farina\", \"Fattori\", \"Favilli\", \"Fedi\", \"Fei\", \"Ferrante\", \"Ferrara\", \"Ferrari\", \"Ferraro\", \"Ferretti\", \"Ferri\", \"Ferrini\", \"Ferroni\", \"Fiaschi\", \"Fibbi\", \"Fiesoli\", \"Filippi\", \"Filippini\", \"Fini\", \"Fioravanti\", \"Fiore\", \"Fiorentini\", \"Fiorini\", \"Fissi\", \"Focardi\", \"Foggi\", \"Fontana\", \"Fontanelli\", \"Fontani\", \"Forconi\", \"Formigli\", \"Forte\", \"Forti\", \"Fortini\", \"Fossati\", \"Fossi\", \"Francalanci\", \"Franceschi\", \"Franceschini\", \"Franchi\", \"Franchini\", \"Franci\", \"Francini\", \"Francioni\", \"Franco\", \"Frassineti\", \"Frati\", \"Fratini\", \"Frilli\", \"Frizzi\", \"Frosali\", \"Frosini\", \"Frullini\", \"Fusco\", \"Fusi\", \"Gabbrielli\", \"Gabellini\", \"Gagliardi\", \"Galanti\", \"Galardi\", \"Galeotti\", \"Galletti\", \"Galli\", \"Gallo\", \"Gallori\", \"Gambacciani\", \"Gargani\", \"Garofalo\", \"Garuglieri\", \"Gashi\", \"Gasperini\", \"Gatti\", \"Gelli\", \"Gensini\", \"Gentile\", \"Gentili\", \"Geri\", \"Gerini\", \"Gheri\", \"Ghini\", \"Giachetti\", \"Giachi\", \"Giacomelli\", \"Gianassi\", \"Giani\", \"Giannelli\", \"Giannetti\", \"Gianni\", \"Giannini\", \"Giannoni\", \"Giannotti\", \"Giannozzi\", \"Gigli\", \"Giordano\", \"Giorgetti\", \"Giorgi\", \"Giovacchini\", \"Giovannelli\", \"Giovannetti\", \"Giovannini\", \"Giovannoni\", \"Giuliani\", \"Giunti\", \"Giuntini\", \"Giusti\", \"Gonnelli\", \"Goretti\", \"Gori\", \"Gradi\", \"Gramigni\", \"Grassi\", \"Grasso\", \"Graziani\", \"Grazzini\", \"Greco\", \"Grifoni\", \"Grillo\", \"Grimaldi\", \"Grossi\", \"Gualtieri\", \"Guarducci\", \"Guarino\", \"Guarnieri\", \"Guasti\", \"Guerra\", \"Guerri\", \"Guerrini\", \"Guidi\", \"Guidotti\", \"He\", \"Hoxha\", \"Hu\", \"Huang\", \"Iandelli\", \"Ignesti\", \"Innocenti\", \"Jin\", \"La Rosa\", \"Lai\", \"Landi\", \"Landini\", \"Lanini\", \"Lapi\", \"Lapini\", \"Lari\", \"Lascialfari\", \"Lastrucci\", \"Latini\", \"Lazzeri\", \"Lazzerini\", \"Lelli\", \"Lenzi\", \"Leonardi\", \"Leoncini\", \"Leone\", \"Leoni\", \"Lepri\", \"Li\", \"Liao\", \"Lin\", \"Linari\", \"Lippi\", \"Lisi\", \"Livi\", \"Lombardi\", \"Lombardini\", \"Lombardo\", \"Longo\", \"Lopez\", \"Lorenzi\", \"Lorenzini\", \"Lorini\", \"Lotti\", \"Lu\", \"Lucchesi\", \"Lucherini\", \"Lunghi\", \"Lupi\", \"Madiai\", \"Maestrini\", \"Maffei\", \"Maggi\", \"Maggini\", \"Magherini\", \"Magini\", \"Magnani\", \"Magnelli\", \"Magni\", \"Magnolfi\", \"Magrini\", \"Malavolti\", \"Malevolti\", \"Manca\", \"Mancini\", \"Manetti\", \"Manfredi\", \"Mangani\", \"Mannelli\", \"Manni\", \"Mannini\", \"Mannucci\", \"Manuelli\", \"Manzini\", \"Marcelli\", \"Marchese\", \"Marchetti\", \"Marchi\", \"Marchiani\", \"Marchionni\", \"Marconi\", \"Marcucci\", \"Margheri\", \"Mari\", \"Mariani\", \"Marilli\", \"Marinai\", \"Marinari\", \"Marinelli\", \"Marini\", \"Marino\", \"Mariotti\", \"Marsili\", \"Martelli\", \"Martinelli\", \"Martini\", \"Martino\", \"Marzi\", \"Masi\", \"Masini\", \"Masoni\", \"Massai\", \"Materassi\", \"Mattei\", \"Matteini\", \"Matteucci\", \"Matteuzzi\", \"Mattioli\", \"Mattolini\", \"Matucci\", \"Mauro\", \"Mazzanti\", \"Mazzei\", \"Mazzetti\", \"Mazzi\", \"Mazzini\", \"Mazzocchi\", \"Mazzoli\", \"Mazzoni\", \"Mazzuoli\", \"Meacci\", \"Mecocci\", \"Meini\", \"Melani\", \"Mele\", \"Meli\", \"Mengoni\", \"Menichetti\", \"Meoni\", \"Merlini\", \"Messeri\", \"Messina\", \"Meucci\", \"Miccinesi\", \"Miceli\", \"Micheli\", \"Michelini\", \"Michelozzi\", \"Migliori\", \"Migliorini\", \"Milani\", \"Miniati\", \"Misuri\", \"Monaco\", \"Montagnani\", \"Montagni\", \"Montanari\", \"Montelatici\", \"Monti\", \"Montigiani\", \"Montini\", \"Morandi\", \"Morandini\", \"Morelli\", \"Moretti\", \"Morganti\", \"Mori\", \"Morini\", \"Moroni\", \"Morozzi\", \"Mugnai\", \"Mugnaini\", \"Mustafa\", \"Naldi\", \"Naldini\", \"Nannelli\", \"Nanni\", \"Nannini\", \"Nannucci\", \"Nardi\", \"Nardini\", \"Nardoni\", \"Natali\", \"Ndiaye\", \"Nencetti\", \"Nencini\", \"Nencioni\", \"Neri\", \"Nesi\", \"Nesti\", \"Niccolai\", \"Niccoli\", \"Niccolini\", \"Nigi\", \"Nistri\", \"Nocentini\", \"Noferini\", \"Novelli\", \"Nucci\", \"Nuti\", \"Nutini\", \"Oliva\", \"Olivieri\", \"Olmi\", \"Orlandi\", \"Orlandini\", \"Orlando\", \"Orsini\", \"Ortolani\", \"Ottanelli\", \"Pacciani\", \"Pace\", \"Paci\", \"Pacini\", \"Pagani\", \"Pagano\", \"Paggetti\", \"Pagliai\", \"Pagni\", \"Pagnini\", \"Paladini\", \"Palagi\", \"Palchetti\", \"Palloni\", \"Palmieri\", \"Palumbo\", \"Pampaloni\", \"Pancani\", \"Pandolfi\", \"Pandolfini\", \"Panerai\", \"Panichi\", \"Paoletti\", \"Paoli\", \"Paolini\", \"Papi\", \"Papini\", \"Papucci\", \"Parenti\", \"Parigi\", \"Parisi\", \"Parri\", \"Parrini\", \"Pasquini\", \"Passeri\", \"Pecchioli\", \"Pecorini\", \"Pellegrini\", \"Pepi\", \"Perini\", \"Perrone\", \"Peruzzi\", \"Pesci\", \"Pestelli\", \"Petri\", \"Petrini\", \"Petrucci\", \"Pettini\", \"Pezzati\", \"Pezzatini\", \"Piani\", \"Piazza\", \"Piazzesi\", \"Piazzini\", \"Piccardi\", \"Picchi\", \"Piccini\", \"Piccioli\", \"Pieraccini\", \"Pieraccioni\", \"Pieralli\", \"Pierattini\", \"Pieri\", \"Pierini\", \"Pieroni\", \"Pietrini\", \"Pini\", \"Pinna\", \"Pinto\", \"Pinzani\", \"Pinzauti\", \"Piras\", \"Pisani\", \"Pistolesi\", \"Poggesi\", \"Poggi\", \"Poggiali\", \"Poggiolini\", \"Poli\", \"Pollastri\", \"Porciani\", \"Pozzi\", \"Pratellesi\", \"Pratesi\", \"Prosperi\", \"Pruneti\", \"Pucci\", \"Puccini\", \"Puccioni\", \"Pugi\", \"Pugliese\", \"Puliti\", \"Querci\", \"Quercioli\", \"Raddi\", \"Radu\", \"Raffaelli\", \"Ragazzini\", \"Ranfagni\", \"Ranieri\", \"Rastrelli\", \"Raugei\", \"Raveggi\", \"Renai\", \"Renzi\", \"Rettori\", \"Ricci\", \"Ricciardi\", \"Ridi\", \"Ridolfi\", \"Rigacci\", \"Righi\", \"Righini\", \"Rinaldi\", \"Risaliti\", \"Ristori\", \"Rizzo\", \"Rocchi\", \"Rocchini\", \"Rogai\", \"Romagnoli\", \"Romanelli\", \"Romani\", \"Romano\", \"Romei\", \"Romeo\", \"Romiti\", \"Romoli\", \"Romolini\", \"Rontini\", \"Rosati\", \"Roselli\", \"Rosi\", \"Rossetti\", \"Rossi\", \"Rossini\", \"Rovai\", \"Ruggeri\", \"Ruggiero\", \"Russo\", \"Sabatini\", \"Saccardi\", \"Sacchetti\", \"Sacchi\", \"Sacco\", \"Salerno\", \"Salimbeni\", \"Salucci\", \"Salvadori\", \"Salvestrini\", \"Salvi\", \"Salvini\", \"Sanesi\", \"Sani\", \"Sanna\", \"Santi\", \"Santini\", \"Santoni\", \"Santoro\", \"Santucci\", \"Sardi\", \"Sarri\", \"Sarti\", \"Sassi\", \"Sbolci\", \"Scali\", \"Scarpelli\", \"Scarselli\", \"Scopetani\", \"Secci\", \"Selvi\", \"Senatori\", \"Senesi\", \"Serafini\", \"Sereni\", \"Serra\", \"Sestini\", \"Sguanci\", \"Sieni\", \"Signorini\", \"Silvestri\", \"Simoncini\", \"Simonetti\", \"Simoni\", \"Singh\", \"Sodi\", \"Soldi\", \"Somigli\", \"Sorbi\", \"Sorelli\", \"Sorrentino\", \"Sottili\", \"Spina\", \"Spinelli\", \"Staccioli\", \"Staderini\", \"Stefanelli\", \"Stefani\", \"Stefanini\", \"Stella\", \"Susini\", \"Tacchi\", \"Tacconi\", \"Taddei\", \"Tagliaferri\", \"Tamburini\", \"Tanganelli\", \"Tani\", \"Tanini\", \"Tapinassi\", \"Tarchi\", \"Tarchiani\", \"Targioni\", \"Tassi\", \"Tassini\", \"Tempesti\", \"Terzani\", \"Tesi\", \"Testa\", \"Testi\", \"Tilli\", \"Tinti\", \"Tirinnanzi\", \"Toccafondi\", \"Tofanari\", \"Tofani\", \"Tognaccini\", \"Tonelli\", \"Tonini\", \"Torelli\", \"Torrini\", \"Tosi\", \"Toti\", \"Tozzi\", \"Trambusti\", \"Trapani\", \"Tucci\", \"Turchi\", \"Ugolini\", \"Ulivi\", \"Valente\", \"Valenti\", \"Valentini\", \"Vangelisti\", \"Vanni\", \"Vannini\", \"Vannoni\", \"Vannozzi\", \"Vannucchi\", \"Vannucci\", \"Ventura\", \"Venturi\", \"Venturini\", \"Vestri\", \"Vettori\", \"Vichi\", \"Viciani\", \"Vieri\", \"Vigiani\", \"Vignoli\", \"Vignolini\", \"Vignozzi\", \"Villani\", \"Vinci\", \"Visani\", \"Vitale\", \"Vitali\", \"Viti\", \"Viviani\", \"Vivoli\", \"Volpe\", \"Volpi\", \"Wang\", \"Wu\", \"Xu\", \"Yang\", \"Ye\", \"Zagli\", \"Zani\", \"Zanieri\", \"Zanobini\", \"Zecchi\", \"Zetti\", \"Zhang\", \"Zheng\", \"Zhou\", \"Zhu\", \"Zingoni\", \"Zini\", \"Zoppi\"],\n // http://www.voornamelijk.nl/meest-voorkomende-achternamen-in-nederland-en-amsterdam/\n \"nl\":[\"Albers\", \"Alblas\", \"Appelman\", \"Baars\", \"Baas\", \"Bakker\", \"Blank\", \"Bleeker\", \"Blok\", \"Blom\", \"Boer\", \"Boers\", \"Boldewijn\", \"Boon\", \"Boot\", \"Bos\", \"Bosch\", \"Bosma\", \"Bosman\", \"Bouma\", \"Bouman\", \"Bouwman\", \"Brands\", \"Brouwer\", \"Burger\", \"Buijs\", \"Buitenhuis\", \"Ceder\", \"Cohen\", \"Dekker\", \"Dekkers\", \"Dijkman\", \"Dijkstra\", \"Driessen\", \"Drost\", \"Engel\", \"Evers\", \"Faber\", \"Franke\", \"Gerritsen\", \"Goedhart\", \"Goossens\", \"Groen\", \"Groenenberg\", \"Groot\", \"Haan\", \"Hart\", \"Heemskerk\", \"Hendriks\", \"Hermans\", \"Hoekstra\", \"Hofman\", \"Hopman\", \"Huisman\", \"Jacobs\", \"Jansen\", \"Janssen\", \"Jonker\", \"Jaspers\", \"Keijzer\", \"Klaassen\", \"Klein\", \"Koek\", \"Koenders\", \"Kok\", \"Kool\", \"Koopman\", \"Koopmans\", \"Koning\", \"Koster\", \"Kramer\", \"Kroon\", \"Kuijpers\", \"Kuiper\", \"Kuipers\", \"Kurt\", \"Koster\", \"Kwakman\", \"Los\", \"Lubbers\", \"Maas\", \"Markus\", \"Martens\", \"Meijer\", \"Mol\", \"Molenaar\", \"Mulder\", \"Nieuwenhuis\", \"Peeters\", \"Peters\", \"Pengel\", \"Pieters\", \"Pool\", \"Post\", \"Postma\", \"Prins\", \"Pronk\", \"Reijnders\", \"Rietveld\", \"Roest\", \"Roos\", \"Sanders\", \"Schaap\", \"Scheffer\", \"Schenk\", \"Schilder\", \"Schipper\", \"Schmidt\", \"Scholten\", \"Schouten\", \"Schut\", \"Schutte\", \"Schuurman\", \"Simons\", \"Smeets\", \"Smit\", \"Smits\", \"Snel\", \"Swinkels\", \"Tas\", \"Terpstra\", \"Timmermans\", \"Tol\", \"Tromp\", \"Troost\", \"Valk\", \"Veenstra\", \"Veldkamp\", \"Verbeek\", \"Verheul\", \"Verhoeven\", \"Vermeer\", \"Vermeulen\", \"Verweij\", \"Vink\", \"Visser\", \"Voorn\", \"Vos\", \"Wagenaar\", \"Wiersema\", \"Willems\", \"Willemsen\", \"Witteveen\", \"Wolff\", \"Wolters\", \"Zijlstra\", \"Zwart\", \"de Beer\", \"de Boer\", \"de Bruijn\", \"de Bruin\", \"de Graaf\", \"de Groot\", \"de Haan\", \"de Haas\", \"de Jager\", \"de Jong\", \"de Jonge\", \"de Koning\", \"de Lange\", \"de Leeuw\", \"de Ridder\", \"de Rooij\", \"de Ruiter\", \"de Vos\", \"de Vries\", \"de Waal\", \"de Wit\", \"de Zwart\", \"van Beek\", \"van Boven\", \"van Dam\", \"van Dijk\", \"van Dongen\", \"van Doorn\", \"van Egmond\", \"van Eijk\", \"van Es\", \"van Gelder\", \"van Gelderen\", \"van Houten\", \"van Hulst\", \"van Kempen\", \"van Kesteren\", \"van Leeuwen\", \"van Loon\", \"van Mill\", \"van Noord\", \"van Ommen\", \"van Ommeren\", \"van Oosten\", \"van Oostveen\", \"van Rijn\", \"van Schaik\", \"van Veen\", \"van Vliet\", \"van Wijk\", \"van Wijngaarden\", \"van den Poel\", \"van de Pol\", \"van den Ploeg\", \"van de Ven\", \"van den Berg\", \"van den Bosch\", \"van den Brink\", \"van den Broek\", \"van den Heuvel\", \"van der Heijden\", \"van der Horst\", \"van der Hulst\", \"van der Kroon\", \"van der Laan\", \"van der Linden\", \"van der Meer\", \"van der Meij\", \"van der Meulen\", \"van der Molen\", \"van der Sluis\", \"van der Spek\", \"van der Veen\", \"van der Velde\", \"van der Velden\", \"van der Vliet\", \"van der Wal\"],\n // https://surnames.behindthename.com/top/lists/england-wales/1991\n \"uk\":[\"Smith\",\"Jones\",\"Williams\",\"Taylor\",\"Brown\",\"Davies\",\"Evans\",\"Wilson\",\"Thomas\",\"Johnson\",\"Roberts\",\"Robinson\",\"Thompson\",\"Wright\",\"Walker\",\"White\",\"Edwards\",\"Hughes\",\"Green\",\"Hall\",\"Lewis\",\"Harris\",\"Clarke\",\"Patel\",\"Jackson\",\"Wood\",\"Turner\",\"Martin\",\"Cooper\",\"Hill\",\"Ward\",\"Morris\",\"Moore\",\"Clark\",\"Lee\",\"King\",\"Baker\",\"Harrison\",\"Morgan\",\"Allen\",\"James\",\"Scott\",\"Phillips\",\"Watson\",\"Davis\",\"Parker\",\"Price\",\"Bennett\",\"Young\",\"Griffiths\",\"Mitchell\",\"Kelly\",\"Cook\",\"Carter\",\"Richardson\",\"Bailey\",\"Collins\",\"Bell\",\"Shaw\",\"Murphy\",\"Miller\",\"Cox\",\"Richards\",\"Khan\",\"Marshall\",\"Anderson\",\"Simpson\",\"Ellis\",\"Adams\",\"Singh\",\"Begum\",\"Wilkinson\",\"Foster\",\"Chapman\",\"Powell\",\"Webb\",\"Rogers\",\"Gray\",\"Mason\",\"Ali\",\"Hunt\",\"Hussain\",\"Campbell\",\"Matthews\",\"Owen\",\"Palmer\",\"Holmes\",\"Mills\",\"Barnes\",\"Knight\",\"Lloyd\",\"Butler\",\"Russell\",\"Barker\",\"Fisher\",\"Stevens\",\"Jenkins\",\"Murray\",\"Dixon\",\"Harvey\",\"Graham\",\"Pearson\",\"Ahmed\",\"Fletcher\",\"Walsh\",\"Kaur\",\"Gibson\",\"Howard\",\"Andrews\",\"Stewart\",\"Elliott\",\"Reynolds\",\"Saunders\",\"Payne\",\"Fox\",\"Ford\",\"Pearce\",\"Day\",\"Brooks\",\"West\",\"Lawrence\",\"Cole\",\"Atkinson\",\"Bradley\",\"Spencer\",\"Gill\",\"Dawson\",\"Ball\",\"Burton\",\"O'brien\",\"Watts\",\"Rose\",\"Booth\",\"Perry\",\"Ryan\",\"Grant\",\"Wells\",\"Armstrong\",\"Francis\",\"Rees\",\"Hayes\",\"Hart\",\"Hudson\",\"Newman\",\"Barrett\",\"Webster\",\"Hunter\",\"Gregory\",\"Carr\",\"Lowe\",\"Page\",\"Marsh\",\"Riley\",\"Dunn\",\"Woods\",\"Parsons\",\"Berry\",\"Stone\",\"Reid\",\"Holland\",\"Hawkins\",\"Harding\",\"Porter\",\"Robertson\",\"Newton\",\"Oliver\",\"Reed\",\"Kennedy\",\"Williamson\",\"Bird\",\"Gardner\",\"Shah\",\"Dean\",\"Lane\",\"Cooke\",\"Bates\",\"Henderson\",\"Parry\",\"Burgess\",\"Bishop\",\"Walton\",\"Burns\",\"Nicholson\",\"Shepherd\",\"Ross\",\"Cross\",\"Long\",\"Freeman\",\"Warren\",\"Nicholls\",\"Hamilton\",\"Byrne\",\"Sutton\",\"Mcdonald\",\"Yates\",\"Hodgson\",\"Robson\",\"Curtis\",\"Hopkins\",\"O'connor\",\"Harper\",\"Coleman\",\"Watkins\",\"Moss\",\"Mccarthy\",\"Chambers\",\"O'neill\",\"Griffin\",\"Sharp\",\"Hardy\",\"Wheeler\",\"Potter\",\"Osborne\",\"Johnston\",\"Gordon\",\"Doyle\",\"Wallace\",\"George\",\"Jordan\",\"Hutchinson\",\"Rowe\",\"Burke\",\"May\",\"Pritchard\",\"Gilbert\",\"Willis\",\"Higgins\",\"Read\",\"Miles\",\"Stevenson\",\"Stephenson\",\"Hammond\",\"Arnold\",\"Buckley\",\"Walters\",\"Hewitt\",\"Barber\",\"Nelson\",\"Slater\",\"Austin\",\"Sullivan\",\"Whitehead\",\"Mann\",\"Frost\",\"Lambert\",\"Stephens\",\"Blake\",\"Akhtar\",\"Lynch\",\"Goodwin\",\"Barton\",\"Woodward\",\"Thomson\",\"Cunningham\",\"Quinn\",\"Barnett\",\"Baxter\",\"Bibi\",\"Clayton\",\"Nash\",\"Greenwood\",\"Jennings\",\"Holt\",\"Kemp\",\"Poole\",\"Gallagher\",\"Bond\",\"Stokes\",\"Tucker\",\"Davidson\",\"Fowler\",\"Heath\",\"Norman\",\"Middleton\",\"Lawson\",\"Banks\",\"French\",\"Stanley\",\"Jarvis\",\"Gibbs\",\"Ferguson\",\"Hayward\",\"Carroll\",\"Douglas\",\"Dickinson\",\"Todd\",\"Barlow\",\"Peters\",\"Lucas\",\"Knowles\",\"Hartley\",\"Miah\",\"Simmons\",\"Morton\",\"Alexander\",\"Field\",\"Morrison\",\"Norris\",\"Townsend\",\"Preston\",\"Hancock\",\"Thornton\",\"Baldwin\",\"Burrows\",\"Briggs\",\"Parkinson\",\"Reeves\",\"Macdonald\",\"Lamb\",\"Black\",\"Abbott\",\"Sanders\",\"Thorpe\",\"Holden\",\"Tomlinson\",\"Perkins\",\"Ashton\",\"Rhodes\",\"Fuller\",\"Howe\",\"Bryant\",\"Vaughan\",\"Dale\",\"Davey\",\"Weston\",\"Bartlett\",\"Whittaker\",\"Davison\",\"Kent\",\"Skinner\",\"Birch\",\"Morley\",\"Daniels\",\"Glover\",\"Howell\",\"Cartwright\",\"Pugh\",\"Humphreys\",\"Goddard\",\"Brennan\",\"Wall\",\"Kirby\",\"Bowen\",\"Savage\",\"Bull\",\"Wong\",\"Dobson\",\"Smart\",\"Wilkins\",\"Kirk\",\"Fraser\",\"Duffy\",\"Hicks\",\"Patterson\",\"Bradshaw\",\"Little\",\"Archer\",\"Warner\",\"Waters\",\"O'sullivan\",\"Farrell\",\"Brookes\",\"Atkins\",\"Kay\",\"Dodd\",\"Bentley\",\"Flynn\",\"John\",\"Schofield\",\"Short\",\"Haynes\",\"Wade\",\"Butcher\",\"Henry\",\"Sanderson\",\"Crawford\",\"Sheppard\",\"Bolton\",\"Coates\",\"Giles\",\"Gould\",\"Houghton\",\"Gibbons\",\"Pratt\",\"Manning\",\"Law\",\"Hooper\",\"Noble\",\"Dyer\",\"Rahman\",\"Clements\",\"Moran\",\"Sykes\",\"Chan\",\"Doherty\",\"Connolly\",\"Joyce\",\"Franklin\",\"Hobbs\",\"Coles\",\"Herbert\",\"Steele\",\"Kerr\",\"Leach\",\"Winter\",\"Owens\",\"Duncan\",\"Naylor\",\"Fleming\",\"Horton\",\"Finch\",\"Fitzgerald\",\"Randall\",\"Carpenter\",\"Marsden\",\"Browne\",\"Garner\",\"Pickering\",\"Hale\",\"Dennis\",\"Vincent\",\"Chadwick\",\"Chandler\",\"Sharpe\",\"Nolan\",\"Lyons\",\"Hurst\",\"Collier\",\"Peacock\",\"Howarth\",\"Faulkner\",\"Rice\",\"Pollard\",\"Welch\",\"Norton\",\"Gough\",\"Sinclair\",\"Blackburn\",\"Bryan\",\"Conway\",\"Power\",\"Cameron\",\"Daly\",\"Allan\",\"Hanson\",\"Gardiner\",\"Boyle\",\"Myers\",\"Turnbull\",\"Wallis\",\"Mahmood\",\"Sims\",\"Swift\",\"Iqbal\",\"Pope\",\"Brady\",\"Chamberlain\",\"Rowley\",\"Tyler\",\"Farmer\",\"Metcalfe\",\"Hilton\",\"Godfrey\",\"Holloway\",\"Parkin\",\"Bray\",\"Talbot\",\"Donnelly\",\"Nixon\",\"Charlton\",\"Benson\",\"Whitehouse\",\"Barry\",\"Hope\",\"Lord\",\"North\",\"Storey\",\"Connor\",\"Potts\",\"Bevan\",\"Hargreaves\",\"Mclean\",\"Mistry\",\"Bruce\",\"Howells\",\"Hyde\",\"Parkes\",\"Wyatt\",\"Fry\",\"Lees\",\"O'donnell\",\"Craig\",\"Forster\",\"Mckenzie\",\"Humphries\",\"Mellor\",\"Carey\",\"Ingram\",\"Summers\",\"Leonard\"],\n // https://surnames.behindthename.com/top/lists/germany/2017\n \"de\": [\"Müller\",\"Schmidt\",\"Schneider\",\"Fischer\",\"Weber\",\"Meyer\",\"Wagner\",\"Becker\",\"Schulz\",\"Hoffmann\",\"Schäfer\",\"Koch\",\"Bauer\",\"Richter\",\"Klein\",\"Wolf\",\"Schröder\",\"Neumann\",\"Schwarz\",\"Zimmermann\",\"Braun\",\"Krüger\",\"Hofmann\",\"Hartmann\",\"Lange\",\"Schmitt\",\"Werner\",\"Schmitz\",\"Krause\",\"Meier\",\"Lehmann\",\"Schmid\",\"Schulze\",\"Maier\",\"Köhler\",\"Herrmann\",\"König\",\"Walter\",\"Mayer\",\"Huber\",\"Kaiser\",\"Fuchs\",\"Peters\",\"Lang\",\"Scholz\",\"Möller\",\"Weiß\",\"Jung\",\"Hahn\",\"Schubert\",\"Vogel\",\"Friedrich\",\"Keller\",\"Günther\",\"Frank\",\"Berger\",\"Winkler\",\"Roth\",\"Beck\",\"Lorenz\",\"Baumann\",\"Franke\",\"Albrecht\",\"Schuster\",\"Simon\",\"Ludwig\",\"Böhm\",\"Winter\",\"Kraus\",\"Martin\",\"Schumacher\",\"Krämer\",\"Vogt\",\"Stein\",\"Jäger\",\"Otto\",\"Sommer\",\"Groß\",\"Seidel\",\"Heinrich\",\"Brandt\",\"Haas\",\"Schreiber\",\"Graf\",\"Schulte\",\"Dietrich\",\"Ziegler\",\"Kuhn\",\"Kühn\",\"Pohl\",\"Engel\",\"Horn\",\"Busch\",\"Bergmann\",\"Thomas\",\"Voigt\",\"Sauer\",\"Arnold\",\"Wolff\",\"Pfeiffer\"],\n // http://www.japantimes.co.jp/life/2009/10/11/lifestyle/japans-top-100-most-common-family-names/\n \"jp\": [\"Sato\",\"Suzuki\",\"Takahashi\",\"Tanaka\",\"Watanabe\",\"Ito\",\"Yamamoto\",\"Nakamura\",\"Kobayashi\",\"Kato\",\"Yoshida\",\"Yamada\",\"Sasaki\",\"Yamaguchi\",\"Saito\",\"Matsumoto\",\"Inoue\",\"Kimura\",\"Hayashi\",\"Shimizu\",\"Yamazaki\",\"Mori\",\"Abe\",\"Ikeda\",\"Hashimoto\",\"Yamashita\",\"Ishikawa\",\"Nakajima\",\"Maeda\",\"Fujita\",\"Ogawa\",\"Goto\",\"Okada\",\"Hasegawa\",\"Murakami\",\"Kondo\",\"Ishii\",\"Saito\",\"Sakamoto\",\"Endo\",\"Aoki\",\"Fujii\",\"Nishimura\",\"Fukuda\",\"Ota\",\"Miura\",\"Fujiwara\",\"Okamoto\",\"Matsuda\",\"Nakagawa\",\"Nakano\",\"Harada\",\"Ono\",\"Tamura\",\"Takeuchi\",\"Kaneko\",\"Wada\",\"Nakayama\",\"Ishida\",\"Ueda\",\"Morita\",\"Hara\",\"Shibata\",\"Sakai\",\"Kudo\",\"Yokoyama\",\"Miyazaki\",\"Miyamoto\",\"Uchida\",\"Takagi\",\"Ando\",\"Taniguchi\",\"Ohno\",\"Maruyama\",\"Imai\",\"Takada\",\"Fujimoto\",\"Takeda\",\"Murata\",\"Ueno\",\"Sugiyama\",\"Masuda\",\"Sugawara\",\"Hirano\",\"Kojima\",\"Otsuka\",\"Chiba\",\"Kubo\",\"Matsui\",\"Iwasaki\",\"Sakurai\",\"Kinoshita\",\"Noguchi\",\"Matsuo\",\"Nomura\",\"Kikuchi\",\"Sano\",\"Onishi\",\"Sugimoto\",\"Arai\"],\n // http://www.lowchensaustralia.com/names/popular-spanish-names.htm\n \"es\": [\"Garcia\",\"Fernandez\",\"Lopez\",\"Martinez\",\"Gonzalez\",\"Rodriguez\",\"Sanchez\",\"Perez\",\"Martin\",\"Gomez\",\"Ruiz\",\"Diaz\",\"Hernandez\",\"Alvarez\",\"Jimenez\",\"Moreno\",\"Munoz\",\"Alonso\",\"Romero\",\"Navarro\",\"Gutierrez\",\"Torres\",\"Dominguez\",\"Gil\",\"Vazquez\",\"Blanco\",\"Serrano\",\"Ramos\",\"Castro\",\"Suarez\",\"Sanz\",\"Rubio\",\"Ortega\",\"Molina\",\"Delgado\",\"Ortiz\",\"Morales\",\"Ramirez\",\"Marin\",\"Iglesias\",\"Santos\",\"Castillo\",\"Garrido\",\"Calvo\",\"Pena\",\"Cruz\",\"Cano\",\"Nunez\",\"Prieto\",\"Diez\",\"Lozano\",\"Vidal\",\"Pascual\",\"Ferrer\",\"Medina\",\"Vega\",\"Leon\",\"Herrero\",\"Vicente\",\"Mendez\",\"Guerrero\",\"Fuentes\",\"Campos\",\"Nieto\",\"Cortes\",\"Caballero\",\"Ibanez\",\"Lorenzo\",\"Pastor\",\"Gimenez\",\"Saez\",\"Soler\",\"Marquez\",\"Carrasco\",\"Herrera\",\"Montero\",\"Arias\",\"Crespo\",\"Flores\",\"Andres\",\"Aguilar\",\"Hidalgo\",\"Cabrera\",\"Mora\",\"Duran\",\"Velasco\",\"Rey\",\"Pardo\",\"Roman\",\"Vila\",\"Bravo\",\"Merino\",\"Moya\",\"Soto\",\"Izquierdo\",\"Reyes\",\"Redondo\",\"Marcos\",\"Carmona\",\"Menendez\"],\n // Data taken from https://fr.wikipedia.org/wiki/Liste_des_noms_de_famille_les_plus_courants_en_France\n \"fr\": [\"Martin\",\"Bernard\",\"Thomas\",\"Petit\",\"Robert\",\"Richard\",\"Durand\",\"Dubois\",\"Moreau\",\"Laurent\",\"Simon\",\"Michel\",\"Lefèvre\",\"Leroy\",\"Roux\",\"David\",\"Bertrand\",\"Morel\",\"Fournier\",\"Girard\",\"Bonnet\",\"Dupont\",\"Lambert\",\"Fontaine\",\"Rousseau\",\"Vincent\",\"Müller\",\"Lefèvre\",\"Faure\",\"André\",\"Mercier\",\"Blanc\",\"Guérin\",\"Boyer\",\"Garnier\",\"Chevalier\",\"François\",\"Legrand\",\"Gauthier\",\"Garcia\",\"Perrin\",\"Robin\",\"Clément\",\"Morin\",\"Nicolas\",\"Henry\",\"Roussel\",\"Matthieu\",\"Gautier\",\"Masson\",\"Marchand\",\"Duval\",\"Denis\",\"Dumont\",\"Marie\",\"Lemaire\",\"Noël\",\"Meyer\",\"Dufour\",\"Meunier\",\"Brun\",\"Blanchard\",\"Giraud\",\"Joly\",\"Rivière\",\"Lucas\",\"Brunet\",\"Gaillard\",\"Barbier\",\"Arnaud\",\"Martínez\",\"Gérard\",\"Roche\",\"Renard\",\"Schmitt\",\"Roy\",\"Leroux\",\"Colin\",\"Vidal\",\"Caron\",\"Picard\",\"Roger\",\"Fabre\",\"Aubert\",\"Lemoine\",\"Renaud\",\"Dumas\",\"Lacroix\",\"Olivier\",\"Philippe\",\"Bourgeois\",\"Pierre\",\"Benoît\",\"Rey\",\"Leclerc\",\"Payet\",\"Rolland\",\"Leclercq\",\"Guillaume\",\"Lecomte\",\"López\",\"Jean\",\"Dupuy\",\"Guillot\",\"Hubert\",\"Berger\",\"Carpentier\",\"Sánchez\",\"Dupuis\",\"Moulin\",\"Louis\",\"Deschamps\",\"Huet\",\"Vasseur\",\"Perez\",\"Boucher\",\"Fleury\",\"Royer\",\"Klein\",\"Jacquet\",\"Adam\",\"Paris\",\"Poirier\",\"Marty\",\"Aubry\",\"Guyot\",\"Carré\",\"Charles\",\"Renault\",\"Charpentier\",\"Ménard\",\"Maillard\",\"Baron\",\"Bertin\",\"Bailly\",\"Hervé\",\"Schneider\",\"Fernández\",\"Le GallGall\",\"Collet\",\"Léger\",\"Bouvier\",\"Julien\",\"Prévost\",\"Millet\",\"Perrot\",\"Daniel\",\"Le RouxRoux\",\"Cousin\",\"Germain\",\"Breton\",\"Besson\",\"Langlois\",\"Rémi\",\"Le GoffGoff\",\"Pelletier\",\"Lévêque\",\"Perrier\",\"Leblanc\",\"Barré\",\"Lebrun\",\"Marchal\",\"Weber\",\"Mallet\",\"Hamon\",\"Boulanger\",\"Jacob\",\"Monnier\",\"Michaud\",\"Rodríguez\",\"Guichard\",\"Gillet\",\"Étienne\",\"Grondin\",\"Poulain\",\"Tessier\",\"Chevallier\",\"Collin\",\"Chauvin\",\"Da SilvaSilva\",\"Bouchet\",\"Gay\",\"Lemaître\",\"Bénard\",\"Maréchal\",\"Humbert\",\"Reynaud\",\"Antoine\",\"Hoarau\",\"Perret\",\"Barthélemy\",\"Cordier\",\"Pichon\",\"Lejeune\",\"Gilbert\",\"Lamy\",\"Delaunay\",\"Pasquier\",\"Carlier\",\"LaporteLaporte\"]\n },\n\n // Data taken from http://geoportal.statistics.gov.uk/datasets/ons-postcode-directory-latest-centroids\n postcodeAreas: [{code: 'AB'}, {code: 'AL'}, {code: 'B'}, {code: 'BA'}, {code: 'BB'}, {code: 'BD'}, {code: 'BH'}, {code: 'BL'}, {code: 'BN'}, {code: 'BR'}, {code: 'BS'}, {code: 'BT'}, {code: 'CA'}, {code: 'CB'}, {code: 'CF'}, {code: 'CH'}, {code: 'CM'}, {code: 'CO'}, {code: 'CR'}, {code: 'CT'}, {code: 'CV'}, {code: 'CW'}, {code: 'DA'}, {code: 'DD'}, {code: 'DE'}, {code: 'DG'}, {code: 'DH'}, {code: 'DL'}, {code: 'DN'}, {code: 'DT'}, {code: 'DY'}, {code: 'E'}, {code: 'EC'}, {code: 'EH'}, {code: 'EN'}, {code: 'EX'}, {code: 'FK'}, {code: 'FY'}, {code: 'G'}, {code: 'GL'}, {code: 'GU'}, {code: 'GY'}, {code: 'HA'}, {code: 'HD'}, {code: 'HG'}, {code: 'HP'}, {code: 'HR'}, {code: 'HS'}, {code: 'HU'}, {code: 'HX'}, {code: 'IG'}, {code: 'IM'}, {code: 'IP'}, {code: 'IV'}, {code: 'JE'}, {code: 'KA'}, {code: 'KT'}, {code: 'KW'}, {code: 'KY'}, {code: 'L'}, {code: 'LA'}, {code: 'LD'}, {code: 'LE'}, {code: 'LL'}, {code: 'LN'}, {code: 'LS'}, {code: 'LU'}, {code: 'M'}, {code: 'ME'}, {code: 'MK'}, {code: 'ML'}, {code: 'N'}, {code: 'NE'}, {code: 'NG'}, {code: 'NN'}, {code: 'NP'}, {code: 'NR'}, {code: 'NW'}, {code: 'OL'}, {code: 'OX'}, {code: 'PA'}, {code: 'PE'}, {code: 'PH'}, {code: 'PL'}, {code: 'PO'}, {code: 'PR'}, {code: 'RG'}, {code: 'RH'}, {code: 'RM'}, {code: 'S'}, {code: 'SA'}, {code: 'SE'}, {code: 'SG'}, {code: 'SK'}, {code: 'SL'}, {code: 'SM'}, {code: 'SN'}, {code: 'SO'}, {code: 'SP'}, {code: 'SR'}, {code: 'SS'}, {code: 'ST'}, {code: 'SW'}, {code: 'SY'}, {code: 'TA'}, {code: 'TD'}, {code: 'TF'}, {code: 'TN'}, {code: 'TQ'}, {code: 'TR'}, {code: 'TS'}, {code: 'TW'}, {code: 'UB'}, {code: 'W'}, {code: 'WA'}, {code: 'WC'}, {code: 'WD'}, {code: 'WF'}, {code: 'WN'}, {code: 'WR'}, {code: 'WS'}, {code: 'WV'}, {code: 'YO'}, {code: 'ZE'}],\n\n // Data taken from https://github.com/umpirsky/country-list/blob/master/data/en_US/country.json\n countries: [{\"name\":\"Afghanistan\",\"abbreviation\":\"AF\"},{\"name\":\"Åland Islands\",\"abbreviation\":\"AX\"},{\"name\":\"Albania\",\"abbreviation\":\"AL\"},{\"name\":\"Algeria\",\"abbreviation\":\"DZ\"},{\"name\":\"American Samoa\",\"abbreviation\":\"AS\"},{\"name\":\"Andorra\",\"abbreviation\":\"AD\"},{\"name\":\"Angola\",\"abbreviation\":\"AO\"},{\"name\":\"Anguilla\",\"abbreviation\":\"AI\"},{\"name\":\"Antarctica\",\"abbreviation\":\"AQ\"},{\"name\":\"Antigua & Barbuda\",\"abbreviation\":\"AG\"},{\"name\":\"Argentina\",\"abbreviation\":\"AR\"},{\"name\":\"Armenia\",\"abbreviation\":\"AM\"},{\"name\":\"Aruba\",\"abbreviation\":\"AW\"},{\"name\":\"Ascension Island\",\"abbreviation\":\"AC\"},{\"name\":\"Australia\",\"abbreviation\":\"AU\"},{\"name\":\"Austria\",\"abbreviation\":\"AT\"},{\"name\":\"Azerbaijan\",\"abbreviation\":\"AZ\"},{\"name\":\"Bahamas\",\"abbreviation\":\"BS\"},{\"name\":\"Bahrain\",\"abbreviation\":\"BH\"},{\"name\":\"Bangladesh\",\"abbreviation\":\"BD\"},{\"name\":\"Barbados\",\"abbreviation\":\"BB\"},{\"name\":\"Belarus\",\"abbreviation\":\"BY\"},{\"name\":\"Belgium\",\"abbreviation\":\"BE\"},{\"name\":\"Belize\",\"abbreviation\":\"BZ\"},{\"name\":\"Benin\",\"abbreviation\":\"BJ\"},{\"name\":\"Bermuda\",\"abbreviation\":\"BM\"},{\"name\":\"Bhutan\",\"abbreviation\":\"BT\"},{\"name\":\"Bolivia\",\"abbreviation\":\"BO\"},{\"name\":\"Bosnia & Herzegovina\",\"abbreviation\":\"BA\"},{\"name\":\"Botswana\",\"abbreviation\":\"BW\"},{\"name\":\"Brazil\",\"abbreviation\":\"BR\"},{\"name\":\"British Indian Ocean Territory\",\"abbreviation\":\"IO\"},{\"name\":\"British Virgin Islands\",\"abbreviation\":\"VG\"},{\"name\":\"Brunei\",\"abbreviation\":\"BN\"},{\"name\":\"Bulgaria\",\"abbreviation\":\"BG\"},{\"name\":\"Burkina Faso\",\"abbreviation\":\"BF\"},{\"name\":\"Burundi\",\"abbreviation\":\"BI\"},{\"name\":\"Cambodia\",\"abbreviation\":\"KH\"},{\"name\":\"Cameroon\",\"abbreviation\":\"CM\"},{\"name\":\"Canada\",\"abbreviation\":\"CA\"},{\"name\":\"Canary Islands\",\"abbreviation\":\"IC\"},{\"name\":\"Cape Verde\",\"abbreviation\":\"CV\"},{\"name\":\"Caribbean Netherlands\",\"abbreviation\":\"BQ\"},{\"name\":\"Cayman Islands\",\"abbreviation\":\"KY\"},{\"name\":\"Central African Republic\",\"abbreviation\":\"CF\"},{\"name\":\"Ceuta & Melilla\",\"abbreviation\":\"EA\"},{\"name\":\"Chad\",\"abbreviation\":\"TD\"},{\"name\":\"Chile\",\"abbreviation\":\"CL\"},{\"name\":\"China\",\"abbreviation\":\"CN\"},{\"name\":\"Christmas Island\",\"abbreviation\":\"CX\"},{\"name\":\"Cocos (Keeling) Islands\",\"abbreviation\":\"CC\"},{\"name\":\"Colombia\",\"abbreviation\":\"CO\"},{\"name\":\"Comoros\",\"abbreviation\":\"KM\"},{\"name\":\"Congo - Brazzaville\",\"abbreviation\":\"CG\"},{\"name\":\"Congo - Kinshasa\",\"abbreviation\":\"CD\"},{\"name\":\"Cook Islands\",\"abbreviation\":\"CK\"},{\"name\":\"Costa Rica\",\"abbreviation\":\"CR\"},{\"name\":\"Côte d'Ivoire\",\"abbreviation\":\"CI\"},{\"name\":\"Croatia\",\"abbreviation\":\"HR\"},{\"name\":\"Cuba\",\"abbreviation\":\"CU\"},{\"name\":\"Curaçao\",\"abbreviation\":\"CW\"},{\"name\":\"Cyprus\",\"abbreviation\":\"CY\"},{\"name\":\"Czech Republic\",\"abbreviation\":\"CZ\"},{\"name\":\"Denmark\",\"abbreviation\":\"DK\"},{\"name\":\"Diego Garcia\",\"abbreviation\":\"DG\"},{\"name\":\"Djibouti\",\"abbreviation\":\"DJ\"},{\"name\":\"Dominica\",\"abbreviation\":\"DM\"},{\"name\":\"Dominican Republic\",\"abbreviation\":\"DO\"},{\"name\":\"Ecuador\",\"abbreviation\":\"EC\"},{\"name\":\"Egypt\",\"abbreviation\":\"EG\"},{\"name\":\"El Salvador\",\"abbreviation\":\"SV\"},{\"name\":\"Equatorial Guinea\",\"abbreviation\":\"GQ\"},{\"name\":\"Eritrea\",\"abbreviation\":\"ER\"},{\"name\":\"Estonia\",\"abbreviation\":\"EE\"},{\"name\":\"Ethiopia\",\"abbreviation\":\"ET\"},{\"name\":\"Falkland Islands\",\"abbreviation\":\"FK\"},{\"name\":\"Faroe Islands\",\"abbreviation\":\"FO\"},{\"name\":\"Fiji\",\"abbreviation\":\"FJ\"},{\"name\":\"Finland\",\"abbreviation\":\"FI\"},{\"name\":\"France\",\"abbreviation\":\"FR\"},{\"name\":\"French Guiana\",\"abbreviation\":\"GF\"},{\"name\":\"French Polynesia\",\"abbreviation\":\"PF\"},{\"name\":\"French Southern Territories\",\"abbreviation\":\"TF\"},{\"name\":\"Gabon\",\"abbreviation\":\"GA\"},{\"name\":\"Gambia\",\"abbreviation\":\"GM\"},{\"name\":\"Georgia\",\"abbreviation\":\"GE\"},{\"name\":\"Germany\",\"abbreviation\":\"DE\"},{\"name\":\"Ghana\",\"abbreviation\":\"GH\"},{\"name\":\"Gibraltar\",\"abbreviation\":\"GI\"},{\"name\":\"Greece\",\"abbreviation\":\"GR\"},{\"name\":\"Greenland\",\"abbreviation\":\"GL\"},{\"name\":\"Grenada\",\"abbreviation\":\"GD\"},{\"name\":\"Guadeloupe\",\"abbreviation\":\"GP\"},{\"name\":\"Guam\",\"abbreviation\":\"GU\"},{\"name\":\"Guatemala\",\"abbreviation\":\"GT\"},{\"name\":\"Guernsey\",\"abbreviation\":\"GG\"},{\"name\":\"Guinea\",\"abbreviation\":\"GN\"},{\"name\":\"Guinea-Bissau\",\"abbreviation\":\"GW\"},{\"name\":\"Guyana\",\"abbreviation\":\"GY\"},{\"name\":\"Haiti\",\"abbreviation\":\"HT\"},{\"name\":\"Honduras\",\"abbreviation\":\"HN\"},{\"name\":\"Hong Kong SAR China\",\"abbreviation\":\"HK\"},{\"name\":\"Hungary\",\"abbreviation\":\"HU\"},{\"name\":\"Iceland\",\"abbreviation\":\"IS\"},{\"name\":\"India\",\"abbreviation\":\"IN\"},{\"name\":\"Indonesia\",\"abbreviation\":\"ID\"},{\"name\":\"Iran\",\"abbreviation\":\"IR\"},{\"name\":\"Iraq\",\"abbreviation\":\"IQ\"},{\"name\":\"Ireland\",\"abbreviation\":\"IE\"},{\"name\":\"Isle of Man\",\"abbreviation\":\"IM\"},{\"name\":\"Israel\",\"abbreviation\":\"IL\"},{\"name\":\"Italy\",\"abbreviation\":\"IT\"},{\"name\":\"Jamaica\",\"abbreviation\":\"JM\"},{\"name\":\"Japan\",\"abbreviation\":\"JP\"},{\"name\":\"Jersey\",\"abbreviation\":\"JE\"},{\"name\":\"Jordan\",\"abbreviation\":\"JO\"},{\"name\":\"Kazakhstan\",\"abbreviation\":\"KZ\"},{\"name\":\"Kenya\",\"abbreviation\":\"KE\"},{\"name\":\"Kiribati\",\"abbreviation\":\"KI\"},{\"name\":\"Kosovo\",\"abbreviation\":\"XK\"},{\"name\":\"Kuwait\",\"abbreviation\":\"KW\"},{\"name\":\"Kyrgyzstan\",\"abbreviation\":\"KG\"},{\"name\":\"Laos\",\"abbreviation\":\"LA\"},{\"name\":\"Latvia\",\"abbreviation\":\"LV\"},{\"name\":\"Lebanon\",\"abbreviation\":\"LB\"},{\"name\":\"Lesotho\",\"abbreviation\":\"LS\"},{\"name\":\"Liberia\",\"abbreviation\":\"LR\"},{\"name\":\"Libya\",\"abbreviation\":\"LY\"},{\"name\":\"Liechtenstein\",\"abbreviation\":\"LI\"},{\"name\":\"Lithuania\",\"abbreviation\":\"LT\"},{\"name\":\"Luxembourg\",\"abbreviation\":\"LU\"},{\"name\":\"Macau SAR China\",\"abbreviation\":\"MO\"},{\"name\":\"Macedonia\",\"abbreviation\":\"MK\"},{\"name\":\"Madagascar\",\"abbreviation\":\"MG\"},{\"name\":\"Malawi\",\"abbreviation\":\"MW\"},{\"name\":\"Malaysia\",\"abbreviation\":\"MY\"},{\"name\":\"Maldives\",\"abbreviation\":\"MV\"},{\"name\":\"Mali\",\"abbreviation\":\"ML\"},{\"name\":\"Malta\",\"abbreviation\":\"MT\"},{\"name\":\"Marshall Islands\",\"abbreviation\":\"MH\"},{\"name\":\"Martinique\",\"abbreviation\":\"MQ\"},{\"name\":\"Mauritania\",\"abbreviation\":\"MR\"},{\"name\":\"Mauritius\",\"abbreviation\":\"MU\"},{\"name\":\"Mayotte\",\"abbreviation\":\"YT\"},{\"name\":\"Mexico\",\"abbreviation\":\"MX\"},{\"name\":\"Micronesia\",\"abbreviation\":\"FM\"},{\"name\":\"Moldova\",\"abbreviation\":\"MD\"},{\"name\":\"Monaco\",\"abbreviation\":\"MC\"},{\"name\":\"Mongolia\",\"abbreviation\":\"MN\"},{\"name\":\"Montenegro\",\"abbreviation\":\"ME\"},{\"name\":\"Montserrat\",\"abbreviation\":\"MS\"},{\"name\":\"Morocco\",\"abbreviation\":\"MA\"},{\"name\":\"Mozambique\",\"abbreviation\":\"MZ\"},{\"name\":\"Myanmar (Burma)\",\"abbreviation\":\"MM\"},{\"name\":\"Namibia\",\"abbreviation\":\"NA\"},{\"name\":\"Nauru\",\"abbreviation\":\"NR\"},{\"name\":\"Nepal\",\"abbreviation\":\"NP\"},{\"name\":\"Netherlands\",\"abbreviation\":\"NL\"},{\"name\":\"New Caledonia\",\"abbreviation\":\"NC\"},{\"name\":\"New Zealand\",\"abbreviation\":\"NZ\"},{\"name\":\"Nicaragua\",\"abbreviation\":\"NI\"},{\"name\":\"Niger\",\"abbreviation\":\"NE\"},{\"name\":\"Nigeria\",\"abbreviation\":\"NG\"},{\"name\":\"Niue\",\"abbreviation\":\"NU\"},{\"name\":\"Norfolk Island\",\"abbreviation\":\"NF\"},{\"name\":\"North Korea\",\"abbreviation\":\"KP\"},{\"name\":\"Northern Mariana Islands\",\"abbreviation\":\"MP\"},{\"name\":\"Norway\",\"abbreviation\":\"NO\"},{\"name\":\"Oman\",\"abbreviation\":\"OM\"},{\"name\":\"Pakistan\",\"abbreviation\":\"PK\"},{\"name\":\"Palau\",\"abbreviation\":\"PW\"},{\"name\":\"Palestinian Territories\",\"abbreviation\":\"PS\"},{\"name\":\"Panama\",\"abbreviation\":\"PA\"},{\"name\":\"Papua New Guinea\",\"abbreviation\":\"PG\"},{\"name\":\"Paraguay\",\"abbreviation\":\"PY\"},{\"name\":\"Peru\",\"abbreviation\":\"PE\"},{\"name\":\"Philippines\",\"abbreviation\":\"PH\"},{\"name\":\"Pitcairn Islands\",\"abbreviation\":\"PN\"},{\"name\":\"Poland\",\"abbreviation\":\"PL\"},{\"name\":\"Portugal\",\"abbreviation\":\"PT\"},{\"name\":\"Puerto Rico\",\"abbreviation\":\"PR\"},{\"name\":\"Qatar\",\"abbreviation\":\"QA\"},{\"name\":\"Réunion\",\"abbreviation\":\"RE\"},{\"name\":\"Romania\",\"abbreviation\":\"RO\"},{\"name\":\"Russia\",\"abbreviation\":\"RU\"},{\"name\":\"Rwanda\",\"abbreviation\":\"RW\"},{\"name\":\"Samoa\",\"abbreviation\":\"WS\"},{\"name\":\"San Marino\",\"abbreviation\":\"SM\"},{\"name\":\"São Tomé and Príncipe\",\"abbreviation\":\"ST\"},{\"name\":\"Saudi Arabia\",\"abbreviation\":\"SA\"},{\"name\":\"Senegal\",\"abbreviation\":\"SN\"},{\"name\":\"Serbia\",\"abbreviation\":\"RS\"},{\"name\":\"Seychelles\",\"abbreviation\":\"SC\"},{\"name\":\"Sierra Leone\",\"abbreviation\":\"SL\"},{\"name\":\"Singapore\",\"abbreviation\":\"SG\"},{\"name\":\"Sint Maarten\",\"abbreviation\":\"SX\"},{\"name\":\"Slovakia\",\"abbreviation\":\"SK\"},{\"name\":\"Slovenia\",\"abbreviation\":\"SI\"},{\"name\":\"Solomon Islands\",\"abbreviation\":\"SB\"},{\"name\":\"Somalia\",\"abbreviation\":\"SO\"},{\"name\":\"South Africa\",\"abbreviation\":\"ZA\"},{\"name\":\"South Georgia & South Sandwich Islands\",\"abbreviation\":\"GS\"},{\"name\":\"South Korea\",\"abbreviation\":\"KR\"},{\"name\":\"South Sudan\",\"abbreviation\":\"SS\"},{\"name\":\"Spain\",\"abbreviation\":\"ES\"},{\"name\":\"Sri Lanka\",\"abbreviation\":\"LK\"},{\"name\":\"St. Barthélemy\",\"abbreviation\":\"BL\"},{\"name\":\"St. Helena\",\"abbreviation\":\"SH\"},{\"name\":\"St. Kitts & Nevis\",\"abbreviation\":\"KN\"},{\"name\":\"St. Lucia\",\"abbreviation\":\"LC\"},{\"name\":\"St. Martin\",\"abbreviation\":\"MF\"},{\"name\":\"St. Pierre & Miquelon\",\"abbreviation\":\"PM\"},{\"name\":\"St. Vincent & Grenadines\",\"abbreviation\":\"VC\"},{\"name\":\"Sudan\",\"abbreviation\":\"SD\"},{\"name\":\"Suriname\",\"abbreviation\":\"SR\"},{\"name\":\"Svalbard & Jan Mayen\",\"abbreviation\":\"SJ\"},{\"name\":\"Swaziland\",\"abbreviation\":\"SZ\"},{\"name\":\"Sweden\",\"abbreviation\":\"SE\"},{\"name\":\"Switzerland\",\"abbreviation\":\"CH\"},{\"name\":\"Syria\",\"abbreviation\":\"SY\"},{\"name\":\"Taiwan\",\"abbreviation\":\"TW\"},{\"name\":\"Tajikistan\",\"abbreviation\":\"TJ\"},{\"name\":\"Tanzania\",\"abbreviation\":\"TZ\"},{\"name\":\"Thailand\",\"abbreviation\":\"TH\"},{\"name\":\"Timor-Leste\",\"abbreviation\":\"TL\"},{\"name\":\"Togo\",\"abbreviation\":\"TG\"},{\"name\":\"Tokelau\",\"abbreviation\":\"TK\"},{\"name\":\"Tonga\",\"abbreviation\":\"TO\"},{\"name\":\"Trinidad & Tobago\",\"abbreviation\":\"TT\"},{\"name\":\"Tristan da Cunha\",\"abbreviation\":\"TA\"},{\"name\":\"Tunisia\",\"abbreviation\":\"TN\"},{\"name\":\"Turkey\",\"abbreviation\":\"TR\"},{\"name\":\"Turkmenistan\",\"abbreviation\":\"TM\"},{\"name\":\"Turks & Caicos Islands\",\"abbreviation\":\"TC\"},{\"name\":\"Tuvalu\",\"abbreviation\":\"TV\"},{\"name\":\"U.S. Outlying Islands\",\"abbreviation\":\"UM\"},{\"name\":\"U.S. Virgin Islands\",\"abbreviation\":\"VI\"},{\"name\":\"Uganda\",\"abbreviation\":\"UG\"},{\"name\":\"Ukraine\",\"abbreviation\":\"UA\"},{\"name\":\"United Arab Emirates\",\"abbreviation\":\"AE\"},{\"name\":\"United Kingdom\",\"abbreviation\":\"GB\"},{\"name\":\"United States\",\"abbreviation\":\"US\"},{\"name\":\"Uruguay\",\"abbreviation\":\"UY\"},{\"name\":\"Uzbekistan\",\"abbreviation\":\"UZ\"},{\"name\":\"Vanuatu\",\"abbreviation\":\"VU\"},{\"name\":\"Vatican City\",\"abbreviation\":\"VA\"},{\"name\":\"Venezuela\",\"abbreviation\":\"VE\"},{\"name\":\"Vietnam\",\"abbreviation\":\"VN\"},{\"name\":\"Wallis & Futuna\",\"abbreviation\":\"WF\"},{\"name\":\"Western Sahara\",\"abbreviation\":\"EH\"},{\"name\":\"Yemen\",\"abbreviation\":\"YE\"},{\"name\":\"Zambia\",\"abbreviation\":\"ZM\"},{\"name\":\"Zimbabwe\",\"abbreviation\":\"ZW\"}],\n\n counties: {\n // Data taken from http://www.downloadexcelfiles.com/gb_en/download-excel-file-list-counties-uk\n \"uk\": [\n {name: 'Bath and North East Somerset'},\n {name: 'Aberdeenshire'},\n {name: 'Anglesey'},\n {name: 'Angus'},\n {name: 'Bedford'},\n {name: 'Blackburn with Darwen'},\n {name: 'Blackpool'},\n {name: 'Bournemouth'},\n {name: 'Bracknell Forest'},\n {name: 'Brighton & Hove'},\n {name: 'Bristol'},\n {name: 'Buckinghamshire'},\n {name: 'Cambridgeshire'},\n {name: 'Carmarthenshire'},\n {name: 'Central Bedfordshire'},\n {name: 'Ceredigion'},\n {name: 'Cheshire East'},\n {name: 'Cheshire West and Chester'},\n {name: 'Clackmannanshire'},\n {name: 'Conwy'},\n {name: 'Cornwall'},\n {name: 'County Antrim'},\n {name: 'County Armagh'},\n {name: 'County Down'},\n {name: 'County Durham'},\n {name: 'County Fermanagh'},\n {name: 'County Londonderry'},\n {name: 'County Tyrone'},\n {name: 'Cumbria'},\n {name: 'Darlington'},\n {name: 'Denbighshire'},\n {name: 'Derby'},\n {name: 'Derbyshire'},\n {name: 'Devon'},\n {name: 'Dorset'},\n {name: 'Dumfries and Galloway'},\n {name: 'Dundee'},\n {name: 'East Lothian'},\n {name: 'East Riding of Yorkshire'},\n {name: 'East Sussex'},\n {name: 'Edinburgh?'},\n {name: 'Essex'},\n {name: 'Falkirk'},\n {name: 'Fife'},\n {name: 'Flintshire'},\n {name: 'Gloucestershire'},\n {name: 'Greater London'},\n {name: 'Greater Manchester'},\n {name: 'Gwent'},\n {name: 'Gwynedd'},\n {name: 'Halton'},\n {name: 'Hampshire'},\n {name: 'Hartlepool'},\n {name: 'Herefordshire'},\n {name: 'Hertfordshire'},\n {name: 'Highlands'},\n {name: 'Hull'},\n {name: 'Isle of Wight'},\n {name: 'Isles of Scilly'},\n {name: 'Kent'},\n {name: 'Lancashire'},\n {name: 'Leicester'},\n {name: 'Leicestershire'},\n {name: 'Lincolnshire'},\n {name: 'Lothian'},\n {name: 'Luton'},\n {name: 'Medway'},\n {name: 'Merseyside'},\n {name: 'Mid Glamorgan'},\n {name: 'Middlesbrough'},\n {name: 'Milton Keynes'},\n {name: 'Monmouthshire'},\n {name: 'Moray'},\n {name: 'Norfolk'},\n {name: 'North East Lincolnshire'},\n {name: 'North Lincolnshire'},\n {name: 'North Somerset'},\n {name: 'North Yorkshire'},\n {name: 'Northamptonshire'},\n {name: 'Northumberland'},\n {name: 'Nottingham'},\n {name: 'Nottinghamshire'},\n {name: 'Oxfordshire'},\n {name: 'Pembrokeshire'},\n {name: 'Perth and Kinross'},\n {name: 'Peterborough'},\n {name: 'Plymouth'},\n {name: 'Poole'},\n {name: 'Portsmouth'},\n {name: 'Powys'},\n {name: 'Reading'},\n {name: 'Redcar and Cleveland'},\n {name: 'Rutland'},\n {name: 'Scottish Borders'},\n {name: 'Shropshire'},\n {name: 'Slough'},\n {name: 'Somerset'},\n {name: 'South Glamorgan'},\n {name: 'South Gloucestershire'},\n {name: 'South Yorkshire'},\n {name: 'Southampton'},\n {name: 'Southend-on-Sea'},\n {name: 'Staffordshire'},\n {name: 'Stirlingshire'},\n {name: 'Stockton-on-Tees'},\n {name: 'Stoke-on-Trent'},\n {name: 'Strathclyde'},\n {name: 'Suffolk'},\n {name: 'Surrey'},\n {name: 'Swindon'},\n {name: 'Telford and Wrekin'},\n {name: 'Thurrock'},\n {name: 'Torbay'},\n {name: 'Tyne and Wear'},\n {name: 'Warrington'},\n {name: 'Warwickshire'},\n {name: 'West Berkshire'},\n {name: 'West Glamorgan'},\n {name: 'West Lothian'},\n {name: 'West Midlands'},\n {name: 'West Sussex'},\n {name: 'West Yorkshire'},\n {name: 'Western Isles'},\n {name: 'Wiltshire'},\n {name: 'Windsor and Maidenhead'},\n {name: 'Wokingham'},\n {name: 'Worcestershire'},\n {name: 'Wrexham'},\n {name: 'York'}]\n },\n provinces: {\n \"ca\": [\n {name: 'Alberta', abbreviation: 'AB'},\n {name: 'British Columbia', abbreviation: 'BC'},\n {name: 'Manitoba', abbreviation: 'MB'},\n {name: 'New Brunswick', abbreviation: 'NB'},\n {name: 'Newfoundland and Labrador', abbreviation: 'NL'},\n {name: 'Nova Scotia', abbreviation: 'NS'},\n {name: 'Ontario', abbreviation: 'ON'},\n {name: 'Prince Edward Island', abbreviation: 'PE'},\n {name: 'Quebec', abbreviation: 'QC'},\n {name: 'Saskatchewan', abbreviation: 'SK'},\n\n // The case could be made that the following are not actually provinces\n // since they are technically considered \"territories\" however they all\n // look the same on an envelope!\n {name: 'Northwest Territories', abbreviation: 'NT'},\n {name: 'Nunavut', abbreviation: 'NU'},\n {name: 'Yukon', abbreviation: 'YT'}\n ],\n \"it\": [\n { name: \"Agrigento\", abbreviation: \"AG\", code: 84 },\n { name: \"Alessandria\", abbreviation: \"AL\", code: 6 },\n { name: \"Ancona\", abbreviation: \"AN\", code: 42 },\n { name: \"Aosta\", abbreviation: \"AO\", code: 7 },\n { name: \"L'Aquila\", abbreviation: \"AQ\", code: 66 },\n { name: \"Arezzo\", abbreviation: \"AR\", code: 51 },\n { name: \"Ascoli-Piceno\", abbreviation: \"AP\", code: 44 },\n { name: \"Asti\", abbreviation: \"AT\", code: 5 },\n { name: \"Avellino\", abbreviation: \"AV\", code: 64 },\n { name: \"Bari\", abbreviation: \"BA\", code: 72 },\n { name: \"Barletta-Andria-Trani\", abbreviation: \"BT\", code: 72 },\n { name: \"Belluno\", abbreviation: \"BL\", code: 25 },\n { name: \"Benevento\", abbreviation: \"BN\", code: 62 },\n { name: \"Bergamo\", abbreviation: \"BG\", code: 16 },\n { name: \"Biella\", abbreviation: \"BI\", code: 96 },\n { name: \"Bologna\", abbreviation: \"BO\", code: 37 },\n { name: \"Bolzano\", abbreviation: \"BZ\", code: 21 },\n { name: \"Brescia\", abbreviation: \"BS\", code: 17 },\n { name: \"Brindisi\", abbreviation: \"BR\", code: 74 },\n { name: \"Cagliari\", abbreviation: \"CA\", code: 92 },\n { name: \"Caltanissetta\", abbreviation: \"CL\", code: 85 },\n { name: \"Campobasso\", abbreviation: \"CB\", code: 70 },\n { name: \"Carbonia Iglesias\", abbreviation: \"CI\", code: 70 },\n { name: \"Caserta\", abbreviation: \"CE\", code: 61 },\n { name: \"Catania\", abbreviation: \"CT\", code: 87 },\n { name: \"Catanzaro\", abbreviation: \"CZ\", code: 79 },\n { name: \"Chieti\", abbreviation: \"CH\", code: 69 },\n { name: \"Como\", abbreviation: \"CO\", code: 13 },\n { name: \"Cosenza\", abbreviation: \"CS\", code: 78 },\n { name: \"Cremona\", abbreviation: \"CR\", code: 19 },\n { name: \"Crotone\", abbreviation: \"KR\", code: 101 },\n { name: \"Cuneo\", abbreviation: \"CN\", code: 4 },\n { name: \"Enna\", abbreviation: \"EN\", code: 86 },\n { name: \"Fermo\", abbreviation: \"FM\", code: 86 },\n { name: \"Ferrara\", abbreviation: \"FE\", code: 38 },\n { name: \"Firenze\", abbreviation: \"FI\", code: 48 },\n { name: \"Foggia\", abbreviation: \"FG\", code: 71 },\n { name: \"Forli-Cesena\", abbreviation: \"FC\", code: 71 },\n { name: \"Frosinone\", abbreviation: \"FR\", code: 60 },\n { name: \"Genova\", abbreviation: \"GE\", code: 10 },\n { name: \"Gorizia\", abbreviation: \"GO\", code: 31 },\n { name: \"Grosseto\", abbreviation: \"GR\", code: 53 },\n { name: \"Imperia\", abbreviation: \"IM\", code: 8 },\n { name: \"Isernia\", abbreviation: \"IS\", code: 94 },\n { name: \"La-Spezia\", abbreviation: \"SP\", code: 66 },\n { name: \"Latina\", abbreviation: \"LT\", code: 59 },\n { name: \"Lecce\", abbreviation: \"LE\", code: 75 },\n { name: \"Lecco\", abbreviation: \"LC\", code: 97 },\n { name: \"Livorno\", abbreviation: \"LI\", code: 49 },\n { name: \"Lodi\", abbreviation: \"LO\", code: 98 },\n { name: \"Lucca\", abbreviation: \"LU\", code: 46 },\n { name: \"Macerata\", abbreviation: \"MC\", code: 43 },\n { name: \"Mantova\", abbreviation: \"MN\", code: 20 },\n { name: \"Massa-Carrara\", abbreviation: \"MS\", code: 45 },\n { name: \"Matera\", abbreviation: \"MT\", code: 77 },\n { name: \"Medio Campidano\", abbreviation: \"VS\", code: 77 },\n { name: \"Messina\", abbreviation: \"ME\", code: 83 },\n { name: \"Milano\", abbreviation: \"MI\", code: 15 },\n { name: \"Modena\", abbreviation: \"MO\", code: 36 },\n { name: \"Monza-Brianza\", abbreviation: \"MB\", code: 36 },\n { name: \"Napoli\", abbreviation: \"NA\", code: 63 },\n { name: \"Novara\", abbreviation: \"NO\", code: 3 },\n { name: \"Nuoro\", abbreviation: \"NU\", code: 91 },\n { name: \"Ogliastra\", abbreviation: \"OG\", code: 91 },\n { name: \"Olbia Tempio\", abbreviation: \"OT\", code: 91 },\n { name: \"Oristano\", abbreviation: \"OR\", code: 95 },\n { name: \"Padova\", abbreviation: \"PD\", code: 28 },\n { name: \"Palermo\", abbreviation: \"PA\", code: 82 },\n { name: \"Parma\", abbreviation: \"PR\", code: 34 },\n { name: \"Pavia\", abbreviation: \"PV\", code: 18 },\n { name: \"Perugia\", abbreviation: \"PG\", code: 54 },\n { name: \"Pesaro-Urbino\", abbreviation: \"PU\", code: 41 },\n { name: \"Pescara\", abbreviation: \"PE\", code: 68 },\n { name: \"Piacenza\", abbreviation: \"PC\", code: 33 },\n { name: \"Pisa\", abbreviation: \"PI\", code: 50 },\n { name: \"Pistoia\", abbreviation: \"PT\", code: 47 },\n { name: \"Pordenone\", abbreviation: \"PN\", code: 93 },\n { name: \"Potenza\", abbreviation: \"PZ\", code: 76 },\n { name: \"Prato\", abbreviation: \"PO\", code: 100 },\n { name: \"Ragusa\", abbreviation: \"RG\", code: 88 },\n { name: \"Ravenna\", abbreviation: \"RA\", code: 39 },\n { name: \"Reggio-Calabria\", abbreviation: \"RC\", code: 35 },\n { name: \"Reggio-Emilia\", abbreviation: \"RE\", code: 35 },\n { name: \"Rieti\", abbreviation: \"RI\", code: 57 },\n { name: \"Rimini\", abbreviation: \"RN\", code: 99 },\n { name: \"Roma\", abbreviation: \"Roma\", code: 58 },\n { name: \"Rovigo\", abbreviation: \"RO\", code: 29 },\n { name: \"Salerno\", abbreviation: \"SA\", code: 65 },\n { name: \"Sassari\", abbreviation: \"SS\", code: 90 },\n { name: \"Savona\", abbreviation: \"SV\", code: 9 },\n { name: \"Siena\", abbreviation: \"SI\", code: 52 },\n { name: \"Siracusa\", abbreviation: \"SR\", code: 89 },\n { name: \"Sondrio\", abbreviation: \"SO\", code: 14 },\n { name: \"Taranto\", abbreviation: \"TA\", code: 73 },\n { name: \"Teramo\", abbreviation: \"TE\", code: 67 },\n { name: \"Terni\", abbreviation: \"TR\", code: 55 },\n { name: \"Torino\", abbreviation: \"TO\", code: 1 },\n { name: \"Trapani\", abbreviation: \"TP\", code: 81 },\n { name: \"Trento\", abbreviation: \"TN\", code: 22 },\n { name: \"Treviso\", abbreviation: \"TV\", code: 26 },\n { name: \"Trieste\", abbreviation: \"TS\", code: 32 },\n { name: \"Udine\", abbreviation: \"UD\", code: 30 },\n { name: \"Varese\", abbreviation: \"VA\", code: 12 },\n { name: \"Venezia\", abbreviation: \"VE\", code: 27 },\n { name: \"Verbania\", abbreviation: \"VB\", code: 27 },\n { name: \"Vercelli\", abbreviation: \"VC\", code: 2 },\n { name: \"Verona\", abbreviation: \"VR\", code: 23 },\n { name: \"Vibo-Valentia\", abbreviation: \"VV\", code: 102 },\n { name: \"Vicenza\", abbreviation: \"VI\", code: 24 },\n { name: \"Viterbo\", abbreviation: \"VT\", code: 56 }\n ]\n },\n\n // from: https://github.com/samsargent/Useful-Autocomplete-Data/blob/master/data/nationalities.json\n nationalities: [\n {name: 'Afghan'},\n {name: 'Albanian'},\n {name: 'Algerian'},\n {name: 'American'},\n {name: 'Andorran'},\n {name: 'Angolan'},\n {name: 'Antiguans'},\n {name: 'Argentinean'},\n {name: 'Armenian'},\n {name: 'Australian'},\n {name: 'Austrian'},\n {name: 'Azerbaijani'},\n {name: 'Bahami'},\n {name: 'Bahraini'},\n {name: 'Bangladeshi'},\n {name: 'Barbadian'},\n {name: 'Barbudans'},\n {name: 'Batswana'},\n {name: 'Belarusian'},\n {name: 'Belgian'},\n {name: 'Belizean'},\n {name: 'Beninese'},\n {name: 'Bhutanese'},\n {name: 'Bolivian'},\n {name: 'Bosnian'},\n {name: 'Brazilian'},\n {name: 'British'},\n {name: 'Bruneian'},\n {name: 'Bulgarian'},\n {name: 'Burkinabe'},\n {name: 'Burmese'},\n {name: 'Burundian'},\n {name: 'Cambodian'},\n {name: 'Cameroonian'},\n {name: 'Canadian'},\n {name: 'Cape Verdean'},\n {name: 'Central African'},\n {name: 'Chadian'},\n {name: 'Chilean'},\n {name: 'Chinese'},\n {name: 'Colombian'},\n {name: 'Comoran'},\n {name: 'Congolese'},\n {name: 'Costa Rican'},\n {name: 'Croatian'},\n {name: 'Cuban'},\n {name: 'Cypriot'},\n {name: 'Czech'},\n {name: 'Danish'},\n {name: 'Djibouti'},\n {name: 'Dominican'},\n {name: 'Dutch'},\n {name: 'East Timorese'},\n {name: 'Ecuadorean'},\n {name: 'Egyptian'},\n {name: 'Emirian'},\n {name: 'Equatorial Guinean'},\n {name: 'Eritrean'},\n {name: 'Estonian'},\n {name: 'Ethiopian'},\n {name: 'Fijian'},\n {name: 'Filipino'},\n {name: 'Finnish'},\n {name: 'French'},\n {name: 'Gabonese'},\n {name: 'Gambian'},\n {name: 'Georgian'},\n {name: 'German'},\n {name: 'Ghanaian'},\n {name: 'Greek'},\n {name: 'Grenadian'},\n {name: 'Guatemalan'},\n {name: 'Guinea-Bissauan'},\n {name: 'Guinean'},\n {name: 'Guyanese'},\n {name: 'Haitian'},\n {name: 'Herzegovinian'},\n {name: 'Honduran'},\n {name: 'Hungarian'},\n {name: 'I-Kiribati'},\n {name: 'Icelander'},\n {name: 'Indian'},\n {name: 'Indonesian'},\n {name: 'Iranian'},\n {name: 'Iraqi'},\n {name: 'Irish'},\n {name: 'Israeli'},\n {name: 'Italian'},\n {name: 'Ivorian'},\n {name: 'Jamaican'},\n {name: 'Japanese'},\n {name: 'Jordanian'},\n {name: 'Kazakhstani'},\n {name: 'Kenyan'},\n {name: 'Kittian and Nevisian'},\n {name: 'Kuwaiti'},\n {name: 'Kyrgyz'},\n {name: 'Laotian'},\n {name: 'Latvian'},\n {name: 'Lebanese'},\n {name: 'Liberian'},\n {name: 'Libyan'},\n {name: 'Liechtensteiner'},\n {name: 'Lithuanian'},\n {name: 'Luxembourger'},\n {name: 'Macedonian'},\n {name: 'Malagasy'},\n {name: 'Malawian'},\n {name: 'Malaysian'},\n {name: 'Maldivan'},\n {name: 'Malian'},\n {name: 'Maltese'},\n {name: 'Marshallese'},\n {name: 'Mauritanian'},\n {name: 'Mauritian'},\n {name: 'Mexican'},\n {name: 'Micronesian'},\n {name: 'Moldovan'},\n {name: 'Monacan'},\n {name: 'Mongolian'},\n {name: 'Moroccan'},\n {name: 'Mosotho'},\n {name: 'Motswana'},\n {name: 'Mozambican'},\n {name: 'Namibian'},\n {name: 'Nauruan'},\n {name: 'Nepalese'},\n {name: 'New Zealander'},\n {name: 'Nicaraguan'},\n {name: 'Nigerian'},\n {name: 'Nigerien'},\n {name: 'North Korean'},\n {name: 'Northern Irish'},\n {name: 'Norwegian'},\n {name: 'Omani'},\n {name: 'Pakistani'},\n {name: 'Palauan'},\n {name: 'Panamanian'},\n {name: 'Papua New Guinean'},\n {name: 'Paraguayan'},\n {name: 'Peruvian'},\n {name: 'Polish'},\n {name: 'Portuguese'},\n {name: 'Qatari'},\n {name: 'Romani'},\n {name: 'Russian'},\n {name: 'Rwandan'},\n {name: 'Saint Lucian'},\n {name: 'Salvadoran'},\n {name: 'Samoan'},\n {name: 'San Marinese'},\n {name: 'Sao Tomean'},\n {name: 'Saudi'},\n {name: 'Scottish'},\n {name: 'Senegalese'},\n {name: 'Serbian'},\n {name: 'Seychellois'},\n {name: 'Sierra Leonean'},\n {name: 'Singaporean'},\n {name: 'Slovakian'},\n {name: 'Slovenian'},\n {name: 'Solomon Islander'},\n {name: 'Somali'},\n {name: 'South African'},\n {name: 'South Korean'},\n {name: 'Spanish'},\n {name: 'Sri Lankan'},\n {name: 'Sudanese'},\n {name: 'Surinamer'},\n {name: 'Swazi'},\n {name: 'Swedish'},\n {name: 'Swiss'},\n {name: 'Syrian'},\n {name: 'Taiwanese'},\n {name: 'Tajik'},\n {name: 'Tanzanian'},\n {name: 'Thai'},\n {name: 'Togolese'},\n {name: 'Tongan'},\n {name: 'Trinidadian or Tobagonian'},\n {name: 'Tunisian'},\n {name: 'Turkish'},\n {name: 'Tuvaluan'},\n {name: 'Ugandan'},\n {name: 'Ukrainian'},\n {name: 'Uruguaya'},\n {name: 'Uzbekistani'},\n {name: 'Venezuela'},\n {name: 'Vietnamese'},\n {name: 'Wels'},\n {name: 'Yemenit'},\n {name: 'Zambia'},\n {name: 'Zimbabwe'},\n ],\n // http://www.loc.gov/standards/iso639-2/php/code_list.php (ISO-639-1 codes)\n locale_languages: [\n \"aa\",\n \"ab\",\n \"ae\",\n \"af\",\n \"ak\",\n \"am\",\n \"an\",\n \"ar\",\n \"as\",\n \"av\",\n \"ay\",\n \"az\",\n \"ba\",\n \"be\",\n \"bg\",\n \"bh\",\n \"bi\",\n \"bm\",\n \"bn\",\n \"bo\",\n \"br\",\n \"bs\",\n \"ca\",\n \"ce\",\n \"ch\",\n \"co\",\n \"cr\",\n \"cs\",\n \"cu\",\n \"cv\",\n \"cy\",\n \"da\",\n \"de\",\n \"dv\",\n \"dz\",\n \"ee\",\n \"el\",\n \"en\",\n \"eo\",\n \"es\",\n \"et\",\n \"eu\",\n \"fa\",\n \"ff\",\n \"fi\",\n \"fj\",\n \"fo\",\n \"fr\",\n \"fy\",\n \"ga\",\n \"gd\",\n \"gl\",\n \"gn\",\n \"gu\",\n \"gv\",\n \"ha\",\n \"he\",\n \"hi\",\n \"ho\",\n \"hr\",\n \"ht\",\n \"hu\",\n \"hy\",\n \"hz\",\n \"ia\",\n \"id\",\n \"ie\",\n \"ig\",\n \"ii\",\n \"ik\",\n \"io\",\n \"is\",\n \"it\",\n \"iu\",\n \"ja\",\n \"jv\",\n \"ka\",\n \"kg\",\n \"ki\",\n \"kj\",\n \"kk\",\n \"kl\",\n \"km\",\n \"kn\",\n \"ko\",\n \"kr\",\n \"ks\",\n \"ku\",\n \"kv\",\n \"kw\",\n \"ky\",\n \"la\",\n \"lb\",\n \"lg\",\n \"li\",\n \"ln\",\n \"lo\",\n \"lt\",\n \"lu\",\n \"lv\",\n \"mg\",\n \"mh\",\n \"mi\",\n \"mk\",\n \"ml\",\n \"mn\",\n \"mr\",\n \"ms\",\n \"mt\",\n \"my\",\n \"na\",\n \"nb\",\n \"nd\",\n \"ne\",\n \"ng\",\n \"nl\",\n \"nn\",\n \"no\",\n \"nr\",\n \"nv\",\n \"ny\",\n \"oc\",\n \"oj\",\n \"om\",\n \"or\",\n \"os\",\n \"pa\",\n \"pi\",\n \"pl\",\n \"ps\",\n \"pt\",\n \"qu\",\n \"rm\",\n \"rn\",\n \"ro\",\n \"ru\",\n \"rw\",\n \"sa\",\n \"sc\",\n \"sd\",\n \"se\",\n \"sg\",\n \"si\",\n \"sk\",\n \"sl\",\n \"sm\",\n \"sn\",\n \"so\",\n \"sq\",\n \"sr\",\n \"ss\",\n \"st\",\n \"su\",\n \"sv\",\n \"sw\",\n \"ta\",\n \"te\",\n \"tg\",\n \"th\",\n \"ti\",\n \"tk\",\n \"tl\",\n \"tn\",\n \"to\",\n \"tr\",\n \"ts\",\n \"tt\",\n \"tw\",\n \"ty\",\n \"ug\",\n \"uk\",\n \"ur\",\n \"uz\",\n \"ve\",\n \"vi\",\n \"vo\",\n \"wa\",\n \"wo\",\n \"xh\",\n \"yi\",\n \"yo\",\n \"za\",\n \"zh\",\n \"zu\"\n ],\n\n // From http://data.okfn.org/data/core/language-codes#resource-language-codes-full (IETF language tags)\n locale_regions: [\n \"agq-CM\",\n \"asa-TZ\",\n \"ast-ES\",\n \"bas-CM\",\n \"bem-ZM\",\n \"bez-TZ\",\n \"brx-IN\",\n \"cgg-UG\",\n \"chr-US\",\n \"dav-KE\",\n \"dje-NE\",\n \"dsb-DE\",\n \"dua-CM\",\n \"dyo-SN\",\n \"ebu-KE\",\n \"ewo-CM\",\n \"fil-PH\",\n \"fur-IT\",\n \"gsw-CH\",\n \"gsw-FR\",\n \"gsw-LI\",\n \"guz-KE\",\n \"haw-US\",\n \"hsb-DE\",\n \"jgo-CM\",\n \"jmc-TZ\",\n \"kab-DZ\",\n \"kam-KE\",\n \"kde-TZ\",\n \"kea-CV\",\n \"khq-ML\",\n \"kkj-CM\",\n \"kln-KE\",\n \"kok-IN\",\n \"ksb-TZ\",\n \"ksf-CM\",\n \"ksh-DE\",\n \"lag-TZ\",\n \"lkt-US\",\n \"luo-KE\",\n \"luy-KE\",\n \"mas-KE\",\n \"mas-TZ\",\n \"mer-KE\",\n \"mfe-MU\",\n \"mgh-MZ\",\n \"mgo-CM\",\n \"mua-CM\",\n \"naq-NA\",\n \"nmg-CM\",\n \"nnh-CM\",\n \"nus-SD\",\n \"nyn-UG\",\n \"rof-TZ\",\n \"rwk-TZ\",\n \"sah-RU\",\n \"saq-KE\",\n \"sbp-TZ\",\n \"seh-MZ\",\n \"ses-ML\",\n \"shi-Latn\",\n \"shi-Latn-MA\",\n \"shi-Tfng\",\n \"shi-Tfng-MA\",\n \"smn-FI\",\n \"teo-KE\",\n \"teo-UG\",\n \"twq-NE\",\n \"tzm-Latn\",\n \"tzm-Latn-MA\",\n \"vai-Latn\",\n \"vai-Latn-LR\",\n \"vai-Vaii\",\n \"vai-Vaii-LR\",\n \"vun-TZ\",\n \"wae-CH\",\n \"xog-UG\",\n \"yav-CM\",\n \"zgh-MA\",\n \"af-NA\",\n \"af-ZA\",\n \"ak-GH\",\n \"am-ET\",\n \"ar-001\",\n \"ar-AE\",\n \"ar-BH\",\n \"ar-DJ\",\n \"ar-DZ\",\n \"ar-EG\",\n \"ar-EH\",\n \"ar-ER\",\n \"ar-IL\",\n \"ar-IQ\",\n \"ar-JO\",\n \"ar-KM\",\n \"ar-KW\",\n \"ar-LB\",\n \"ar-LY\",\n \"ar-MA\",\n \"ar-MR\",\n \"ar-OM\",\n \"ar-PS\",\n \"ar-QA\",\n \"ar-SA\",\n \"ar-SD\",\n \"ar-SO\",\n \"ar-SS\",\n \"ar-SY\",\n \"ar-TD\",\n \"ar-TN\",\n \"ar-YE\",\n \"as-IN\",\n \"az-Cyrl\",\n \"az-Cyrl-AZ\",\n \"az-Latn\",\n \"az-Latn-AZ\",\n \"be-BY\",\n \"bg-BG\",\n \"bm-Latn\",\n \"bm-Latn-ML\",\n \"bn-BD\",\n \"bn-IN\",\n \"bo-CN\",\n \"bo-IN\",\n \"br-FR\",\n \"bs-Cyrl\",\n \"bs-Cyrl-BA\",\n \"bs-Latn\",\n \"bs-Latn-BA\",\n \"ca-AD\",\n \"ca-ES\",\n \"ca-ES-VALENCIA\",\n \"ca-FR\",\n \"ca-IT\",\n \"cs-CZ\",\n \"cy-GB\",\n \"da-DK\",\n \"da-GL\",\n \"de-AT\",\n \"de-BE\",\n \"de-CH\",\n \"de-DE\",\n \"de-LI\",\n \"de-LU\",\n \"dz-BT\",\n \"ee-GH\",\n \"ee-TG\",\n \"el-CY\",\n \"el-GR\",\n \"en-001\",\n \"en-150\",\n \"en-AG\",\n \"en-AI\",\n \"en-AS\",\n \"en-AU\",\n \"en-BB\",\n \"en-BE\",\n \"en-BM\",\n \"en-BS\",\n \"en-BW\",\n \"en-BZ\",\n \"en-CA\",\n \"en-CC\",\n \"en-CK\",\n \"en-CM\",\n \"en-CX\",\n \"en-DG\",\n \"en-DM\",\n \"en-ER\",\n \"en-FJ\",\n \"en-FK\",\n \"en-FM\",\n \"en-GB\",\n \"en-GD\",\n \"en-GG\",\n \"en-GH\",\n \"en-GI\",\n \"en-GM\",\n \"en-GU\",\n \"en-GY\",\n \"en-HK\",\n \"en-IE\",\n \"en-IM\",\n \"en-IN\",\n \"en-IO\",\n \"en-JE\",\n \"en-JM\",\n \"en-KE\",\n \"en-KI\",\n \"en-KN\",\n \"en-KY\",\n \"en-LC\",\n \"en-LR\",\n \"en-LS\",\n \"en-MG\",\n \"en-MH\",\n \"en-MO\",\n \"en-MP\",\n \"en-MS\",\n \"en-MT\",\n \"en-MU\",\n \"en-MW\",\n \"en-MY\",\n \"en-NA\",\n \"en-NF\",\n \"en-NG\",\n \"en-NR\",\n \"en-NU\",\n \"en-NZ\",\n \"en-PG\",\n \"en-PH\",\n \"en-PK\",\n \"en-PN\",\n \"en-PR\",\n \"en-PW\",\n \"en-RW\",\n \"en-SB\",\n \"en-SC\",\n \"en-SD\",\n \"en-SG\",\n \"en-SH\",\n \"en-SL\",\n \"en-SS\",\n \"en-SX\",\n \"en-SZ\",\n \"en-TC\",\n \"en-TK\",\n \"en-TO\",\n \"en-TT\",\n \"en-TV\",\n \"en-TZ\",\n \"en-UG\",\n \"en-UM\",\n \"en-US\",\n \"en-US-POSIX\",\n \"en-VC\",\n \"en-VG\",\n \"en-VI\",\n \"en-VU\",\n \"en-WS\",\n \"en-ZA\",\n \"en-ZM\",\n \"en-ZW\",\n \"eo-001\",\n \"es-419\",\n \"es-AR\",\n \"es-BO\",\n \"es-CL\",\n \"es-CO\",\n \"es-CR\",\n \"es-CU\",\n \"es-DO\",\n \"es-EA\",\n \"es-EC\",\n \"es-ES\",\n \"es-GQ\",\n \"es-GT\",\n \"es-HN\",\n \"es-IC\",\n \"es-MX\",\n \"es-NI\",\n \"es-PA\",\n \"es-PE\",\n \"es-PH\",\n \"es-PR\",\n \"es-PY\",\n \"es-SV\",\n \"es-US\",\n \"es-UY\",\n \"es-VE\",\n \"et-EE\",\n \"eu-ES\",\n \"fa-AF\",\n \"fa-IR\",\n \"ff-CM\",\n \"ff-GN\",\n \"ff-MR\",\n \"ff-SN\",\n \"fi-FI\",\n \"fo-FO\",\n \"fr-BE\",\n \"fr-BF\",\n \"fr-BI\",\n \"fr-BJ\",\n \"fr-BL\",\n \"fr-CA\",\n \"fr-CD\",\n \"fr-CF\",\n \"fr-CG\",\n \"fr-CH\",\n \"fr-CI\",\n \"fr-CM\",\n \"fr-DJ\",\n \"fr-DZ\",\n \"fr-FR\",\n \"fr-GA\",\n \"fr-GF\",\n \"fr-GN\",\n \"fr-GP\",\n \"fr-GQ\",\n \"fr-HT\",\n \"fr-KM\",\n \"fr-LU\",\n \"fr-MA\",\n \"fr-MC\",\n \"fr-MF\",\n \"fr-MG\",\n \"fr-ML\",\n \"fr-MQ\",\n \"fr-MR\",\n \"fr-MU\",\n \"fr-NC\",\n \"fr-NE\",\n \"fr-PF\",\n \"fr-PM\",\n \"fr-RE\",\n \"fr-RW\",\n \"fr-SC\",\n \"fr-SN\",\n \"fr-SY\",\n \"fr-TD\",\n \"fr-TG\",\n \"fr-TN\",\n \"fr-VU\",\n \"fr-WF\",\n \"fr-YT\",\n \"fy-NL\",\n \"ga-IE\",\n \"gd-GB\",\n \"gl-ES\",\n \"gu-IN\",\n \"gv-IM\",\n \"ha-Latn\",\n \"ha-Latn-GH\",\n \"ha-Latn-NE\",\n \"ha-Latn-NG\",\n \"he-IL\",\n \"hi-IN\",\n \"hr-BA\",\n \"hr-HR\",\n \"hu-HU\",\n \"hy-AM\",\n \"id-ID\",\n \"ig-NG\",\n \"ii-CN\",\n \"is-IS\",\n \"it-CH\",\n \"it-IT\",\n \"it-SM\",\n \"ja-JP\",\n \"ka-GE\",\n \"ki-KE\",\n \"kk-Cyrl\",\n \"kk-Cyrl-KZ\",\n \"kl-GL\",\n \"km-KH\",\n \"kn-IN\",\n \"ko-KP\",\n \"ko-KR\",\n \"ks-Arab\",\n \"ks-Arab-IN\",\n \"kw-GB\",\n \"ky-Cyrl\",\n \"ky-Cyrl-KG\",\n \"lb-LU\",\n \"lg-UG\",\n \"ln-AO\",\n \"ln-CD\",\n \"ln-CF\",\n \"ln-CG\",\n \"lo-LA\",\n \"lt-LT\",\n \"lu-CD\",\n \"lv-LV\",\n \"mg-MG\",\n \"mk-MK\",\n \"ml-IN\",\n \"mn-Cyrl\",\n \"mn-Cyrl-MN\",\n \"mr-IN\",\n \"ms-Latn\",\n \"ms-Latn-BN\",\n \"ms-Latn-MY\",\n \"ms-Latn-SG\",\n \"mt-MT\",\n \"my-MM\",\n \"nb-NO\",\n \"nb-SJ\",\n \"nd-ZW\",\n \"ne-IN\",\n \"ne-NP\",\n \"nl-AW\",\n \"nl-BE\",\n \"nl-BQ\",\n \"nl-CW\",\n \"nl-NL\",\n \"nl-SR\",\n \"nl-SX\",\n \"nn-NO\",\n \"om-ET\",\n \"om-KE\",\n \"or-IN\",\n \"os-GE\",\n \"os-RU\",\n \"pa-Arab\",\n \"pa-Arab-PK\",\n \"pa-Guru\",\n \"pa-Guru-IN\",\n \"pl-PL\",\n \"ps-AF\",\n \"pt-AO\",\n \"pt-BR\",\n \"pt-CV\",\n \"pt-GW\",\n \"pt-MO\",\n \"pt-MZ\",\n \"pt-PT\",\n \"pt-ST\",\n \"pt-TL\",\n \"qu-BO\",\n \"qu-EC\",\n \"qu-PE\",\n \"rm-CH\",\n \"rn-BI\",\n \"ro-MD\",\n \"ro-RO\",\n \"ru-BY\",\n \"ru-KG\",\n \"ru-KZ\",\n \"ru-MD\",\n \"ru-RU\",\n \"ru-UA\",\n \"rw-RW\",\n \"se-FI\",\n \"se-NO\",\n \"se-SE\",\n \"sg-CF\",\n \"si-LK\",\n \"sk-SK\",\n \"sl-SI\",\n \"sn-ZW\",\n \"so-DJ\",\n \"so-ET\",\n \"so-KE\",\n \"so-SO\",\n \"sq-AL\",\n \"sq-MK\",\n \"sq-XK\",\n \"sr-Cyrl\",\n \"sr-Cyrl-BA\",\n \"sr-Cyrl-ME\",\n \"sr-Cyrl-RS\",\n \"sr-Cyrl-XK\",\n \"sr-Latn\",\n \"sr-Latn-BA\",\n \"sr-Latn-ME\",\n \"sr-Latn-RS\",\n \"sr-Latn-XK\",\n \"sv-AX\",\n \"sv-FI\",\n \"sv-SE\",\n \"sw-CD\",\n \"sw-KE\",\n \"sw-TZ\",\n \"sw-UG\",\n \"ta-IN\",\n \"ta-LK\",\n \"ta-MY\",\n \"ta-SG\",\n \"te-IN\",\n \"th-TH\",\n \"ti-ER\",\n \"ti-ET\",\n \"to-TO\",\n \"tr-CY\",\n \"tr-TR\",\n \"ug-Arab\",\n \"ug-Arab-CN\",\n \"uk-UA\",\n \"ur-IN\",\n \"ur-PK\",\n \"uz-Arab\",\n \"uz-Arab-AF\",\n \"uz-Cyrl\",\n \"uz-Cyrl-UZ\",\n \"uz-Latn\",\n \"uz-Latn-UZ\",\n \"vi-VN\",\n \"yi-001\",\n \"yo-BJ\",\n \"yo-NG\",\n \"zh-Hans\",\n \"zh-Hans-CN\",\n \"zh-Hans-HK\",\n \"zh-Hans-MO\",\n \"zh-Hans-SG\",\n \"zh-Hant\",\n \"zh-Hant-HK\",\n \"zh-Hant-MO\",\n \"zh-Hant-TW\",\n \"zu-ZA\"\n ],\n\n us_states_and_dc: [\n {name: 'Alabama', abbreviation: 'AL'},\n {name: 'Alaska', abbreviation: 'AK'},\n {name: 'Arizona', abbreviation: 'AZ'},\n {name: 'Arkansas', abbreviation: 'AR'},\n {name: 'California', abbreviation: 'CA'},\n {name: 'Colorado', abbreviation: 'CO'},\n {name: 'Connecticut', abbreviation: 'CT'},\n {name: 'Delaware', abbreviation: 'DE'},\n {name: 'District of Columbia', abbreviation: 'DC'},\n {name: 'Florida', abbreviation: 'FL'},\n {name: 'Georgia', abbreviation: 'GA'},\n {name: 'Hawaii', abbreviation: 'HI'},\n {name: 'Idaho', abbreviation: 'ID'},\n {name: 'Illinois', abbreviation: 'IL'},\n {name: 'Indiana', abbreviation: 'IN'},\n {name: 'Iowa', abbreviation: 'IA'},\n {name: 'Kansas', abbreviation: 'KS'},\n {name: 'Kentucky', abbreviation: 'KY'},\n {name: 'Louisiana', abbreviation: 'LA'},\n {name: 'Maine', abbreviation: 'ME'},\n {name: 'Maryland', abbreviation: 'MD'},\n {name: 'Massachusetts', abbreviation: 'MA'},\n {name: 'Michigan', abbreviation: 'MI'},\n {name: 'Minnesota', abbreviation: 'MN'},\n {name: 'Mississippi', abbreviation: 'MS'},\n {name: 'Missouri', abbreviation: 'MO'},\n {name: 'Montana', abbreviation: 'MT'},\n {name: 'Nebraska', abbreviation: 'NE'},\n {name: 'Nevada', abbreviation: 'NV'},\n {name: 'New Hampshire', abbreviation: 'NH'},\n {name: 'New Jersey', abbreviation: 'NJ'},\n {name: 'New Mexico', abbreviation: 'NM'},\n {name: 'New York', abbreviation: 'NY'},\n {name: 'North Carolina', abbreviation: 'NC'},\n {name: 'North Dakota', abbreviation: 'ND'},\n {name: 'Ohio', abbreviation: 'OH'},\n {name: 'Oklahoma', abbreviation: 'OK'},\n {name: 'Oregon', abbreviation: 'OR'},\n {name: 'Pennsylvania', abbreviation: 'PA'},\n {name: 'Rhode Island', abbreviation: 'RI'},\n {name: 'South Carolina', abbreviation: 'SC'},\n {name: 'South Dakota', abbreviation: 'SD'},\n {name: 'Tennessee', abbreviation: 'TN'},\n {name: 'Texas', abbreviation: 'TX'},\n {name: 'Utah', abbreviation: 'UT'},\n {name: 'Vermont', abbreviation: 'VT'},\n {name: 'Virginia', abbreviation: 'VA'},\n {name: 'Washington', abbreviation: 'WA'},\n {name: 'West Virginia', abbreviation: 'WV'},\n {name: 'Wisconsin', abbreviation: 'WI'},\n {name: 'Wyoming', abbreviation: 'WY'}\n ],\n\n territories: [\n {name: 'American Samoa', abbreviation: 'AS'},\n {name: 'Federated States of Micronesia', abbreviation: 'FM'},\n {name: 'Guam', abbreviation: 'GU'},\n {name: 'Marshall Islands', abbreviation: 'MH'},\n {name: 'Northern Mariana Islands', abbreviation: 'MP'},\n {name: 'Puerto Rico', abbreviation: 'PR'},\n {name: 'Virgin Islands, U.S.', abbreviation: 'VI'}\n ],\n\n armed_forces: [\n {name: 'Armed Forces Europe', abbreviation: 'AE'},\n {name: 'Armed Forces Pacific', abbreviation: 'AP'},\n {name: 'Armed Forces the Americas', abbreviation: 'AA'}\n ],\n\n country_regions: {\n it: [\n { name: \"Valle d'Aosta\", abbreviation: \"VDA\" },\n { name: \"Piemonte\", abbreviation: \"PIE\" },\n { name: \"Lombardia\", abbreviation: \"LOM\" },\n { name: \"Veneto\", abbreviation: \"VEN\" },\n { name: \"Trentino Alto Adige\", abbreviation: \"TAA\" },\n { name: \"Friuli Venezia Giulia\", abbreviation: \"FVG\" },\n { name: \"Liguria\", abbreviation: \"LIG\" },\n { name: \"Emilia Romagna\", abbreviation: \"EMR\" },\n { name: \"Toscana\", abbreviation: \"TOS\" },\n { name: \"Umbria\", abbreviation: \"UMB\" },\n { name: \"Marche\", abbreviation: \"MAR\" },\n { name: \"Abruzzo\", abbreviation: \"ABR\" },\n { name: \"Lazio\", abbreviation: \"LAZ\" },\n { name: \"Campania\", abbreviation: \"CAM\" },\n { name: \"Puglia\", abbreviation: \"PUG\" },\n { name: \"Basilicata\", abbreviation: \"BAS\" },\n { name: \"Molise\", abbreviation: \"MOL\" },\n { name: \"Calabria\", abbreviation: \"CAL\" },\n { name: \"Sicilia\", abbreviation: \"SIC\" },\n { name: \"Sardegna\", abbreviation: \"SAR\" }\n ],\n mx: [\n { name: 'Aguascalientes', abbreviation: 'AGU' },\n { name: 'Baja California', abbreviation: 'BCN' },\n { name: 'Baja California Sur', abbreviation: 'BCS' },\n { name: 'Campeche', abbreviation: 'CAM' },\n { name: 'Chiapas', abbreviation: 'CHP' },\n { name: 'Chihuahua', abbreviation: 'CHH' },\n { name: 'Ciudad de México', abbreviation: 'DIF' },\n { name: 'Coahuila', abbreviation: 'COA' },\n { name: 'Colima', abbreviation: 'COL' },\n { name: 'Durango', abbreviation: 'DUR' },\n { name: 'Guanajuato', abbreviation: 'GUA' },\n { name: 'Guerrero', abbreviation: 'GRO' },\n { name: 'Hidalgo', abbreviation: 'HID' },\n { name: 'Jalisco', abbreviation: 'JAL' },\n { name: 'México', abbreviation: 'MEX' },\n { name: 'Michoacán', abbreviation: 'MIC' },\n { name: 'Morelos', abbreviation: 'MOR' },\n { name: 'Nayarit', abbreviation: 'NAY' },\n { name: 'Nuevo León', abbreviation: 'NLE' },\n { name: 'Oaxaca', abbreviation: 'OAX' },\n { name: 'Puebla', abbreviation: 'PUE' },\n { name: 'Querétaro', abbreviation: 'QUE' },\n { name: 'Quintana Roo', abbreviation: 'ROO' },\n { name: 'San Luis Potosí', abbreviation: 'SLP' },\n { name: 'Sinaloa', abbreviation: 'SIN' },\n { name: 'Sonora', abbreviation: 'SON' },\n { name: 'Tabasco', abbreviation: 'TAB' },\n { name: 'Tamaulipas', abbreviation: 'TAM' },\n { name: 'Tlaxcala', abbreviation: 'TLA' },\n { name: 'Veracruz', abbreviation: 'VER' },\n { name: 'Yucatán', abbreviation: 'YUC' },\n { name: 'Zacatecas', abbreviation: 'ZAC' }\n ]\n },\n\n street_suffixes: {\n 'us': [\n {name: 'Avenue', abbreviation: 'Ave'},\n {name: 'Boulevard', abbreviation: 'Blvd'},\n {name: 'Center', abbreviation: 'Ctr'},\n {name: 'Circle', abbreviation: 'Cir'},\n {name: 'Court', abbreviation: 'Ct'},\n {name: 'Drive', abbreviation: 'Dr'},\n {name: 'Extension', abbreviation: 'Ext'},\n {name: 'Glen', abbreviation: 'Gln'},\n {name: 'Grove', abbreviation: 'Grv'},\n {name: 'Heights', abbreviation: 'Hts'},\n {name: 'Highway', abbreviation: 'Hwy'},\n {name: 'Junction', abbreviation: 'Jct'},\n {name: 'Key', abbreviation: 'Key'},\n {name: 'Lane', abbreviation: 'Ln'},\n {name: 'Loop', abbreviation: 'Loop'},\n {name: 'Manor', abbreviation: 'Mnr'},\n {name: 'Mill', abbreviation: 'Mill'},\n {name: 'Park', abbreviation: 'Park'},\n {name: 'Parkway', abbreviation: 'Pkwy'},\n {name: 'Pass', abbreviation: 'Pass'},\n {name: 'Path', abbreviation: 'Path'},\n {name: 'Pike', abbreviation: 'Pike'},\n {name: 'Place', abbreviation: 'Pl'},\n {name: 'Plaza', abbreviation: 'Plz'},\n {name: 'Point', abbreviation: 'Pt'},\n {name: 'Ridge', abbreviation: 'Rdg'},\n {name: 'River', abbreviation: 'Riv'},\n {name: 'Road', abbreviation: 'Rd'},\n {name: 'Square', abbreviation: 'Sq'},\n {name: 'Street', abbreviation: 'St'},\n {name: 'Terrace', abbreviation: 'Ter'},\n {name: 'Trail', abbreviation: 'Trl'},\n {name: 'Turnpike', abbreviation: 'Tpke'},\n {name: 'View', abbreviation: 'Vw'},\n {name: 'Way', abbreviation: 'Way'}\n ],\n 'it': [\n { name: 'Accesso', abbreviation: 'Acc.' },\n { name: 'Alzaia', abbreviation: 'Alz.' },\n { name: 'Arco', abbreviation: 'Arco' },\n { name: 'Archivolto', abbreviation: 'Acv.' },\n { name: 'Arena', abbreviation: 'Arena' },\n { name: 'Argine', abbreviation: 'Argine' },\n { name: 'Bacino', abbreviation: 'Bacino' },\n { name: 'Banchi', abbreviation: 'Banchi' },\n { name: 'Banchina', abbreviation: 'Ban.' },\n { name: 'Bastioni', abbreviation: 'Bas.' },\n { name: 'Belvedere', abbreviation: 'Belv.' },\n { name: 'Borgata', abbreviation: 'B.ta' },\n { name: 'Borgo', abbreviation: 'B.go' },\n { name: 'Calata', abbreviation: 'Cal.' },\n { name: 'Calle', abbreviation: 'Calle' },\n { name: 'Campiello', abbreviation: 'Cam.' },\n { name: 'Campo', abbreviation: 'Cam.' },\n { name: 'Canale', abbreviation: 'Can.' },\n { name: 'Carraia', abbreviation: 'Carr.' },\n { name: 'Cascina', abbreviation: 'Cascina' },\n { name: 'Case sparse', abbreviation: 'c.s.' },\n { name: 'Cavalcavia', abbreviation: 'Cv.' },\n { name: 'Circonvallazione', abbreviation: 'Cv.' },\n { name: 'Complanare', abbreviation: 'C.re' },\n { name: 'Contrada', abbreviation: 'C.da' },\n { name: 'Corso', abbreviation: 'C.so' },\n { name: 'Corte', abbreviation: 'C.te' },\n { name: 'Cortile', abbreviation: 'C.le' },\n { name: 'Diramazione', abbreviation: 'Dir.' },\n { name: 'Fondaco', abbreviation: 'F.co' },\n { name: 'Fondamenta', abbreviation: 'F.ta' },\n { name: 'Fondo', abbreviation: 'F.do' },\n { name: 'Frazione', abbreviation: 'Fr.' },\n { name: 'Isola', abbreviation: 'Is.' },\n { name: 'Largo', abbreviation: 'L.go' },\n { name: 'Litoranea', abbreviation: 'Lit.' },\n { name: 'Lungolago', abbreviation: 'L.go lago' },\n { name: 'Lungo Po', abbreviation: 'l.go Po' },\n { name: 'Molo', abbreviation: 'Molo' },\n { name: 'Mura', abbreviation: 'Mura' },\n { name: 'Passaggio privato', abbreviation: 'pass. priv.' },\n { name: 'Passeggiata', abbreviation: 'Pass.' },\n { name: 'Piazza', abbreviation: 'P.zza' },\n { name: 'Piazzale', abbreviation: 'P.le' },\n { name: 'Ponte', abbreviation: 'P.te' },\n { name: 'Portico', abbreviation: 'P.co' },\n { name: 'Rampa', abbreviation: 'Rampa' },\n { name: 'Regione', abbreviation: 'Reg.' },\n { name: 'Rione', abbreviation: 'R.ne' },\n { name: 'Rio', abbreviation: 'Rio' },\n { name: 'Ripa', abbreviation: 'Ripa' },\n { name: 'Riva', abbreviation: 'Riva' },\n { name: 'Rondò', abbreviation: 'Rondò' },\n { name: 'Rotonda', abbreviation: 'Rot.' },\n { name: 'Sagrato', abbreviation: 'Sagr.' },\n { name: 'Salita', abbreviation: 'Sal.' },\n { name: 'Scalinata', abbreviation: 'Scal.' },\n { name: 'Scalone', abbreviation: 'Scal.' },\n { name: 'Slargo', abbreviation: 'Sl.' },\n { name: 'Sottoportico', abbreviation: 'Sott.' },\n { name: 'Strada', abbreviation: 'Str.' },\n { name: 'Stradale', abbreviation: 'Str.le' },\n { name: 'Strettoia', abbreviation: 'Strett.' },\n { name: 'Traversa', abbreviation: 'Trav.' },\n { name: 'Via', abbreviation: 'V.' },\n { name: 'Viale', abbreviation: 'V.le' },\n { name: 'Vicinale', abbreviation: 'Vic.le' },\n { name: 'Vicolo', abbreviation: 'Vic.' }\n ],\n 'uk' : [\n {name: 'Avenue', abbreviation: 'Ave'},\n {name: 'Close', abbreviation: 'Cl'},\n {name: 'Court', abbreviation: 'Ct'},\n {name: 'Crescent', abbreviation: 'Cr'},\n {name: 'Drive', abbreviation: 'Dr'},\n {name: 'Garden', abbreviation: 'Gdn'},\n {name: 'Gardens', abbreviation: 'Gdns'},\n {name: 'Green', abbreviation: 'Gn'},\n {name: 'Grove', abbreviation: 'Gr'},\n {name: 'Lane', abbreviation: 'Ln'},\n {name: 'Mount', abbreviation: 'Mt'},\n {name: 'Place', abbreviation: 'Pl'},\n {name: 'Park', abbreviation: 'Pk'},\n {name: 'Ridge', abbreviation: 'Rdg'},\n {name: 'Road', abbreviation: 'Rd'},\n {name: 'Square', abbreviation: 'Sq'},\n {name: 'Street', abbreviation: 'St'},\n {name: 'Terrace', abbreviation: 'Ter'},\n {name: 'Valley', abbreviation: 'Val'}\n ]\n },\n\n months: [\n {name: 'January', short_name: 'Jan', numeric: '01', days: 31},\n // Not messing with leap years...\n {name: 'February', short_name: 'Feb', numeric: '02', days: 28},\n {name: 'March', short_name: 'Mar', numeric: '03', days: 31},\n {name: 'April', short_name: 'Apr', numeric: '04', days: 30},\n {name: 'May', short_name: 'May', numeric: '05', days: 31},\n {name: 'June', short_name: 'Jun', numeric: '06', days: 30},\n {name: 'July', short_name: 'Jul', numeric: '07', days: 31},\n {name: 'August', short_name: 'Aug', numeric: '08', days: 31},\n {name: 'September', short_name: 'Sep', numeric: '09', days: 30},\n {name: 'October', short_name: 'Oct', numeric: '10', days: 31},\n {name: 'November', short_name: 'Nov', numeric: '11', days: 30},\n {name: 'December', short_name: 'Dec', numeric: '12', days: 31}\n ],\n\n // http://en.wikipedia.org/wiki/Bank_card_number#Issuer_identification_number_.28IIN.29\n cc_types: [\n {name: \"American Express\", short_name: 'amex', prefix: '34', length: 15},\n {name: \"Bankcard\", short_name: 'bankcard', prefix: '5610', length: 16},\n {name: \"China UnionPay\", short_name: 'chinaunion', prefix: '62', length: 16},\n {name: \"Diners Club Carte Blanche\", short_name: 'dccarte', prefix: '300', length: 14},\n {name: \"Diners Club enRoute\", short_name: 'dcenroute', prefix: '2014', length: 15},\n {name: \"Diners Club International\", short_name: 'dcintl', prefix: '36', length: 14},\n {name: \"Diners Club United States & Canada\", short_name: 'dcusc', prefix: '54', length: 16},\n {name: \"Discover Card\", short_name: 'discover', prefix: '6011', length: 16},\n {name: \"InstaPayment\", short_name: 'instapay', prefix: '637', length: 16},\n {name: \"JCB\", short_name: 'jcb', prefix: '3528', length: 16},\n {name: \"Laser\", short_name: 'laser', prefix: '6304', length: 16},\n {name: \"Maestro\", short_name: 'maestro', prefix: '5018', length: 16},\n {name: \"Mastercard\", short_name: 'mc', prefix: '51', length: 16},\n {name: \"Solo\", short_name: 'solo', prefix: '6334', length: 16},\n {name: \"Switch\", short_name: 'switch', prefix: '4903', length: 16},\n {name: \"Visa\", short_name: 'visa', prefix: '4', length: 16},\n {name: \"Visa Electron\", short_name: 'electron', prefix: '4026', length: 16}\n ],\n\n //return all world currency by ISO 4217\n currency_types: [\n {'code' : 'AED', 'name' : 'United Arab Emirates Dirham'},\n {'code' : 'AFN', 'name' : 'Afghanistan Afghani'},\n {'code' : 'ALL', 'name' : 'Albania Lek'},\n {'code' : 'AMD', 'name' : 'Armenia Dram'},\n {'code' : 'ANG', 'name' : 'Netherlands Antilles Guilder'},\n {'code' : 'AOA', 'name' : 'Angola Kwanza'},\n {'code' : 'ARS', 'name' : 'Argentina Peso'},\n {'code' : 'AUD', 'name' : 'Australia Dollar'},\n {'code' : 'AWG', 'name' : 'Aruba Guilder'},\n {'code' : 'AZN', 'name' : 'Azerbaijan New Manat'},\n {'code' : 'BAM', 'name' : 'Bosnia and Herzegovina Convertible Marka'},\n {'code' : 'BBD', 'name' : 'Barbados Dollar'},\n {'code' : 'BDT', 'name' : 'Bangladesh Taka'},\n {'code' : 'BGN', 'name' : 'Bulgaria Lev'},\n {'code' : 'BHD', 'name' : 'Bahrain Dinar'},\n {'code' : 'BIF', 'name' : 'Burundi Franc'},\n {'code' : 'BMD', 'name' : 'Bermuda Dollar'},\n {'code' : 'BND', 'name' : 'Brunei Darussalam Dollar'},\n {'code' : 'BOB', 'name' : 'Bolivia Boliviano'},\n {'code' : 'BRL', 'name' : 'Brazil Real'},\n {'code' : 'BSD', 'name' : 'Bahamas Dollar'},\n {'code' : 'BTN', 'name' : 'Bhutan Ngultrum'},\n {'code' : 'BWP', 'name' : 'Botswana Pula'},\n {'code' : 'BYR', 'name' : 'Belarus Ruble'},\n {'code' : 'BZD', 'name' : 'Belize Dollar'},\n {'code' : 'CAD', 'name' : 'Canada Dollar'},\n {'code' : 'CDF', 'name' : 'Congo/Kinshasa Franc'},\n {'code' : 'CHF', 'name' : 'Switzerland Franc'},\n {'code' : 'CLP', 'name' : 'Chile Peso'},\n {'code' : 'CNY', 'name' : 'China Yuan Renminbi'},\n {'code' : 'COP', 'name' : 'Colombia Peso'},\n {'code' : 'CRC', 'name' : 'Costa Rica Colon'},\n {'code' : 'CUC', 'name' : 'Cuba Convertible Peso'},\n {'code' : 'CUP', 'name' : 'Cuba Peso'},\n {'code' : 'CVE', 'name' : 'Cape Verde Escudo'},\n {'code' : 'CZK', 'name' : 'Czech Republic Koruna'},\n {'code' : 'DJF', 'name' : 'Djibouti Franc'},\n {'code' : 'DKK', 'name' : 'Denmark Krone'},\n {'code' : 'DOP', 'name' : 'Dominican Republic Peso'},\n {'code' : 'DZD', 'name' : 'Algeria Dinar'},\n {'code' : 'EGP', 'name' : 'Egypt Pound'},\n {'code' : 'ERN', 'name' : 'Eritrea Nakfa'},\n {'code' : 'ETB', 'name' : 'Ethiopia Birr'},\n {'code' : 'EUR', 'name' : 'Euro Member Countries'},\n {'code' : 'FJD', 'name' : 'Fiji Dollar'},\n {'code' : 'FKP', 'name' : 'Falkland Islands (Malvinas) Pound'},\n {'code' : 'GBP', 'name' : 'United Kingdom Pound'},\n {'code' : 'GEL', 'name' : 'Georgia Lari'},\n {'code' : 'GGP', 'name' : 'Guernsey Pound'},\n {'code' : 'GHS', 'name' : 'Ghana Cedi'},\n {'code' : 'GIP', 'name' : 'Gibraltar Pound'},\n {'code' : 'GMD', 'name' : 'Gambia Dalasi'},\n {'code' : 'GNF', 'name' : 'Guinea Franc'},\n {'code' : 'GTQ', 'name' : 'Guatemala Quetzal'},\n {'code' : 'GYD', 'name' : 'Guyana Dollar'},\n {'code' : 'HKD', 'name' : 'Hong Kong Dollar'},\n {'code' : 'HNL', 'name' : 'Honduras Lempira'},\n {'code' : 'HRK', 'name' : 'Croatia Kuna'},\n {'code' : 'HTG', 'name' : 'Haiti Gourde'},\n {'code' : 'HUF', 'name' : 'Hungary Forint'},\n {'code' : 'IDR', 'name' : 'Indonesia Rupiah'},\n {'code' : 'ILS', 'name' : 'Israel Shekel'},\n {'code' : 'IMP', 'name' : 'Isle of Man Pound'},\n {'code' : 'INR', 'name' : 'India Rupee'},\n {'code' : 'IQD', 'name' : 'Iraq Dinar'},\n {'code' : 'IRR', 'name' : 'Iran Rial'},\n {'code' : 'ISK', 'name' : 'Iceland Krona'},\n {'code' : 'JEP', 'name' : 'Jersey Pound'},\n {'code' : 'JMD', 'name' : 'Jamaica Dollar'},\n {'code' : 'JOD', 'name' : 'Jordan Dinar'},\n {'code' : 'JPY', 'name' : 'Japan Yen'},\n {'code' : 'KES', 'name' : 'Kenya Shilling'},\n {'code' : 'KGS', 'name' : 'Kyrgyzstan Som'},\n {'code' : 'KHR', 'name' : 'Cambodia Riel'},\n {'code' : 'KMF', 'name' : 'Comoros Franc'},\n {'code' : 'KPW', 'name' : 'Korea (North) Won'},\n {'code' : 'KRW', 'name' : 'Korea (South) Won'},\n {'code' : 'KWD', 'name' : 'Kuwait Dinar'},\n {'code' : 'KYD', 'name' : 'Cayman Islands Dollar'},\n {'code' : 'KZT', 'name' : 'Kazakhstan Tenge'},\n {'code' : 'LAK', 'name' : 'Laos Kip'},\n {'code' : 'LBP', 'name' : 'Lebanon Pound'},\n {'code' : 'LKR', 'name' : 'Sri Lanka Rupee'},\n {'code' : 'LRD', 'name' : 'Liberia Dollar'},\n {'code' : 'LSL', 'name' : 'Lesotho Loti'},\n {'code' : 'LTL', 'name' : 'Lithuania Litas'},\n {'code' : 'LYD', 'name' : 'Libya Dinar'},\n {'code' : 'MAD', 'name' : 'Morocco Dirham'},\n {'code' : 'MDL', 'name' : 'Moldova Leu'},\n {'code' : 'MGA', 'name' : 'Madagascar Ariary'},\n {'code' : 'MKD', 'name' : 'Macedonia Denar'},\n {'code' : 'MMK', 'name' : 'Myanmar (Burma) Kyat'},\n {'code' : 'MNT', 'name' : 'Mongolia Tughrik'},\n {'code' : 'MOP', 'name' : 'Macau Pataca'},\n {'code' : 'MRO', 'name' : 'Mauritania Ouguiya'},\n {'code' : 'MUR', 'name' : 'Mauritius Rupee'},\n {'code' : 'MVR', 'name' : 'Maldives (Maldive Islands) Rufiyaa'},\n {'code' : 'MWK', 'name' : 'Malawi Kwacha'},\n {'code' : 'MXN', 'name' : 'Mexico Peso'},\n {'code' : 'MYR', 'name' : 'Malaysia Ringgit'},\n {'code' : 'MZN', 'name' : 'Mozambique Metical'},\n {'code' : 'NAD', 'name' : 'Namibia Dollar'},\n {'code' : 'NGN', 'name' : 'Nigeria Naira'},\n {'code' : 'NIO', 'name' : 'Nicaragua Cordoba'},\n {'code' : 'NOK', 'name' : 'Norway Krone'},\n {'code' : 'NPR', 'name' : 'Nepal Rupee'},\n {'code' : 'NZD', 'name' : 'New Zealand Dollar'},\n {'code' : 'OMR', 'name' : 'Oman Rial'},\n {'code' : 'PAB', 'name' : 'Panama Balboa'},\n {'code' : 'PEN', 'name' : 'Peru Nuevo Sol'},\n {'code' : 'PGK', 'name' : 'Papua New Guinea Kina'},\n {'code' : 'PHP', 'name' : 'Philippines Peso'},\n {'code' : 'PKR', 'name' : 'Pakistan Rupee'},\n {'code' : 'PLN', 'name' : 'Poland Zloty'},\n {'code' : 'PYG', 'name' : 'Paraguay Guarani'},\n {'code' : 'QAR', 'name' : 'Qatar Riyal'},\n {'code' : 'RON', 'name' : 'Romania New Leu'},\n {'code' : 'RSD', 'name' : 'Serbia Dinar'},\n {'code' : 'RUB', 'name' : 'Russia Ruble'},\n {'code' : 'RWF', 'name' : 'Rwanda Franc'},\n {'code' : 'SAR', 'name' : 'Saudi Arabia Riyal'},\n {'code' : 'SBD', 'name' : 'Solomon Islands Dollar'},\n {'code' : 'SCR', 'name' : 'Seychelles Rupee'},\n {'code' : 'SDG', 'name' : 'Sudan Pound'},\n {'code' : 'SEK', 'name' : 'Sweden Krona'},\n {'code' : 'SGD', 'name' : 'Singapore Dollar'},\n {'code' : 'SHP', 'name' : 'Saint Helena Pound'},\n {'code' : 'SLL', 'name' : 'Sierra Leone Leone'},\n {'code' : 'SOS', 'name' : 'Somalia Shilling'},\n {'code' : 'SPL', 'name' : 'Seborga Luigino'},\n {'code' : 'SRD', 'name' : 'Suriname Dollar'},\n {'code' : 'STD', 'name' : 'São Tomé and Príncipe Dobra'},\n {'code' : 'SVC', 'name' : 'El Salvador Colon'},\n {'code' : 'SYP', 'name' : 'Syria Pound'},\n {'code' : 'SZL', 'name' : 'Swaziland Lilangeni'},\n {'code' : 'THB', 'name' : 'Thailand Baht'},\n {'code' : 'TJS', 'name' : 'Tajikistan Somoni'},\n {'code' : 'TMT', 'name' : 'Turkmenistan Manat'},\n {'code' : 'TND', 'name' : 'Tunisia Dinar'},\n {'code' : 'TOP', 'name' : 'Tonga Pa\\'anga'},\n {'code' : 'TRY', 'name' : 'Turkey Lira'},\n {'code' : 'TTD', 'name' : 'Trinidad and Tobago Dollar'},\n {'code' : 'TVD', 'name' : 'Tuvalu Dollar'},\n {'code' : 'TWD', 'name' : 'Taiwan New Dollar'},\n {'code' : 'TZS', 'name' : 'Tanzania Shilling'},\n {'code' : 'UAH', 'name' : 'Ukraine Hryvnia'},\n {'code' : 'UGX', 'name' : 'Uganda Shilling'},\n {'code' : 'USD', 'name' : 'United States Dollar'},\n {'code' : 'UYU', 'name' : 'Uruguay Peso'},\n {'code' : 'UZS', 'name' : 'Uzbekistan Som'},\n {'code' : 'VEF', 'name' : 'Venezuela Bolivar'},\n {'code' : 'VND', 'name' : 'Viet Nam Dong'},\n {'code' : 'VUV', 'name' : 'Vanuatu Vatu'},\n {'code' : 'WST', 'name' : 'Samoa Tala'},\n {'code' : 'XAF', 'name' : 'Communauté Financière Africaine (BEAC) CFA Franc BEAC'},\n {'code' : 'XCD', 'name' : 'East Caribbean Dollar'},\n {'code' : 'XDR', 'name' : 'International Monetary Fund (IMF) Special Drawing Rights'},\n {'code' : 'XOF', 'name' : 'Communauté Financière Africaine (BCEAO) Franc'},\n {'code' : 'XPF', 'name' : 'Comptoirs Français du Pacifique (CFP) Franc'},\n {'code' : 'YER', 'name' : 'Yemen Rial'},\n {'code' : 'ZAR', 'name' : 'South Africa Rand'},\n {'code' : 'ZMW', 'name' : 'Zambia Kwacha'},\n {'code' : 'ZWD', 'name' : 'Zimbabwe Dollar'}\n ],\n\n // return the names of all valide colors\n colorNames : [ \"AliceBlue\", \"Black\", \"Navy\", \"DarkBlue\", \"MediumBlue\", \"Blue\", \"DarkGreen\", \"Green\", \"Teal\", \"DarkCyan\", \"DeepSkyBlue\", \"DarkTurquoise\", \"MediumSpringGreen\", \"Lime\", \"SpringGreen\",\n \"Aqua\", \"Cyan\", \"MidnightBlue\", \"DodgerBlue\", \"LightSeaGreen\", \"ForestGreen\", \"SeaGreen\", \"DarkSlateGray\", \"LimeGreen\", \"MediumSeaGreen\", \"Turquoise\", \"RoyalBlue\", \"SteelBlue\", \"DarkSlateBlue\", \"MediumTurquoise\",\n \"Indigo\", \"DarkOliveGreen\", \"CadetBlue\", \"CornflowerBlue\", \"RebeccaPurple\", \"MediumAquaMarine\", \"DimGray\", \"SlateBlue\", \"OliveDrab\", \"SlateGray\", \"LightSlateGray\", \"MediumSlateBlue\", \"LawnGreen\", \"Chartreuse\",\n \"Aquamarine\", \"Maroon\", \"Purple\", \"Olive\", \"Gray\", \"SkyBlue\", \"LightSkyBlue\", \"BlueViolet\", \"DarkRed\", \"DarkMagenta\", \"SaddleBrown\", \"Ivory\", \"White\",\n \"DarkSeaGreen\", \"LightGreen\", \"MediumPurple\", \"DarkViolet\", \"PaleGreen\", \"DarkOrchid\", \"YellowGreen\", \"Sienna\", \"Brown\", \"DarkGray\", \"LightBlue\", \"GreenYellow\", \"PaleTurquoise\", \"LightSteelBlue\", \"PowderBlue\",\n \"FireBrick\", \"DarkGoldenRod\", \"MediumOrchid\", \"RosyBrown\", \"DarkKhaki\", \"Silver\", \"MediumVioletRed\", \"IndianRed\", \"Peru\", \"Chocolate\", \"Tan\", \"LightGray\", \"Thistle\", \"Orchid\", \"GoldenRod\", \"PaleVioletRed\",\n \"Crimson\", \"Gainsboro\", \"Plum\", \"BurlyWood\", \"LightCyan\", \"Lavender\", \"DarkSalmon\", \"Violet\", \"PaleGoldenRod\", \"LightCoral\", \"Khaki\", \"AliceBlue\", \"HoneyDew\", \"Azure\", \"SandyBrown\", \"Wheat\", \"Beige\", \"WhiteSmoke\",\n \"MintCream\", \"GhostWhite\", \"Salmon\", \"AntiqueWhite\", \"Linen\", \"LightGoldenRodYellow\", \"OldLace\", \"Red\", \"Fuchsia\", \"Magenta\", \"DeepPink\", \"OrangeRed\", \"Tomato\", \"HotPink\", \"Coral\", \"DarkOrange\", \"LightSalmon\", \"Orange\",\n \"LightPink\", \"Pink\", \"Gold\", \"PeachPuff\", \"NavajoWhite\", \"Moccasin\", \"Bisque\", \"MistyRose\", \"BlanchedAlmond\", \"PapayaWhip\", \"LavenderBlush\", \"SeaShell\", \"Cornsilk\", \"LemonChiffon\", \"FloralWhite\", \"Snow\", \"Yellow\", \"LightYellow\"\n ],\n\n // Data taken from https://www.sec.gov/rules/other/4-460list.htm\n company: [ \"3Com Corp\",\n \"3M Company\",\n \"A.G. Edwards Inc.\",\n \"Abbott Laboratories\",\n \"Abercrombie & Fitch Co.\",\n \"ABM Industries Incorporated\",\n \"Ace Hardware Corporation\",\n \"ACT Manufacturing Inc.\",\n \"Acterna Corp.\",\n \"Adams Resources & Energy, Inc.\",\n \"ADC Telecommunications, Inc.\",\n \"Adelphia Communications Corporation\",\n \"Administaff, Inc.\",\n \"Adobe Systems Incorporated\",\n \"Adolph Coors Company\",\n \"Advance Auto Parts, Inc.\",\n \"Advanced Micro Devices, Inc.\",\n \"AdvancePCS, Inc.\",\n \"Advantica Restaurant Group, Inc.\",\n \"The AES Corporation\",\n \"Aetna Inc.\",\n \"Affiliated Computer Services, Inc.\",\n \"AFLAC Incorporated\",\n \"AGCO Corporation\",\n \"Agilent Technologies, Inc.\",\n \"Agway Inc.\",\n \"Apartment Investment and Management Company\",\n \"Air Products and Chemicals, Inc.\",\n \"Airborne, Inc.\",\n \"Airgas, Inc.\",\n \"AK Steel Holding Corporation\",\n \"Alaska Air Group, Inc.\",\n \"Alberto-Culver Company\",\n \"Albertson's, Inc.\",\n \"Alcoa Inc.\",\n \"Alleghany Corporation\",\n \"Allegheny Energy, Inc.\",\n \"Allegheny Technologies Incorporated\",\n \"Allergan, Inc.\",\n \"ALLETE, Inc.\",\n \"Alliant Energy Corporation\",\n \"Allied Waste Industries, Inc.\",\n \"Allmerica Financial Corporation\",\n \"The Allstate Corporation\",\n \"ALLTEL Corporation\",\n \"The Alpine Group, Inc.\",\n \"Amazon.com, Inc.\",\n \"AMC Entertainment Inc.\",\n \"American Power Conversion Corporation\",\n \"Amerada Hess Corporation\",\n \"AMERCO\",\n \"Ameren Corporation\",\n \"America West Holdings Corporation\",\n \"American Axle & Manufacturing Holdings, Inc.\",\n \"American Eagle Outfitters, Inc.\",\n \"American Electric Power Company, Inc.\",\n \"American Express Company\",\n \"American Financial Group, Inc.\",\n \"American Greetings Corporation\",\n \"American International Group, Inc.\",\n \"American Standard Companies Inc.\",\n \"American Water Works Company, Inc.\",\n \"AmerisourceBergen Corporation\",\n \"Ames Department Stores, Inc.\",\n \"Amgen Inc.\",\n \"Amkor Technology, Inc.\",\n \"AMR Corporation\",\n \"AmSouth Bancorp.\",\n \"Amtran, Inc.\",\n \"Anadarko Petroleum Corporation\",\n \"Analog Devices, Inc.\",\n \"Anheuser-Busch Companies, Inc.\",\n \"Anixter International Inc.\",\n \"AnnTaylor Inc.\",\n \"Anthem, Inc.\",\n \"AOL Time Warner Inc.\",\n \"Aon Corporation\",\n \"Apache Corporation\",\n \"Apple Computer, Inc.\",\n \"Applera Corporation\",\n \"Applied Industrial Technologies, Inc.\",\n \"Applied Materials, Inc.\",\n \"Aquila, Inc.\",\n \"ARAMARK Corporation\",\n \"Arch Coal, Inc.\",\n \"Archer Daniels Midland Company\",\n \"Arkansas Best Corporation\",\n \"Armstrong Holdings, Inc.\",\n \"Arrow Electronics, Inc.\",\n \"ArvinMeritor, Inc.\",\n \"Ashland Inc.\",\n \"Astoria Financial Corporation\",\n \"AT&T Corp.\",\n \"Atmel Corporation\",\n \"Atmos Energy Corporation\",\n \"Audiovox Corporation\",\n \"Autoliv, Inc.\",\n \"Automatic Data Processing, Inc.\",\n \"AutoNation, Inc.\",\n \"AutoZone, Inc.\",\n \"Avaya Inc.\",\n \"Avery Dennison Corporation\",\n \"Avista Corporation\",\n \"Avnet, Inc.\",\n \"Avon Products, Inc.\",\n \"Baker Hughes Incorporated\",\n \"Ball Corporation\",\n \"Bank of America Corporation\",\n \"The Bank of New York Company, Inc.\",\n \"Bank One Corporation\",\n \"Banknorth Group, Inc.\",\n \"Banta Corporation\",\n \"Barnes & Noble, Inc.\",\n \"Bausch & Lomb Incorporated\",\n \"Baxter International Inc.\",\n \"BB&T Corporation\",\n \"The Bear Stearns Companies Inc.\",\n \"Beazer Homes USA, Inc.\",\n \"Beckman Coulter, Inc.\",\n \"Becton, Dickinson and Company\",\n \"Bed Bath & Beyond Inc.\",\n \"Belk, Inc.\",\n \"Bell Microproducts Inc.\",\n \"BellSouth Corporation\",\n \"Belo Corp.\",\n \"Bemis Company, Inc.\",\n \"Benchmark Electronics, Inc.\",\n \"Berkshire Hathaway Inc.\",\n \"Best Buy Co., Inc.\",\n \"Bethlehem Steel Corporation\",\n \"Beverly Enterprises, Inc.\",\n \"Big Lots, Inc.\",\n \"BJ Services Company\",\n \"BJ's Wholesale Club, Inc.\",\n \"The Black & Decker Corporation\",\n \"Black Hills Corporation\",\n \"BMC Software, Inc.\",\n \"The Boeing Company\",\n \"Boise Cascade Corporation\",\n \"Borders Group, Inc.\",\n \"BorgWarner Inc.\",\n \"Boston Scientific Corporation\",\n \"Bowater Incorporated\",\n \"Briggs & Stratton Corporation\",\n \"Brightpoint, Inc.\",\n \"Brinker International, Inc.\",\n \"Bristol-Myers Squibb Company\",\n \"Broadwing, Inc.\",\n \"Brown Shoe Company, Inc.\",\n \"Brown-Forman Corporation\",\n \"Brunswick Corporation\",\n \"Budget Group, Inc.\",\n \"Burlington Coat Factory Warehouse Corporation\",\n \"Burlington Industries, Inc.\",\n \"Burlington Northern Santa Fe Corporation\",\n \"Burlington Resources Inc.\",\n \"C. H. Robinson Worldwide Inc.\",\n \"Cablevision Systems Corp\",\n \"Cabot Corp\",\n \"Cadence Design Systems, Inc.\",\n \"Calpine Corp.\",\n \"Campbell Soup Co.\",\n \"Capital One Financial Corp.\",\n \"Cardinal Health Inc.\",\n \"Caremark Rx Inc.\",\n \"Carlisle Cos. Inc.\",\n \"Carpenter Technology Corp.\",\n \"Casey's General Stores Inc.\",\n \"Caterpillar Inc.\",\n \"CBRL Group Inc.\",\n \"CDI Corp.\",\n \"CDW Computer Centers Inc.\",\n \"CellStar Corp.\",\n \"Cendant Corp\",\n \"Cenex Harvest States Cooperatives\",\n \"Centex Corp.\",\n \"CenturyTel Inc.\",\n \"Ceridian Corp.\",\n \"CH2M Hill Cos. Ltd.\",\n \"Champion Enterprises Inc.\",\n \"Charles Schwab Corp.\",\n \"Charming Shoppes Inc.\",\n \"Charter Communications Inc.\",\n \"Charter One Financial Inc.\",\n \"ChevronTexaco Corp.\",\n \"Chiquita Brands International Inc.\",\n \"Chubb Corp\",\n \"Ciena Corp.\",\n \"Cigna Corp\",\n \"Cincinnati Financial Corp.\",\n \"Cinergy Corp.\",\n \"Cintas Corp.\",\n \"Circuit City Stores Inc.\",\n \"Cisco Systems Inc.\",\n \"Citigroup, Inc\",\n \"Citizens Communications Co.\",\n \"CKE Restaurants Inc.\",\n \"Clear Channel Communications Inc.\",\n \"The Clorox Co.\",\n \"CMGI Inc.\",\n \"CMS Energy Corp.\",\n \"CNF Inc.\",\n \"Coca-Cola Co.\",\n \"Coca-Cola Enterprises Inc.\",\n \"Colgate-Palmolive Co.\",\n \"Collins & Aikman Corp.\",\n \"Comcast Corp.\",\n \"Comdisco Inc.\",\n \"Comerica Inc.\",\n \"Comfort Systems USA Inc.\",\n \"Commercial Metals Co.\",\n \"Community Health Systems Inc.\",\n \"Compass Bancshares Inc\",\n \"Computer Associates International Inc.\",\n \"Computer Sciences Corp.\",\n \"Compuware Corp.\",\n \"Comverse Technology Inc.\",\n \"ConAgra Foods Inc.\",\n \"Concord EFS Inc.\",\n \"Conectiv, Inc\",\n \"Conoco Inc\",\n \"Conseco Inc.\",\n \"Consolidated Freightways Corp.\",\n \"Consolidated Edison Inc.\",\n \"Constellation Brands Inc.\",\n \"Constellation Emergy Group Inc.\",\n \"Continental Airlines Inc.\",\n \"Convergys Corp.\",\n \"Cooper Cameron Corp.\",\n \"Cooper Industries Ltd.\",\n \"Cooper Tire & Rubber Co.\",\n \"Corn Products International Inc.\",\n \"Corning Inc.\",\n \"Costco Wholesale Corp.\",\n \"Countrywide Credit Industries Inc.\",\n \"Coventry Health Care Inc.\",\n \"Cox Communications Inc.\",\n \"Crane Co.\",\n \"Crompton Corp.\",\n \"Crown Cork & Seal Co. Inc.\",\n \"CSK Auto Corp.\",\n \"CSX Corp.\",\n \"Cummins Inc.\",\n \"CVS Corp.\",\n \"Cytec Industries Inc.\",\n \"D&K Healthcare Resources, Inc.\",\n \"D.R. Horton Inc.\",\n \"Dana Corporation\",\n \"Danaher Corporation\",\n \"Darden Restaurants Inc.\",\n \"DaVita Inc.\",\n \"Dean Foods Company\",\n \"Deere & Company\",\n \"Del Monte Foods Co\",\n \"Dell Computer Corporation\",\n \"Delphi Corp.\",\n \"Delta Air Lines Inc.\",\n \"Deluxe Corporation\",\n \"Devon Energy Corporation\",\n \"Di Giorgio Corporation\",\n \"Dial Corporation\",\n \"Diebold Incorporated\",\n \"Dillard's Inc.\",\n \"DIMON Incorporated\",\n \"Dole Food Company, Inc.\",\n \"Dollar General Corporation\",\n \"Dollar Tree Stores, Inc.\",\n \"Dominion Resources, Inc.\",\n \"Domino's Pizza LLC\",\n \"Dover Corporation, Inc.\",\n \"Dow Chemical Company\",\n \"Dow Jones & Company, Inc.\",\n \"DPL Inc.\",\n \"DQE Inc.\",\n \"Dreyer's Grand Ice Cream, Inc.\",\n \"DST Systems, Inc.\",\n \"DTE Energy Co.\",\n \"E.I. Du Pont de Nemours and Company\",\n \"Duke Energy Corp\",\n \"Dun & Bradstreet Inc.\",\n \"DURA Automotive Systems Inc.\",\n \"DynCorp\",\n \"Dynegy Inc.\",\n \"E*Trade Group, Inc.\",\n \"E.W. Scripps Company\",\n \"Earthlink, Inc.\",\n \"Eastman Chemical Company\",\n \"Eastman Kodak Company\",\n \"Eaton Corporation\",\n \"Echostar Communications Corporation\",\n \"Ecolab Inc.\",\n \"Edison International\",\n \"EGL Inc.\",\n \"El Paso Corporation\",\n \"Electronic Arts Inc.\",\n \"Electronic Data Systems Corp.\",\n \"Eli Lilly and Company\",\n \"EMC Corporation\",\n \"Emcor Group Inc.\",\n \"Emerson Electric Co.\",\n \"Encompass Services Corporation\",\n \"Energizer Holdings Inc.\",\n \"Energy East Corporation\",\n \"Engelhard Corporation\",\n \"Enron Corp.\",\n \"Entergy Corporation\",\n \"Enterprise Products Partners L.P.\",\n \"EOG Resources, Inc.\",\n \"Equifax Inc.\",\n \"Equitable Resources Inc.\",\n \"Equity Office Properties Trust\",\n \"Equity Residential Properties Trust\",\n \"Estee Lauder Companies Inc.\",\n \"Exelon Corporation\",\n \"Exide Technologies\",\n \"Expeditors International of Washington Inc.\",\n \"Express Scripts Inc.\",\n \"ExxonMobil Corporation\",\n \"Fairchild Semiconductor International Inc.\",\n \"Family Dollar Stores Inc.\",\n \"Farmland Industries Inc.\",\n \"Federal Mogul Corp.\",\n \"Federated Department Stores Inc.\",\n \"Federal Express Corp.\",\n \"Felcor Lodging Trust Inc.\",\n \"Ferro Corp.\",\n \"Fidelity National Financial Inc.\",\n \"Fifth Third Bancorp\",\n \"First American Financial Corp.\",\n \"First Data Corp.\",\n \"First National of Nebraska Inc.\",\n \"First Tennessee National Corp.\",\n \"FirstEnergy Corp.\",\n \"Fiserv Inc.\",\n \"Fisher Scientific International Inc.\",\n \"FleetBoston Financial Co.\",\n \"Fleetwood Enterprises Inc.\",\n \"Fleming Companies Inc.\",\n \"Flowers Foods Inc.\",\n \"Flowserv Corp\",\n \"Fluor Corp\",\n \"FMC Corp\",\n \"Foamex International Inc\",\n \"Foot Locker Inc\",\n \"Footstar Inc.\",\n \"Ford Motor Co\",\n \"Forest Laboratories Inc.\",\n \"Fortune Brands Inc.\",\n \"Foster Wheeler Ltd.\",\n \"FPL Group Inc.\",\n \"Franklin Resources Inc.\",\n \"Freeport McMoran Copper & Gold Inc.\",\n \"Frontier Oil Corp\",\n \"Furniture Brands International Inc.\",\n \"Gannett Co., Inc.\",\n \"Gap Inc.\",\n \"Gateway Inc.\",\n \"GATX Corporation\",\n \"Gemstar-TV Guide International Inc.\",\n \"GenCorp Inc.\",\n \"General Cable Corporation\",\n \"General Dynamics Corporation\",\n \"General Electric Company\",\n \"General Mills Inc\",\n \"General Motors Corporation\",\n \"Genesis Health Ventures Inc.\",\n \"Gentek Inc.\",\n \"Gentiva Health Services Inc.\",\n \"Genuine Parts Company\",\n \"Genuity Inc.\",\n \"Genzyme Corporation\",\n \"Georgia Gulf Corporation\",\n \"Georgia-Pacific Corporation\",\n \"Gillette Company\",\n \"Gold Kist Inc.\",\n \"Golden State Bancorp Inc.\",\n \"Golden West Financial Corporation\",\n \"Goldman Sachs Group Inc.\",\n \"Goodrich Corporation\",\n \"The Goodyear Tire & Rubber Company\",\n \"Granite Construction Incorporated\",\n \"Graybar Electric Company Inc.\",\n \"Great Lakes Chemical Corporation\",\n \"Great Plains Energy Inc.\",\n \"GreenPoint Financial Corp.\",\n \"Greif Bros. Corporation\",\n \"Grey Global Group Inc.\",\n \"Group 1 Automotive Inc.\",\n \"Guidant Corporation\",\n \"H&R Block Inc.\",\n \"H.B. Fuller Company\",\n \"H.J. Heinz Company\",\n \"Halliburton Co.\",\n \"Harley-Davidson Inc.\",\n \"Harman International Industries Inc.\",\n \"Harrah's Entertainment Inc.\",\n \"Harris Corp.\",\n \"Harsco Corp.\",\n \"Hartford Financial Services Group Inc.\",\n \"Hasbro Inc.\",\n \"Hawaiian Electric Industries Inc.\",\n \"HCA Inc.\",\n \"Health Management Associates Inc.\",\n \"Health Net Inc.\",\n \"Healthsouth Corp\",\n \"Henry Schein Inc.\",\n \"Hercules Inc.\",\n \"Herman Miller Inc.\",\n \"Hershey Foods Corp.\",\n \"Hewlett-Packard Company\",\n \"Hibernia Corp.\",\n \"Hillenbrand Industries Inc.\",\n \"Hilton Hotels Corp.\",\n \"Hollywood Entertainment Corp.\",\n \"Home Depot Inc.\",\n \"Hon Industries Inc.\",\n \"Honeywell International Inc.\",\n \"Hormel Foods Corp.\",\n \"Host Marriott Corp.\",\n \"Household International Corp.\",\n \"Hovnanian Enterprises Inc.\",\n \"Hub Group Inc.\",\n \"Hubbell Inc.\",\n \"Hughes Supply Inc.\",\n \"Humana Inc.\",\n \"Huntington Bancshares Inc.\",\n \"Idacorp Inc.\",\n \"IDT Corporation\",\n \"IKON Office Solutions Inc.\",\n \"Illinois Tool Works Inc.\",\n \"IMC Global Inc.\",\n \"Imperial Sugar Company\",\n \"IMS Health Inc.\",\n \"Ingles Market Inc\",\n \"Ingram Micro Inc.\",\n \"Insight Enterprises Inc.\",\n \"Integrated Electrical Services Inc.\",\n \"Intel Corporation\",\n \"International Paper Co.\",\n \"Interpublic Group of Companies Inc.\",\n \"Interstate Bakeries Corporation\",\n \"International Business Machines Corp.\",\n \"International Flavors & Fragrances Inc.\",\n \"International Multifoods Corporation\",\n \"Intuit Inc.\",\n \"IT Group Inc.\",\n \"ITT Industries Inc.\",\n \"Ivax Corp.\",\n \"J.B. Hunt Transport Services Inc.\",\n \"J.C. Penny Co.\",\n \"J.P. Morgan Chase & Co.\",\n \"Jabil Circuit Inc.\",\n \"Jack In The Box Inc.\",\n \"Jacobs Engineering Group Inc.\",\n \"JDS Uniphase Corp.\",\n \"Jefferson-Pilot Co.\",\n \"John Hancock Financial Services Inc.\",\n \"Johnson & Johnson\",\n \"Johnson Controls Inc.\",\n \"Jones Apparel Group Inc.\",\n \"KB Home\",\n \"Kellogg Company\",\n \"Kellwood Company\",\n \"Kelly Services Inc.\",\n \"Kemet Corp.\",\n \"Kennametal Inc.\",\n \"Kerr-McGee Corporation\",\n \"KeyCorp\",\n \"KeySpan Corp.\",\n \"Kimball International Inc.\",\n \"Kimberly-Clark Corporation\",\n \"Kindred Healthcare Inc.\",\n \"KLA-Tencor Corporation\",\n \"K-Mart Corp.\",\n \"Knight-Ridder Inc.\",\n \"Kohl's Corp.\",\n \"KPMG Consulting Inc.\",\n \"Kroger Co.\",\n \"L-3 Communications Holdings Inc.\",\n \"Laboratory Corporation of America Holdings\",\n \"Lam Research Corporation\",\n \"LandAmerica Financial Group Inc.\",\n \"Lands' End Inc.\",\n \"Landstar System Inc.\",\n \"La-Z-Boy Inc.\",\n \"Lear Corporation\",\n \"Legg Mason Inc.\",\n \"Leggett & Platt Inc.\",\n \"Lehman Brothers Holdings Inc.\",\n \"Lennar Corporation\",\n \"Lennox International Inc.\",\n \"Level 3 Communications Inc.\",\n \"Levi Strauss & Co.\",\n \"Lexmark International Inc.\",\n \"Limited Inc.\",\n \"Lincoln National Corporation\",\n \"Linens 'n Things Inc.\",\n \"Lithia Motors Inc.\",\n \"Liz Claiborne Inc.\",\n \"Lockheed Martin Corporation\",\n \"Loews Corporation\",\n \"Longs Drug Stores Corporation\",\n \"Louisiana-Pacific Corporation\",\n \"Lowe's Companies Inc.\",\n \"LSI Logic Corporation\",\n \"The LTV Corporation\",\n \"The Lubrizol Corporation\",\n \"Lucent Technologies Inc.\",\n \"Lyondell Chemical Company\",\n \"M & T Bank Corporation\",\n \"Magellan Health Services Inc.\",\n \"Mail-Well Inc.\",\n \"Mandalay Resort Group\",\n \"Manor Care Inc.\",\n \"Manpower Inc.\",\n \"Marathon Oil Corporation\",\n \"Mariner Health Care Inc.\",\n \"Markel Corporation\",\n \"Marriott International Inc.\",\n \"Marsh & McLennan Companies Inc.\",\n \"Marsh Supermarkets Inc.\",\n \"Marshall & Ilsley Corporation\",\n \"Martin Marietta Materials Inc.\",\n \"Masco Corporation\",\n \"Massey Energy Company\",\n \"MasTec Inc.\",\n \"Mattel Inc.\",\n \"Maxim Integrated Products Inc.\",\n \"Maxtor Corporation\",\n \"Maxxam Inc.\",\n \"The May Department Stores Company\",\n \"Maytag Corporation\",\n \"MBNA Corporation\",\n \"McCormick & Company Incorporated\",\n \"McDonald's Corporation\",\n \"The McGraw-Hill Companies Inc.\",\n \"McKesson Corporation\",\n \"McLeodUSA Incorporated\",\n \"M.D.C. Holdings Inc.\",\n \"MDU Resources Group Inc.\",\n \"MeadWestvaco Corporation\",\n \"Medtronic Inc.\",\n \"Mellon Financial Corporation\",\n \"The Men's Wearhouse Inc.\",\n \"Merck & Co., Inc.\",\n \"Mercury General Corporation\",\n \"Merrill Lynch & Co. Inc.\",\n \"Metaldyne Corporation\",\n \"Metals USA Inc.\",\n \"MetLife Inc.\",\n \"Metris Companies Inc\",\n \"MGIC Investment Corporation\",\n \"MGM Mirage\",\n \"Michaels Stores Inc.\",\n \"Micron Technology Inc.\",\n \"Microsoft Corporation\",\n \"Milacron Inc.\",\n \"Millennium Chemicals Inc.\",\n \"Mirant Corporation\",\n \"Mohawk Industries Inc.\",\n \"Molex Incorporated\",\n \"The MONY Group Inc.\",\n \"Morgan Stanley Dean Witter & Co.\",\n \"Motorola Inc.\",\n \"MPS Group Inc.\",\n \"Murphy Oil Corporation\",\n \"Nabors Industries Inc\",\n \"Nacco Industries Inc\",\n \"Nash Finch Company\",\n \"National City Corp.\",\n \"National Commerce Financial Corporation\",\n \"National Fuel Gas Company\",\n \"National Oilwell Inc\",\n \"National Rural Utilities Cooperative Finance Corporation\",\n \"National Semiconductor Corporation\",\n \"National Service Industries Inc\",\n \"Navistar International Corporation\",\n \"NCR Corporation\",\n \"The Neiman Marcus Group Inc.\",\n \"New Jersey Resources Corporation\",\n \"New York Times Company\",\n \"Newell Rubbermaid Inc\",\n \"Newmont Mining Corporation\",\n \"Nextel Communications Inc\",\n \"Nicor Inc\",\n \"Nike Inc\",\n \"NiSource Inc\",\n \"Noble Energy Inc\",\n \"Nordstrom Inc\",\n \"Norfolk Southern Corporation\",\n \"Nortek Inc\",\n \"North Fork Bancorporation Inc\",\n \"Northeast Utilities System\",\n \"Northern Trust Corporation\",\n \"Northrop Grumman Corporation\",\n \"NorthWestern Corporation\",\n \"Novellus Systems Inc\",\n \"NSTAR\",\n \"NTL Incorporated\",\n \"Nucor Corp\",\n \"Nvidia Corp\",\n \"NVR Inc\",\n \"Northwest Airlines Corp\",\n \"Occidental Petroleum Corp\",\n \"Ocean Energy Inc\",\n \"Office Depot Inc.\",\n \"OfficeMax Inc\",\n \"OGE Energy Corp\",\n \"Oglethorpe Power Corp.\",\n \"Ohio Casualty Corp.\",\n \"Old Republic International Corp.\",\n \"Olin Corp.\",\n \"OM Group Inc\",\n \"Omnicare Inc\",\n \"Omnicom Group\",\n \"On Semiconductor Corp\",\n \"ONEOK Inc\",\n \"Oracle Corp\",\n \"Oshkosh Truck Corp\",\n \"Outback Steakhouse Inc.\",\n \"Owens & Minor Inc.\",\n \"Owens Corning\",\n \"Owens-Illinois Inc\",\n \"Oxford Health Plans Inc\",\n \"Paccar Inc\",\n \"PacifiCare Health Systems Inc\",\n \"Packaging Corp. of America\",\n \"Pactiv Corp\",\n \"Pall Corp\",\n \"Pantry Inc\",\n \"Park Place Entertainment Corp\",\n \"Parker Hannifin Corp.\",\n \"Pathmark Stores Inc.\",\n \"Paychex Inc\",\n \"Payless Shoesource Inc\",\n \"Penn Traffic Co.\",\n \"Pennzoil-Quaker State Company\",\n \"Pentair Inc\",\n \"Peoples Energy Corp.\",\n \"PeopleSoft Inc\",\n \"Pep Boys Manny, Moe & Jack\",\n \"Potomac Electric Power Co.\",\n \"Pepsi Bottling Group Inc.\",\n \"PepsiAmericas Inc.\",\n \"PepsiCo Inc.\",\n \"Performance Food Group Co.\",\n \"Perini Corp\",\n \"PerkinElmer Inc\",\n \"Perot Systems Corp\",\n \"Petco Animal Supplies Inc.\",\n \"Peter Kiewit Sons', Inc.\",\n \"PETsMART Inc\",\n \"Pfizer Inc\",\n \"Pacific Gas & Electric Corp.\",\n \"Pharmacia Corp\",\n \"Phar Mor Inc.\",\n \"Phelps Dodge Corp.\",\n \"Philip Morris Companies Inc.\",\n \"Phillips Petroleum Co\",\n \"Phillips Van Heusen Corp.\",\n \"Phoenix Companies Inc\",\n \"Pier 1 Imports Inc.\",\n \"Pilgrim's Pride Corporation\",\n \"Pinnacle West Capital Corp\",\n \"Pioneer-Standard Electronics Inc.\",\n \"Pitney Bowes Inc.\",\n \"Pittston Brinks Group\",\n \"Plains All American Pipeline LP\",\n \"PNC Financial Services Group Inc.\",\n \"PNM Resources Inc\",\n \"Polaris Industries Inc.\",\n \"Polo Ralph Lauren Corp\",\n \"PolyOne Corp\",\n \"Popular Inc\",\n \"Potlatch Corp\",\n \"PPG Industries Inc\",\n \"PPL Corp\",\n \"Praxair Inc\",\n \"Precision Castparts Corp\",\n \"Premcor Inc.\",\n \"Pride International Inc\",\n \"Primedia Inc\",\n \"Principal Financial Group Inc.\",\n \"Procter & Gamble Co.\",\n \"Pro-Fac Cooperative Inc.\",\n \"Progress Energy Inc\",\n \"Progressive Corporation\",\n \"Protective Life Corp\",\n \"Provident Financial Group\",\n \"Providian Financial Corp.\",\n \"Prudential Financial Inc.\",\n \"PSS World Medical Inc\",\n \"Public Service Enterprise Group Inc.\",\n \"Publix Super Markets Inc.\",\n \"Puget Energy Inc.\",\n \"Pulte Homes Inc\",\n \"Qualcomm Inc\",\n \"Quanta Services Inc.\",\n \"Quantum Corp\",\n \"Quest Diagnostics Inc.\",\n \"Questar Corp\",\n \"Quintiles Transnational\",\n \"Qwest Communications Intl Inc\",\n \"R.J. Reynolds Tobacco Company\",\n \"R.R. Donnelley & Sons Company\",\n \"Radio Shack Corporation\",\n \"Raymond James Financial Inc.\",\n \"Raytheon Company\",\n \"Reader's Digest Association Inc.\",\n \"Reebok International Ltd.\",\n \"Regions Financial Corp.\",\n \"Regis Corporation\",\n \"Reliance Steel & Aluminum Co.\",\n \"Reliant Energy Inc.\",\n \"Rent A Center Inc\",\n \"Republic Services Inc\",\n \"Revlon Inc\",\n \"RGS Energy Group Inc\",\n \"Rite Aid Corp\",\n \"Riverwood Holding Inc.\",\n \"RoadwayCorp\",\n \"Robert Half International Inc.\",\n \"Rock-Tenn Co\",\n \"Rockwell Automation Inc\",\n \"Rockwell Collins Inc\",\n \"Rohm & Haas Co.\",\n \"Ross Stores Inc\",\n \"RPM Inc.\",\n \"Ruddick Corp\",\n \"Ryder System Inc\",\n \"Ryerson Tull Inc\",\n \"Ryland Group Inc.\",\n \"Sabre Holdings Corp\",\n \"Safeco Corp\",\n \"Safeguard Scientifics Inc.\",\n \"Safeway Inc\",\n \"Saks Inc\",\n \"Sanmina-SCI Inc\",\n \"Sara Lee Corp\",\n \"SBC Communications Inc\",\n \"Scana Corp.\",\n \"Schering-Plough Corp\",\n \"Scholastic Corp\",\n \"SCI Systems Onc.\",\n \"Science Applications Intl. Inc.\",\n \"Scientific-Atlanta Inc\",\n \"Scotts Company\",\n \"Seaboard Corp\",\n \"Sealed Air Corp\",\n \"Sears Roebuck & Co\",\n \"Sempra Energy\",\n \"Sequa Corp\",\n \"Service Corp. International\",\n \"ServiceMaster Co\",\n \"Shaw Group Inc\",\n \"Sherwin-Williams Company\",\n \"Shopko Stores Inc\",\n \"Siebel Systems Inc\",\n \"Sierra Health Services Inc\",\n \"Sierra Pacific Resources\",\n \"Silgan Holdings Inc.\",\n \"Silicon Graphics Inc\",\n \"Simon Property Group Inc\",\n \"SLM Corporation\",\n \"Smith International Inc\",\n \"Smithfield Foods Inc\",\n \"Smurfit-Stone Container Corp\",\n \"Snap-On Inc\",\n \"Solectron Corp\",\n \"Solutia Inc\",\n \"Sonic Automotive Inc.\",\n \"Sonoco Products Co.\",\n \"Southern Company\",\n \"Southern Union Company\",\n \"SouthTrust Corp.\",\n \"Southwest Airlines Co\",\n \"Southwest Gas Corp\",\n \"Sovereign Bancorp Inc.\",\n \"Spartan Stores Inc\",\n \"Spherion Corp\",\n \"Sports Authority Inc\",\n \"Sprint Corp.\",\n \"SPX Corp\",\n \"St. Jude Medical Inc\",\n \"St. Paul Cos.\",\n \"Staff Leasing Inc.\",\n \"StanCorp Financial Group Inc\",\n \"Standard Pacific Corp.\",\n \"Stanley Works\",\n \"Staples Inc\",\n \"Starbucks Corp\",\n \"Starwood Hotels & Resorts Worldwide Inc\",\n \"State Street Corp.\",\n \"Stater Bros. Holdings Inc.\",\n \"Steelcase Inc\",\n \"Stein Mart Inc\",\n \"Stewart & Stevenson Services Inc\",\n \"Stewart Information Services Corp\",\n \"Stilwell Financial Inc\",\n \"Storage Technology Corporation\",\n \"Stryker Corp\",\n \"Sun Healthcare Group Inc.\",\n \"Sun Microsystems Inc.\",\n \"SunGard Data Systems Inc.\",\n \"Sunoco Inc.\",\n \"SunTrust Banks Inc\",\n \"Supervalu Inc\",\n \"Swift Transportation, Co., Inc\",\n \"Symbol Technologies Inc\",\n \"Synovus Financial Corp.\",\n \"Sysco Corp\",\n \"Systemax Inc.\",\n \"Target Corp.\",\n \"Tech Data Corporation\",\n \"TECO Energy Inc\",\n \"Tecumseh Products Company\",\n \"Tektronix Inc\",\n \"Teleflex Incorporated\",\n \"Telephone & Data Systems Inc\",\n \"Tellabs Inc.\",\n \"Temple-Inland Inc\",\n \"Tenet Healthcare Corporation\",\n \"Tenneco Automotive Inc.\",\n \"Teradyne Inc\",\n \"Terex Corp\",\n \"Tesoro Petroleum Corp.\",\n \"Texas Industries Inc.\",\n \"Texas Instruments Incorporated\",\n \"Textron Inc\",\n \"Thermo Electron Corporation\",\n \"Thomas & Betts Corporation\",\n \"Tiffany & Co\",\n \"Timken Company\",\n \"TJX Companies Inc\",\n \"TMP Worldwide Inc\",\n \"Toll Brothers Inc\",\n \"Torchmark Corporation\",\n \"Toro Company\",\n \"Tower Automotive Inc.\",\n \"Toys 'R' Us Inc\",\n \"Trans World Entertainment Corp.\",\n \"TransMontaigne Inc\",\n \"Transocean Inc\",\n \"TravelCenters of America Inc.\",\n \"Triad Hospitals Inc\",\n \"Tribune Company\",\n \"Trigon Healthcare Inc.\",\n \"Trinity Industries Inc\",\n \"Trump Hotels & Casino Resorts Inc.\",\n \"TruServ Corporation\",\n \"TRW Inc\",\n \"TXU Corp\",\n \"Tyson Foods Inc\",\n \"U.S. Bancorp\",\n \"U.S. Industries Inc.\",\n \"UAL Corporation\",\n \"UGI Corporation\",\n \"Unified Western Grocers Inc\",\n \"Union Pacific Corporation\",\n \"Union Planters Corp\",\n \"Unisource Energy Corp\",\n \"Unisys Corporation\",\n \"United Auto Group Inc\",\n \"United Defense Industries Inc.\",\n \"United Parcel Service Inc\",\n \"United Rentals Inc\",\n \"United Stationers Inc\",\n \"United Technologies Corporation\",\n \"UnitedHealth Group Incorporated\",\n \"Unitrin Inc\",\n \"Universal Corporation\",\n \"Universal Forest Products Inc\",\n \"Universal Health Services Inc\",\n \"Unocal Corporation\",\n \"Unova Inc\",\n \"UnumProvident Corporation\",\n \"URS Corporation\",\n \"US Airways Group Inc\",\n \"US Oncology Inc\",\n \"USA Interactive\",\n \"USFreighways Corporation\",\n \"USG Corporation\",\n \"UST Inc\",\n \"Valero Energy Corporation\",\n \"Valspar Corporation\",\n \"Value City Department Stores Inc\",\n \"Varco International Inc\",\n \"Vectren Corporation\",\n \"Veritas Software Corporation\",\n \"Verizon Communications Inc\",\n \"VF Corporation\",\n \"Viacom Inc\",\n \"Viad Corp\",\n \"Viasystems Group Inc\",\n \"Vishay Intertechnology Inc\",\n \"Visteon Corporation\",\n \"Volt Information Sciences Inc\",\n \"Vulcan Materials Company\",\n \"W.R. Berkley Corporation\",\n \"W.R. Grace & Co\",\n \"W.W. Grainger Inc\",\n \"Wachovia Corporation\",\n \"Wakenhut Corporation\",\n \"Walgreen Co\",\n \"Wallace Computer Services Inc\",\n \"Wal-Mart Stores Inc\",\n \"Walt Disney Co\",\n \"Walter Industries Inc\",\n \"Washington Mutual Inc\",\n \"Washington Post Co.\",\n \"Waste Management Inc\",\n \"Watsco Inc\",\n \"Weatherford International Inc\",\n \"Weis Markets Inc.\",\n \"Wellpoint Health Networks Inc\",\n \"Wells Fargo & Company\",\n \"Wendy's International Inc\",\n \"Werner Enterprises Inc\",\n \"WESCO International Inc\",\n \"Western Digital Inc\",\n \"Western Gas Resources Inc\",\n \"WestPoint Stevens Inc\",\n \"Weyerhauser Company\",\n \"WGL Holdings Inc\",\n \"Whirlpool Corporation\",\n \"Whole Foods Market Inc\",\n \"Willamette Industries Inc.\",\n \"Williams Companies Inc\",\n \"Williams Sonoma Inc\",\n \"Winn Dixie Stores Inc\",\n \"Wisconsin Energy Corporation\",\n \"Wm Wrigley Jr Company\",\n \"World Fuel Services Corporation\",\n \"WorldCom Inc\",\n \"Worthington Industries Inc\",\n \"WPS Resources Corporation\",\n \"Wyeth\",\n \"Wyndham International Inc\",\n \"Xcel Energy Inc\",\n \"Xerox Corp\",\n \"Xilinx Inc\",\n \"XO Communications Inc\",\n \"Yellow Corporation\",\n \"York International Corp\",\n \"Yum Brands Inc.\",\n \"Zale Corporation\",\n \"Zions Bancorporation\"\n ],\n\n fileExtension : {\n \"raster\" : [\"bmp\", \"gif\", \"gpl\", \"ico\", \"jpeg\", \"psd\", \"png\", \"psp\", \"raw\", \"tiff\"],\n \"vector\" : [\"3dv\", \"amf\", \"awg\", \"ai\", \"cgm\", \"cdr\", \"cmx\", \"dxf\", \"e2d\", \"egt\", \"eps\", \"fs\", \"odg\", \"svg\", \"xar\"],\n \"3d\" : [\"3dmf\", \"3dm\", \"3mf\", \"3ds\", \"an8\", \"aoi\", \"blend\", \"cal3d\", \"cob\", \"ctm\", \"iob\", \"jas\", \"max\", \"mb\", \"mdx\", \"obj\", \"x\", \"x3d\"],\n \"document\" : [\"doc\", \"docx\", \"dot\", \"html\", \"xml\", \"odt\", \"odm\", \"ott\", \"csv\", \"rtf\", \"tex\", \"xhtml\", \"xps\"]\n },\n\n // Data taken from https://github.com/dmfilipenko/timezones.json/blob/master/timezones.json\n timezones: [\n {\n \"name\": \"Dateline Standard Time\",\n \"abbr\": \"DST\",\n \"offset\": -12,\n \"isdst\": false,\n \"text\": \"(UTC-12:00) International Date Line West\",\n \"utc\": [\n \"Etc/GMT+12\"\n ]\n },\n {\n \"name\": \"UTC-11\",\n \"abbr\": \"U\",\n \"offset\": -11,\n \"isdst\": false,\n \"text\": \"(UTC-11:00) Coordinated Universal Time-11\",\n \"utc\": [\n \"Etc/GMT+11\",\n \"Pacific/Midway\",\n \"Pacific/Niue\",\n \"Pacific/Pago_Pago\"\n ]\n },\n {\n \"name\": \"Hawaiian Standard Time\",\n \"abbr\": \"HST\",\n \"offset\": -10,\n \"isdst\": false,\n \"text\": \"(UTC-10:00) Hawaii\",\n \"utc\": [\n \"Etc/GMT+10\",\n \"Pacific/Honolulu\",\n \"Pacific/Johnston\",\n \"Pacific/Rarotonga\",\n \"Pacific/Tahiti\"\n ]\n },\n {\n \"name\": \"Alaskan Standard Time\",\n \"abbr\": \"AKDT\",\n \"offset\": -8,\n \"isdst\": true,\n \"text\": \"(UTC-09:00) Alaska\",\n \"utc\": [\n \"America/Anchorage\",\n \"America/Juneau\",\n \"America/Nome\",\n \"America/Sitka\",\n \"America/Yakutat\"\n ]\n },\n {\n \"name\": \"Pacific Standard Time (Mexico)\",\n \"abbr\": \"PDT\",\n \"offset\": -7,\n \"isdst\": true,\n \"text\": \"(UTC-08:00) Baja California\",\n \"utc\": [\n \"America/Santa_Isabel\"\n ]\n },\n {\n \"name\": \"Pacific Daylight Time\",\n \"abbr\": \"PDT\",\n \"offset\": -7,\n \"isdst\": true,\n \"text\": \"(UTC-07:00) Pacific Time (US & Canada)\",\n \"utc\": [\n \"America/Dawson\",\n \"America/Los_Angeles\",\n \"America/Tijuana\",\n \"America/Vancouver\",\n \"America/Whitehorse\"\n ]\n },\n {\n \"name\": \"Pacific Standard Time\",\n \"abbr\": \"PST\",\n \"offset\": -8,\n \"isdst\": false,\n \"text\": \"(UTC-08:00) Pacific Time (US & Canada)\",\n \"utc\": [\n \"America/Dawson\",\n \"America/Los_Angeles\",\n \"America/Tijuana\",\n \"America/Vancouver\",\n \"America/Whitehorse\",\n \"PST8PDT\"\n ]\n },\n {\n \"name\": \"US Mountain Standard Time\",\n \"abbr\": \"UMST\",\n \"offset\": -7,\n \"isdst\": false,\n \"text\": \"(UTC-07:00) Arizona\",\n \"utc\": [\n \"America/Creston\",\n \"America/Dawson_Creek\",\n \"America/Hermosillo\",\n \"America/Phoenix\",\n \"Etc/GMT+7\"\n ]\n },\n {\n \"name\": \"Mountain Standard Time (Mexico)\",\n \"abbr\": \"MDT\",\n \"offset\": -6,\n \"isdst\": true,\n \"text\": \"(UTC-07:00) Chihuahua, La Paz, Mazatlan\",\n \"utc\": [\n \"America/Chihuahua\",\n \"America/Mazatlan\"\n ]\n },\n {\n \"name\": \"Mountain Standard Time\",\n \"abbr\": \"MDT\",\n \"offset\": -6,\n \"isdst\": true,\n \"text\": \"(UTC-07:00) Mountain Time (US & Canada)\",\n \"utc\": [\n \"America/Boise\",\n \"America/Cambridge_Bay\",\n \"America/Denver\",\n \"America/Edmonton\",\n \"America/Inuvik\",\n \"America/Ojinaga\",\n \"America/Yellowknife\",\n \"MST7MDT\"\n ]\n },\n {\n \"name\": \"Central America Standard Time\",\n \"abbr\": \"CAST\",\n \"offset\": -6,\n \"isdst\": false,\n \"text\": \"(UTC-06:00) Central America\",\n \"utc\": [\n \"America/Belize\",\n \"America/Costa_Rica\",\n \"America/El_Salvador\",\n \"America/Guatemala\",\n \"America/Managua\",\n \"America/Tegucigalpa\",\n \"Etc/GMT+6\",\n \"Pacific/Galapagos\"\n ]\n },\n {\n \"name\": \"Central Standard Time\",\n \"abbr\": \"CDT\",\n \"offset\": -5,\n \"isdst\": true,\n \"text\": \"(UTC-06:00) Central Time (US & Canada)\",\n \"utc\": [\n \"America/Chicago\",\n \"America/Indiana/Knox\",\n \"America/Indiana/Tell_City\",\n \"America/Matamoros\",\n \"America/Menominee\",\n \"America/North_Dakota/Beulah\",\n \"America/North_Dakota/Center\",\n \"America/North_Dakota/New_Salem\",\n \"America/Rainy_River\",\n \"America/Rankin_Inlet\",\n \"America/Resolute\",\n \"America/Winnipeg\",\n \"CST6CDT\"\n ]\n },\n {\n \"name\": \"Central Standard Time (Mexico)\",\n \"abbr\": \"CDT\",\n \"offset\": -5,\n \"isdst\": true,\n \"text\": \"(UTC-06:00) Guadalajara, Mexico City, Monterrey\",\n \"utc\": [\n \"America/Bahia_Banderas\",\n \"America/Cancun\",\n \"America/Merida\",\n \"America/Mexico_City\",\n \"America/Monterrey\"\n ]\n },\n {\n \"name\": \"Canada Central Standard Time\",\n \"abbr\": \"CCST\",\n \"offset\": -6,\n \"isdst\": false,\n \"text\": \"(UTC-06:00) Saskatchewan\",\n \"utc\": [\n \"America/Regina\",\n \"America/Swift_Current\"\n ]\n },\n {\n \"name\": \"SA Pacific Standard Time\",\n \"abbr\": \"SPST\",\n \"offset\": -5,\n \"isdst\": false,\n \"text\": \"(UTC-05:00) Bogota, Lima, Quito\",\n \"utc\": [\n \"America/Bogota\",\n \"America/Cayman\",\n \"America/Coral_Harbour\",\n \"America/Eirunepe\",\n \"America/Guayaquil\",\n \"America/Jamaica\",\n \"America/Lima\",\n \"America/Panama\",\n \"America/Rio_Branco\",\n \"Etc/GMT+5\"\n ]\n },\n {\n \"name\": \"Eastern Standard Time\",\n \"abbr\": \"EDT\",\n \"offset\": -4,\n \"isdst\": true,\n \"text\": \"(UTC-05:00) Eastern Time (US & Canada)\",\n \"utc\": [\n \"America/Detroit\",\n \"America/Havana\",\n \"America/Indiana/Petersburg\",\n \"America/Indiana/Vincennes\",\n \"America/Indiana/Winamac\",\n \"America/Iqaluit\",\n \"America/Kentucky/Monticello\",\n \"America/Louisville\",\n \"America/Montreal\",\n \"America/Nassau\",\n \"America/New_York\",\n \"America/Nipigon\",\n \"America/Pangnirtung\",\n \"America/Port-au-Prince\",\n \"America/Thunder_Bay\",\n \"America/Toronto\",\n \"EST5EDT\"\n ]\n },\n {\n \"name\": \"US Eastern Standard Time\",\n \"abbr\": \"UEDT\",\n \"offset\": -4,\n \"isdst\": true,\n \"text\": \"(UTC-05:00) Indiana (East)\",\n \"utc\": [\n \"America/Indiana/Marengo\",\n \"America/Indiana/Vevay\",\n \"America/Indianapolis\"\n ]\n },\n {\n \"name\": \"Venezuela Standard Time\",\n \"abbr\": \"VST\",\n \"offset\": -4.5,\n \"isdst\": false,\n \"text\": \"(UTC-04:30) Caracas\",\n \"utc\": [\n \"America/Caracas\"\n ]\n },\n {\n \"name\": \"Paraguay Standard Time\",\n \"abbr\": \"PYT\",\n \"offset\": -4,\n \"isdst\": false,\n \"text\": \"(UTC-04:00) Asuncion\",\n \"utc\": [\n \"America/Asuncion\"\n ]\n },\n {\n \"name\": \"Atlantic Standard Time\",\n \"abbr\": \"ADT\",\n \"offset\": -3,\n \"isdst\": true,\n \"text\": \"(UTC-04:00) Atlantic Time (Canada)\",\n \"utc\": [\n \"America/Glace_Bay\",\n \"America/Goose_Bay\",\n \"America/Halifax\",\n \"America/Moncton\",\n \"America/Thule\",\n \"Atlantic/Bermuda\"\n ]\n },\n {\n \"name\": \"Central Brazilian Standard Time\",\n \"abbr\": \"CBST\",\n \"offset\": -4,\n \"isdst\": false,\n \"text\": \"(UTC-04:00) Cuiaba\",\n \"utc\": [\n \"America/Campo_Grande\",\n \"America/Cuiaba\"\n ]\n },\n {\n \"name\": \"SA Western Standard Time\",\n \"abbr\": \"SWST\",\n \"offset\": -4,\n \"isdst\": false,\n \"text\": \"(UTC-04:00) Georgetown, La Paz, Manaus, San Juan\",\n \"utc\": [\n \"America/Anguilla\",\n \"America/Antigua\",\n \"America/Aruba\",\n \"America/Barbados\",\n \"America/Blanc-Sablon\",\n \"America/Boa_Vista\",\n \"America/Curacao\",\n \"America/Dominica\",\n \"America/Grand_Turk\",\n \"America/Grenada\",\n \"America/Guadeloupe\",\n \"America/Guyana\",\n \"America/Kralendijk\",\n \"America/La_Paz\",\n \"America/Lower_Princes\",\n \"America/Manaus\",\n \"America/Marigot\",\n \"America/Martinique\",\n \"America/Montserrat\",\n \"America/Port_of_Spain\",\n \"America/Porto_Velho\",\n \"America/Puerto_Rico\",\n \"America/Santo_Domingo\",\n \"America/St_Barthelemy\",\n \"America/St_Kitts\",\n \"America/St_Lucia\",\n \"America/St_Thomas\",\n \"America/St_Vincent\",\n \"America/Tortola\",\n \"Etc/GMT+4\"\n ]\n },\n {\n \"name\": \"Pacific SA Standard Time\",\n \"abbr\": \"PSST\",\n \"offset\": -4,\n \"isdst\": false,\n \"text\": \"(UTC-04:00) Santiago\",\n \"utc\": [\n \"America/Santiago\",\n \"Antarctica/Palmer\"\n ]\n },\n {\n \"name\": \"Newfoundland Standard Time\",\n \"abbr\": \"NDT\",\n \"offset\": -2.5,\n \"isdst\": true,\n \"text\": \"(UTC-03:30) Newfoundland\",\n \"utc\": [\n \"America/St_Johns\"\n ]\n },\n {\n \"name\": \"E. South America Standard Time\",\n \"abbr\": \"ESAST\",\n \"offset\": -3,\n \"isdst\": false,\n \"text\": \"(UTC-03:00) Brasilia\",\n \"utc\": [\n \"America/Sao_Paulo\"\n ]\n },\n {\n \"name\": \"Argentina Standard Time\",\n \"abbr\": \"AST\",\n \"offset\": -3,\n \"isdst\": false,\n \"text\": \"(UTC-03:00) Buenos Aires\",\n \"utc\": [\n \"America/Argentina/La_Rioja\",\n \"America/Argentina/Rio_Gallegos\",\n \"America/Argentina/Salta\",\n \"America/Argentina/San_Juan\",\n \"America/Argentina/San_Luis\",\n \"America/Argentina/Tucuman\",\n \"America/Argentina/Ushuaia\",\n \"America/Buenos_Aires\",\n \"America/Catamarca\",\n \"America/Cordoba\",\n \"America/Jujuy\",\n \"America/Mendoza\"\n ]\n },\n {\n \"name\": \"SA Eastern Standard Time\",\n \"abbr\": \"SEST\",\n \"offset\": -3,\n \"isdst\": false,\n \"text\": \"(UTC-03:00) Cayenne, Fortaleza\",\n \"utc\": [\n \"America/Araguaina\",\n \"America/Belem\",\n \"America/Cayenne\",\n \"America/Fortaleza\",\n \"America/Maceio\",\n \"America/Paramaribo\",\n \"America/Recife\",\n \"America/Santarem\",\n \"Antarctica/Rothera\",\n \"Atlantic/Stanley\",\n \"Etc/GMT+3\"\n ]\n },\n {\n \"name\": \"Greenland Standard Time\",\n \"abbr\": \"GDT\",\n \"offset\": -3,\n \"isdst\": true,\n \"text\": \"(UTC-03:00) Greenland\",\n \"utc\": [\n \"America/Godthab\"\n ]\n },\n {\n \"name\": \"Montevideo Standard Time\",\n \"abbr\": \"MST\",\n \"offset\": -3,\n \"isdst\": false,\n \"text\": \"(UTC-03:00) Montevideo\",\n \"utc\": [\n \"America/Montevideo\"\n ]\n },\n {\n \"name\": \"Bahia Standard Time\",\n \"abbr\": \"BST\",\n \"offset\": -3,\n \"isdst\": false,\n \"text\": \"(UTC-03:00) Salvador\",\n \"utc\": [\n \"America/Bahia\"\n ]\n },\n {\n \"name\": \"UTC-02\",\n \"abbr\": \"U\",\n \"offset\": -2,\n \"isdst\": false,\n \"text\": \"(UTC-02:00) Coordinated Universal Time-02\",\n \"utc\": [\n \"America/Noronha\",\n \"Atlantic/South_Georgia\",\n \"Etc/GMT+2\"\n ]\n },\n {\n \"name\": \"Mid-Atlantic Standard Time\",\n \"abbr\": \"MDT\",\n \"offset\": -1,\n \"isdst\": true,\n \"text\": \"(UTC-02:00) Mid-Atlantic - Old\",\n \"utc\": []\n },\n {\n \"name\": \"Azores Standard Time\",\n \"abbr\": \"ADT\",\n \"offset\": 0,\n \"isdst\": true,\n \"text\": \"(UTC-01:00) Azores\",\n \"utc\": [\n \"America/Scoresbysund\",\n \"Atlantic/Azores\"\n ]\n },\n {\n \"name\": \"Cape Verde Standard Time\",\n \"abbr\": \"CVST\",\n \"offset\": -1,\n \"isdst\": false,\n \"text\": \"(UTC-01:00) Cape Verde Is.\",\n \"utc\": [\n \"Atlantic/Cape_Verde\",\n \"Etc/GMT+1\"\n ]\n },\n {\n \"name\": \"Morocco Standard Time\",\n \"abbr\": \"MDT\",\n \"offset\": 1,\n \"isdst\": true,\n \"text\": \"(UTC) Casablanca\",\n \"utc\": [\n \"Africa/Casablanca\",\n \"Africa/El_Aaiun\"\n ]\n },\n {\n \"name\": \"UTC\",\n \"abbr\": \"UTC\",\n \"offset\": 0,\n \"isdst\": false,\n \"text\": \"(UTC) Coordinated Universal Time\",\n \"utc\": [\n \"America/Danmarkshavn\",\n \"Etc/GMT\"\n ]\n },\n {\n \"name\": \"GMT Standard Time\",\n \"abbr\": \"GMT\",\n \"offset\": 0,\n \"isdst\": false,\n \"text\": \"(UTC) Edinburgh, London\",\n \"utc\": [\n \"Europe/Isle_of_Man\",\n \"Europe/Guernsey\",\n \"Europe/Jersey\",\n \"Europe/London\"\n ]\n },\n {\n \"name\": \"British Summer Time\",\n \"abbr\": \"BST\",\n \"offset\": 1,\n \"isdst\": true,\n \"text\": \"(UTC+01:00) Edinburgh, London\",\n \"utc\": [\n \"Europe/Isle_of_Man\",\n \"Europe/Guernsey\",\n \"Europe/Jersey\",\n \"Europe/London\"\n ]\n },\n {\n \"name\": \"GMT Standard Time\",\n \"abbr\": \"GDT\",\n \"offset\": 1,\n \"isdst\": true,\n \"text\": \"(UTC) Dublin, Lisbon\",\n \"utc\": [\n \"Atlantic/Canary\",\n \"Atlantic/Faeroe\",\n \"Atlantic/Madeira\",\n \"Europe/Dublin\",\n \"Europe/Lisbon\"\n ]\n },\n {\n \"name\": \"Greenwich Standard Time\",\n \"abbr\": \"GST\",\n \"offset\": 0,\n \"isdst\": false,\n \"text\": \"(UTC) Monrovia, Reykjavik\",\n \"utc\": [\n \"Africa/Abidjan\",\n \"Africa/Accra\",\n \"Africa/Bamako\",\n \"Africa/Banjul\",\n \"Africa/Bissau\",\n \"Africa/Conakry\",\n \"Africa/Dakar\",\n \"Africa/Freetown\",\n \"Africa/Lome\",\n \"Africa/Monrovia\",\n \"Africa/Nouakchott\",\n \"Africa/Ouagadougou\",\n \"Africa/Sao_Tome\",\n \"Atlantic/Reykjavik\",\n \"Atlantic/St_Helena\"\n ]\n },\n {\n \"name\": \"W. Europe Standard Time\",\n \"abbr\": \"WEDT\",\n \"offset\": 2,\n \"isdst\": true,\n \"text\": \"(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna\",\n \"utc\": [\n \"Arctic/Longyearbyen\",\n \"Europe/Amsterdam\",\n \"Europe/Andorra\",\n \"Europe/Berlin\",\n \"Europe/Busingen\",\n \"Europe/Gibraltar\",\n \"Europe/Luxembourg\",\n \"Europe/Malta\",\n \"Europe/Monaco\",\n \"Europe/Oslo\",\n \"Europe/Rome\",\n \"Europe/San_Marino\",\n \"Europe/Stockholm\",\n \"Europe/Vaduz\",\n \"Europe/Vatican\",\n \"Europe/Vienna\",\n \"Europe/Zurich\"\n ]\n },\n {\n \"name\": \"Central Europe Standard Time\",\n \"abbr\": \"CEDT\",\n \"offset\": 2,\n \"isdst\": true,\n \"text\": \"(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague\",\n \"utc\": [\n \"Europe/Belgrade\",\n \"Europe/Bratislava\",\n \"Europe/Budapest\",\n \"Europe/Ljubljana\",\n \"Europe/Podgorica\",\n \"Europe/Prague\",\n \"Europe/Tirane\"\n ]\n },\n {\n \"name\": \"Romance Standard Time\",\n \"abbr\": \"RDT\",\n \"offset\": 2,\n \"isdst\": true,\n \"text\": \"(UTC+01:00) Brussels, Copenhagen, Madrid, Paris\",\n \"utc\": [\n \"Africa/Ceuta\",\n \"Europe/Brussels\",\n \"Europe/Copenhagen\",\n \"Europe/Madrid\",\n \"Europe/Paris\"\n ]\n },\n {\n \"name\": \"Central European Standard Time\",\n \"abbr\": \"CEDT\",\n \"offset\": 2,\n \"isdst\": true,\n \"text\": \"(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb\",\n \"utc\": [\n \"Europe/Sarajevo\",\n \"Europe/Skopje\",\n \"Europe/Warsaw\",\n \"Europe/Zagreb\"\n ]\n },\n {\n \"name\": \"W. Central Africa Standard Time\",\n \"abbr\": \"WCAST\",\n \"offset\": 1,\n \"isdst\": false,\n \"text\": \"(UTC+01:00) West Central Africa\",\n \"utc\": [\n \"Africa/Algiers\",\n \"Africa/Bangui\",\n \"Africa/Brazzaville\",\n \"Africa/Douala\",\n \"Africa/Kinshasa\",\n \"Africa/Lagos\",\n \"Africa/Libreville\",\n \"Africa/Luanda\",\n \"Africa/Malabo\",\n \"Africa/Ndjamena\",\n \"Africa/Niamey\",\n \"Africa/Porto-Novo\",\n \"Africa/Tunis\",\n \"Etc/GMT-1\"\n ]\n },\n {\n \"name\": \"Namibia Standard Time\",\n \"abbr\": \"NST\",\n \"offset\": 1,\n \"isdst\": false,\n \"text\": \"(UTC+01:00) Windhoek\",\n \"utc\": [\n \"Africa/Windhoek\"\n ]\n },\n {\n \"name\": \"GTB Standard Time\",\n \"abbr\": \"GDT\",\n \"offset\": 3,\n \"isdst\": true,\n \"text\": \"(UTC+02:00) Athens, Bucharest\",\n \"utc\": [\n \"Asia/Nicosia\",\n \"Europe/Athens\",\n \"Europe/Bucharest\",\n \"Europe/Chisinau\"\n ]\n },\n {\n \"name\": \"Middle East Standard Time\",\n \"abbr\": \"MEDT\",\n \"offset\": 3,\n \"isdst\": true,\n \"text\": \"(UTC+02:00) Beirut\",\n \"utc\": [\n \"Asia/Beirut\"\n ]\n },\n {\n \"name\": \"Egypt Standard Time\",\n \"abbr\": \"EST\",\n \"offset\": 2,\n \"isdst\": false,\n \"text\": \"(UTC+02:00) Cairo\",\n \"utc\": [\n \"Africa/Cairo\"\n ]\n },\n {\n \"name\": \"Syria Standard Time\",\n \"abbr\": \"SDT\",\n \"offset\": 3,\n \"isdst\": true,\n \"text\": \"(UTC+02:00) Damascus\",\n \"utc\": [\n \"Asia/Damascus\"\n ]\n },\n {\n \"name\": \"E. Europe Standard Time\",\n \"abbr\": \"EEDT\",\n \"offset\": 3,\n \"isdst\": true,\n \"text\": \"(UTC+02:00) E. Europe\",\n \"utc\": [\n \"Asia/Nicosia\",\n \"Europe/Athens\",\n \"Europe/Bucharest\",\n \"Europe/Chisinau\",\n \"Europe/Helsinki\",\n \"Europe/Kiev\",\n \"Europe/Mariehamn\",\n \"Europe/Nicosia\",\n \"Europe/Riga\",\n \"Europe/Sofia\",\n \"Europe/Tallinn\",\n \"Europe/Uzhgorod\",\n \"Europe/Vilnius\",\n \"Europe/Zaporozhye\"\n ]\n },\n {\n \"name\": \"South Africa Standard Time\",\n \"abbr\": \"SAST\",\n \"offset\": 2,\n \"isdst\": false,\n \"text\": \"(UTC+02:00) Harare, Pretoria\",\n \"utc\": [\n \"Africa/Blantyre\",\n \"Africa/Bujumbura\",\n \"Africa/Gaborone\",\n \"Africa/Harare\",\n \"Africa/Johannesburg\",\n \"Africa/Kigali\",\n \"Africa/Lubumbashi\",\n \"Africa/Lusaka\",\n \"Africa/Maputo\",\n \"Africa/Maseru\",\n \"Africa/Mbabane\",\n \"Etc/GMT-2\"\n ]\n },\n {\n \"name\": \"FLE Standard Time\",\n \"abbr\": \"FDT\",\n \"offset\": 3,\n \"isdst\": true,\n \"text\": \"(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius\",\n \"utc\": [\n \"Europe/Helsinki\",\n \"Europe/Kiev\",\n \"Europe/Mariehamn\",\n \"Europe/Riga\",\n \"Europe/Sofia\",\n \"Europe/Tallinn\",\n \"Europe/Uzhgorod\",\n \"Europe/Vilnius\",\n \"Europe/Zaporozhye\"\n ]\n },\n {\n \"name\": \"Turkey Standard Time\",\n \"abbr\": \"TDT\",\n \"offset\": 3,\n \"isdst\": false,\n \"text\": \"(UTC+03:00) Istanbul\",\n \"utc\": [\n \"Europe/Istanbul\"\n ]\n },\n {\n \"name\": \"Israel Standard Time\",\n \"abbr\": \"JDT\",\n \"offset\": 3,\n \"isdst\": true,\n \"text\": \"(UTC+02:00) Jerusalem\",\n \"utc\": [\n \"Asia/Jerusalem\"\n ]\n },\n {\n \"name\": \"Libya Standard Time\",\n \"abbr\": \"LST\",\n \"offset\": 2,\n \"isdst\": false,\n \"text\": \"(UTC+02:00) Tripoli\",\n \"utc\": [\n \"Africa/Tripoli\"\n ]\n },\n {\n \"name\": \"Jordan Standard Time\",\n \"abbr\": \"JST\",\n \"offset\": 3,\n \"isdst\": false,\n \"text\": \"(UTC+03:00) Amman\",\n \"utc\": [\n \"Asia/Amman\"\n ]\n },\n {\n \"name\": \"Arabic Standard Time\",\n \"abbr\": \"AST\",\n \"offset\": 3,\n \"isdst\": false,\n \"text\": \"(UTC+03:00) Baghdad\",\n \"utc\": [\n \"Asia/Baghdad\"\n ]\n },\n {\n \"name\": \"Kaliningrad Standard Time\",\n \"abbr\": \"KST\",\n \"offset\": 3,\n \"isdst\": false,\n \"text\": \"(UTC+02:00) Kaliningrad\",\n \"utc\": [\n \"Europe/Kaliningrad\"\n ]\n },\n {\n \"name\": \"Arab Standard Time\",\n \"abbr\": \"AST\",\n \"offset\": 3,\n \"isdst\": false,\n \"text\": \"(UTC+03:00) Kuwait, Riyadh\",\n \"utc\": [\n \"Asia/Aden\",\n \"Asia/Bahrain\",\n \"Asia/Kuwait\",\n \"Asia/Qatar\",\n \"Asia/Riyadh\"\n ]\n },\n {\n \"name\": \"E. Africa Standard Time\",\n \"abbr\": \"EAST\",\n \"offset\": 3,\n \"isdst\": false,\n \"text\": \"(UTC+03:00) Nairobi\",\n \"utc\": [\n \"Africa/Addis_Ababa\",\n \"Africa/Asmera\",\n \"Africa/Dar_es_Salaam\",\n \"Africa/Djibouti\",\n \"Africa/Juba\",\n \"Africa/Kampala\",\n \"Africa/Khartoum\",\n \"Africa/Mogadishu\",\n \"Africa/Nairobi\",\n \"Antarctica/Syowa\",\n \"Etc/GMT-3\",\n \"Indian/Antananarivo\",\n \"Indian/Comoro\",\n \"Indian/Mayotte\"\n ]\n },\n {\n \"name\": \"Moscow Standard Time\",\n \"abbr\": \"MSK\",\n \"offset\": 3,\n \"isdst\": false,\n \"text\": \"(UTC+03:00) Moscow, St. Petersburg, Volgograd, Minsk\",\n \"utc\": [\n \"Europe/Kirov\",\n \"Europe/Moscow\",\n \"Europe/Simferopol\",\n \"Europe/Volgograd\",\n \"Europe/Minsk\"\n ]\n },\n {\n \"name\": \"Samara Time\",\n \"abbr\": \"SAMT\",\n \"offset\": 4,\n \"isdst\": false,\n \"text\": \"(UTC+04:00) Samara, Ulyanovsk, Saratov\",\n \"utc\": [\n \"Europe/Astrakhan\",\n \"Europe/Samara\",\n \"Europe/Ulyanovsk\"\n ]\n },\n {\n \"name\": \"Iran Standard Time\",\n \"abbr\": \"IDT\",\n \"offset\": 4.5,\n \"isdst\": true,\n \"text\": \"(UTC+03:30) Tehran\",\n \"utc\": [\n \"Asia/Tehran\"\n ]\n },\n {\n \"name\": \"Arabian Standard Time\",\n \"abbr\": \"AST\",\n \"offset\": 4,\n \"isdst\": false,\n \"text\": \"(UTC+04:00) Abu Dhabi, Muscat\",\n \"utc\": [\n \"Asia/Dubai\",\n \"Asia/Muscat\",\n \"Etc/GMT-4\"\n ]\n },\n {\n \"name\": \"Azerbaijan Standard Time\",\n \"abbr\": \"ADT\",\n \"offset\": 5,\n \"isdst\": true,\n \"text\": \"(UTC+04:00) Baku\",\n \"utc\": [\n \"Asia/Baku\"\n ]\n },\n {\n \"name\": \"Mauritius Standard Time\",\n \"abbr\": \"MST\",\n \"offset\": 4,\n \"isdst\": false,\n \"text\": \"(UTC+04:00) Port Louis\",\n \"utc\": [\n \"Indian/Mahe\",\n \"Indian/Mauritius\",\n \"Indian/Reunion\"\n ]\n },\n {\n \"name\": \"Georgian Standard Time\",\n \"abbr\": \"GET\",\n \"offset\": 4,\n \"isdst\": false,\n \"text\": \"(UTC+04:00) Tbilisi\",\n \"utc\": [\n \"Asia/Tbilisi\"\n ]\n },\n {\n \"name\": \"Caucasus Standard Time\",\n \"abbr\": \"CST\",\n \"offset\": 4,\n \"isdst\": false,\n \"text\": \"(UTC+04:00) Yerevan\",\n \"utc\": [\n \"Asia/Yerevan\"\n ]\n },\n {\n \"name\": \"Afghanistan Standard Time\",\n \"abbr\": \"AST\",\n \"offset\": 4.5,\n \"isdst\": false,\n \"text\": \"(UTC+04:30) Kabul\",\n \"utc\": [\n \"Asia/Kabul\"\n ]\n },\n {\n \"name\": \"West Asia Standard Time\",\n \"abbr\": \"WAST\",\n \"offset\": 5,\n \"isdst\": false,\n \"text\": \"(UTC+05:00) Ashgabat, Tashkent\",\n \"utc\": [\n \"Antarctica/Mawson\",\n \"Asia/Aqtau\",\n \"Asia/Aqtobe\",\n \"Asia/Ashgabat\",\n \"Asia/Dushanbe\",\n \"Asia/Oral\",\n \"Asia/Samarkand\",\n \"Asia/Tashkent\",\n \"Etc/GMT-5\",\n \"Indian/Kerguelen\",\n \"Indian/Maldives\"\n ]\n },\n {\n \"name\": \"Yekaterinburg Time\",\n \"abbr\": \"YEKT\",\n \"offset\": 5,\n \"isdst\": false,\n \"text\": \"(UTC+05:00) Yekaterinburg\",\n \"utc\": [\n \"Asia/Yekaterinburg\"\n ]\n },\n {\n \"name\": \"Pakistan Standard Time\",\n \"abbr\": \"PKT\",\n \"offset\": 5,\n \"isdst\": false,\n \"text\": \"(UTC+05:00) Islamabad, Karachi\",\n \"utc\": [\n \"Asia/Karachi\"\n ]\n },\n {\n \"name\": \"India Standard Time\",\n \"abbr\": \"IST\",\n \"offset\": 5.5,\n \"isdst\": false,\n \"text\": \"(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi\",\n \"utc\": [\n \"Asia/Kolkata\"\n ]\n },\n {\n \"name\": \"Sri Lanka Standard Time\",\n \"abbr\": \"SLST\",\n \"offset\": 5.5,\n \"isdst\": false,\n \"text\": \"(UTC+05:30) Sri Jayawardenepura\",\n \"utc\": [\n \"Asia/Colombo\"\n ]\n },\n {\n \"name\": \"Nepal Standard Time\",\n \"abbr\": \"NST\",\n \"offset\": 5.75,\n \"isdst\": false,\n \"text\": \"(UTC+05:45) Kathmandu\",\n \"utc\": [\n \"Asia/Kathmandu\"\n ]\n },\n {\n \"name\": \"Central Asia Standard Time\",\n \"abbr\": \"CAST\",\n \"offset\": 6,\n \"isdst\": false,\n \"text\": \"(UTC+06:00) Nur-Sultan (Astana)\",\n \"utc\": [\n \"Antarctica/Vostok\",\n \"Asia/Almaty\",\n \"Asia/Bishkek\",\n \"Asia/Qyzylorda\",\n \"Asia/Urumqi\",\n \"Etc/GMT-6\",\n \"Indian/Chagos\"\n ]\n },\n {\n \"name\": \"Bangladesh Standard Time\",\n \"abbr\": \"BST\",\n \"offset\": 6,\n \"isdst\": false,\n \"text\": \"(UTC+06:00) Dhaka\",\n \"utc\": [\n \"Asia/Dhaka\",\n \"Asia/Thimphu\"\n ]\n },\n {\n \"name\": \"Myanmar Standard Time\",\n \"abbr\": \"MST\",\n \"offset\": 6.5,\n \"isdst\": false,\n \"text\": \"(UTC+06:30) Yangon (Rangoon)\",\n \"utc\": [\n \"Asia/Rangoon\",\n \"Indian/Cocos\"\n ]\n },\n {\n \"name\": \"SE Asia Standard Time\",\n \"abbr\": \"SAST\",\n \"offset\": 7,\n \"isdst\": false,\n \"text\": \"(UTC+07:00) Bangkok, Hanoi, Jakarta\",\n \"utc\": [\n \"Antarctica/Davis\",\n \"Asia/Bangkok\",\n \"Asia/Hovd\",\n \"Asia/Jakarta\",\n \"Asia/Phnom_Penh\",\n \"Asia/Pontianak\",\n \"Asia/Saigon\",\n \"Asia/Vientiane\",\n \"Etc/GMT-7\",\n \"Indian/Christmas\"\n ]\n },\n {\n \"name\": \"N. Central Asia Standard Time\",\n \"abbr\": \"NCAST\",\n \"offset\": 7,\n \"isdst\": false,\n \"text\": \"(UTC+07:00) Novosibirsk\",\n \"utc\": [\n \"Asia/Novokuznetsk\",\n \"Asia/Novosibirsk\",\n \"Asia/Omsk\"\n ]\n },\n {\n \"name\": \"China Standard Time\",\n \"abbr\": \"CST\",\n \"offset\": 8,\n \"isdst\": false,\n \"text\": \"(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi\",\n \"utc\": [\n \"Asia/Hong_Kong\",\n \"Asia/Macau\",\n \"Asia/Shanghai\"\n ]\n },\n {\n \"name\": \"North Asia Standard Time\",\n \"abbr\": \"NAST\",\n \"offset\": 8,\n \"isdst\": false,\n \"text\": \"(UTC+08:00) Krasnoyarsk\",\n \"utc\": [\n \"Asia/Krasnoyarsk\"\n ]\n },\n {\n \"name\": \"Singapore Standard Time\",\n \"abbr\": \"MPST\",\n \"offset\": 8,\n \"isdst\": false,\n \"text\": \"(UTC+08:00) Kuala Lumpur, Singapore\",\n \"utc\": [\n \"Asia/Brunei\",\n \"Asia/Kuala_Lumpur\",\n \"Asia/Kuching\",\n \"Asia/Makassar\",\n \"Asia/Manila\",\n \"Asia/Singapore\",\n \"Etc/GMT-8\"\n ]\n },\n {\n \"name\": \"W. Australia Standard Time\",\n \"abbr\": \"WAST\",\n \"offset\": 8,\n \"isdst\": false,\n \"text\": \"(UTC+08:00) Perth\",\n \"utc\": [\n \"Antarctica/Casey\",\n \"Australia/Perth\"\n ]\n },\n {\n \"name\": \"Taipei Standard Time\",\n \"abbr\": \"TST\",\n \"offset\": 8,\n \"isdst\": false,\n \"text\": \"(UTC+08:00) Taipei\",\n \"utc\": [\n \"Asia/Taipei\"\n ]\n },\n {\n \"name\": \"Ulaanbaatar Standard Time\",\n \"abbr\": \"UST\",\n \"offset\": 8,\n \"isdst\": false,\n \"text\": \"(UTC+08:00) Ulaanbaatar\",\n \"utc\": [\n \"Asia/Choibalsan\",\n \"Asia/Ulaanbaatar\"\n ]\n },\n {\n \"name\": \"North Asia East Standard Time\",\n \"abbr\": \"NAEST\",\n \"offset\": 8,\n \"isdst\": false,\n \"text\": \"(UTC+08:00) Irkutsk\",\n \"utc\": [\n \"Asia/Irkutsk\"\n ]\n },\n {\n \"name\": \"Japan Standard Time\",\n \"abbr\": \"JST\",\n \"offset\": 9,\n \"isdst\": false,\n \"text\": \"(UTC+09:00) Osaka, Sapporo, Tokyo\",\n \"utc\": [\n \"Asia/Dili\",\n \"Asia/Jayapura\",\n \"Asia/Tokyo\",\n \"Etc/GMT-9\",\n \"Pacific/Palau\"\n ]\n },\n {\n \"name\": \"Korea Standard Time\",\n \"abbr\": \"KST\",\n \"offset\": 9,\n \"isdst\": false,\n \"text\": \"(UTC+09:00) Seoul\",\n \"utc\": [\n \"Asia/Pyongyang\",\n \"Asia/Seoul\"\n ]\n },\n {\n \"name\": \"Cen. Australia Standard Time\",\n \"abbr\": \"CAST\",\n \"offset\": 9.5,\n \"isdst\": false,\n \"text\": \"(UTC+09:30) Adelaide\",\n \"utc\": [\n \"Australia/Adelaide\",\n \"Australia/Broken_Hill\"\n ]\n },\n {\n \"name\": \"AUS Central Standard Time\",\n \"abbr\": \"ACST\",\n \"offset\": 9.5,\n \"isdst\": false,\n \"text\": \"(UTC+09:30) Darwin\",\n \"utc\": [\n \"Australia/Darwin\"\n ]\n },\n {\n \"name\": \"E. Australia Standard Time\",\n \"abbr\": \"EAST\",\n \"offset\": 10,\n \"isdst\": false,\n \"text\": \"(UTC+10:00) Brisbane\",\n \"utc\": [\n \"Australia/Brisbane\",\n \"Australia/Lindeman\"\n ]\n },\n {\n \"name\": \"AUS Eastern Standard Time\",\n \"abbr\": \"AEST\",\n \"offset\": 10,\n \"isdst\": false,\n \"text\": \"(UTC+10:00) Canberra, Melbourne, Sydney\",\n \"utc\": [\n \"Australia/Melbourne\",\n \"Australia/Sydney\"\n ]\n },\n {\n \"name\": \"West Pacific Standard Time\",\n \"abbr\": \"WPST\",\n \"offset\": 10,\n \"isdst\": false,\n \"text\": \"(UTC+10:00) Guam, Port Moresby\",\n \"utc\": [\n \"Antarctica/DumontDUrville\",\n \"Etc/GMT-10\",\n \"Pacific/Guam\",\n \"Pacific/Port_Moresby\",\n \"Pacific/Saipan\",\n \"Pacific/Truk\"\n ]\n },\n {\n \"name\": \"Tasmania Standard Time\",\n \"abbr\": \"TST\",\n \"offset\": 10,\n \"isdst\": false,\n \"text\": \"(UTC+10:00) Hobart\",\n \"utc\": [\n \"Australia/Currie\",\n \"Australia/Hobart\"\n ]\n },\n {\n \"name\": \"Yakutsk Standard Time\",\n \"abbr\": \"YST\",\n \"offset\": 9,\n \"isdst\": false,\n \"text\": \"(UTC+09:00) Yakutsk\",\n \"utc\": [\n \"Asia/Chita\",\n \"Asia/Khandyga\",\n \"Asia/Yakutsk\"\n ]\n },\n {\n \"name\": \"Central Pacific Standard Time\",\n \"abbr\": \"CPST\",\n \"offset\": 11,\n \"isdst\": false,\n \"text\": \"(UTC+11:00) Solomon Is., New Caledonia\",\n \"utc\": [\n \"Antarctica/Macquarie\",\n \"Etc/GMT-11\",\n \"Pacific/Efate\",\n \"Pacific/Guadalcanal\",\n \"Pacific/Kosrae\",\n \"Pacific/Noumea\",\n \"Pacific/Ponape\"\n ]\n },\n {\n \"name\": \"Vladivostok Standard Time\",\n \"abbr\": \"VST\",\n \"offset\": 11,\n \"isdst\": false,\n \"text\": \"(UTC+11:00) Vladivostok\",\n \"utc\": [\n \"Asia/Sakhalin\",\n \"Asia/Ust-Nera\",\n \"Asia/Vladivostok\"\n ]\n },\n {\n \"name\": \"New Zealand Standard Time\",\n \"abbr\": \"NZST\",\n \"offset\": 12,\n \"isdst\": false,\n \"text\": \"(UTC+12:00) Auckland, Wellington\",\n \"utc\": [\n \"Antarctica/McMurdo\",\n \"Pacific/Auckland\"\n ]\n },\n {\n \"name\": \"UTC+12\",\n \"abbr\": \"U\",\n \"offset\": 12,\n \"isdst\": false,\n \"text\": \"(UTC+12:00) Coordinated Universal Time+12\",\n \"utc\": [\n \"Etc/GMT-12\",\n \"Pacific/Funafuti\",\n \"Pacific/Kwajalein\",\n \"Pacific/Majuro\",\n \"Pacific/Nauru\",\n \"Pacific/Tarawa\",\n \"Pacific/Wake\",\n \"Pacific/Wallis\"\n ]\n },\n {\n \"name\": \"Fiji Standard Time\",\n \"abbr\": \"FST\",\n \"offset\": 12,\n \"isdst\": false,\n \"text\": \"(UTC+12:00) Fiji\",\n \"utc\": [\n \"Pacific/Fiji\"\n ]\n },\n {\n \"name\": \"Magadan Standard Time\",\n \"abbr\": \"MST\",\n \"offset\": 12,\n \"isdst\": false,\n \"text\": \"(UTC+12:00) Magadan\",\n \"utc\": [\n \"Asia/Anadyr\",\n \"Asia/Kamchatka\",\n \"Asia/Magadan\",\n \"Asia/Srednekolymsk\"\n ]\n },\n {\n \"name\": \"Kamchatka Standard Time\",\n \"abbr\": \"KDT\",\n \"offset\": 13,\n \"isdst\": true,\n \"text\": \"(UTC+12:00) Petropavlovsk-Kamchatsky - Old\",\n \"utc\": [\n \"Asia/Kamchatka\"\n ]\n },\n {\n \"name\": \"Tonga Standard Time\",\n \"abbr\": \"TST\",\n \"offset\": 13,\n \"isdst\": false,\n \"text\": \"(UTC+13:00) Nuku'alofa\",\n \"utc\": [\n \"Etc/GMT-13\",\n \"Pacific/Enderbury\",\n \"Pacific/Fakaofo\",\n \"Pacific/Tongatapu\"\n ]\n },\n {\n \"name\": \"Samoa Standard Time\",\n \"abbr\": \"SST\",\n \"offset\": 13,\n \"isdst\": false,\n \"text\": \"(UTC+13:00) Samoa\",\n \"utc\": [\n \"Pacific/Apia\"\n ]\n }\n ],\n //List source: http://answers.google.com/answers/threadview/id/589312.html\n profession: [\n \"Airline Pilot\",\n \"Academic Team\",\n \"Accountant\",\n \"Account Executive\",\n \"Actor\",\n \"Actuary\",\n \"Acquisition Analyst\",\n \"Administrative Asst.\",\n \"Administrative Analyst\",\n \"Administrator\",\n \"Advertising Director\",\n \"Aerospace Engineer\",\n \"Agent\",\n \"Agricultural Inspector\",\n \"Agricultural Scientist\",\n \"Air Traffic Controller\",\n \"Animal Trainer\",\n \"Anthropologist\",\n \"Appraiser\",\n \"Architect\",\n \"Art Director\",\n \"Artist\",\n \"Astronomer\",\n \"Athletic Coach\",\n \"Auditor\",\n \"Author\",\n \"Baker\",\n \"Banker\",\n \"Bankruptcy Attorney\",\n \"Benefits Manager\",\n \"Biologist\",\n \"Bio-feedback Specialist\",\n \"Biomedical Engineer\",\n \"Biotechnical Researcher\",\n \"Broadcaster\",\n \"Broker\",\n \"Building Manager\",\n \"Building Contractor\",\n \"Building Inspector\",\n \"Business Analyst\",\n \"Business Planner\",\n \"Business Manager\",\n \"Buyer\",\n \"Call Center Manager\",\n \"Career Counselor\",\n \"Cash Manager\",\n \"Ceramic Engineer\",\n \"Chief Executive Officer\",\n \"Chief Operation Officer\",\n \"Chef\",\n \"Chemical Engineer\",\n \"Chemist\",\n \"Child Care Manager\",\n \"Chief Medical Officer\",\n \"Chiropractor\",\n \"Cinematographer\",\n \"City Housing Manager\",\n \"City Manager\",\n \"Civil Engineer\",\n \"Claims Manager\",\n \"Clinical Research Assistant\",\n \"Collections Manager\",\n \"Compliance Manager\",\n \"Comptroller\",\n \"Computer Manager\",\n \"Commercial Artist\",\n \"Communications Affairs Director\",\n \"Communications Director\",\n \"Communications Engineer\",\n \"Compensation Analyst\",\n \"Computer Programmer\",\n \"Computer Ops. Manager\",\n \"Computer Engineer\",\n \"Computer Operator\",\n \"Computer Graphics Specialist\",\n \"Construction Engineer\",\n \"Construction Manager\",\n \"Consultant\",\n \"Consumer Relations Manager\",\n \"Contract Administrator\",\n \"Copyright Attorney\",\n \"Copywriter\",\n \"Corporate Planner\",\n \"Corrections Officer\",\n \"Cosmetologist\",\n \"Credit Analyst\",\n \"Cruise Director\",\n \"Chief Information Officer\",\n \"Chief Technology Officer\",\n \"Customer Service Manager\",\n \"Cryptologist\",\n \"Dancer\",\n \"Data Security Manager\",\n \"Database Manager\",\n \"Day Care Instructor\",\n \"Dentist\",\n \"Designer\",\n \"Design Engineer\",\n \"Desktop Publisher\",\n \"Developer\",\n \"Development Officer\",\n \"Diamond Merchant\",\n \"Dietitian\",\n \"Direct Marketer\",\n \"Director\",\n \"Distribution Manager\",\n \"Diversity Manager\",\n \"Economist\",\n \"EEO Compliance Manager\",\n \"Editor\",\n \"Education Adminator\",\n \"Electrical Engineer\",\n \"Electro Optical Engineer\",\n \"Electronics Engineer\",\n \"Embassy Management\",\n \"Employment Agent\",\n \"Engineer Technician\",\n \"Entrepreneur\",\n \"Environmental Analyst\",\n \"Environmental Attorney\",\n \"Environmental Engineer\",\n \"Environmental Specialist\",\n \"Escrow Officer\",\n \"Estimator\",\n \"Executive Assistant\",\n \"Executive Director\",\n \"Executive Recruiter\",\n \"Facilities Manager\",\n \"Family Counselor\",\n \"Fashion Events Manager\",\n \"Fashion Merchandiser\",\n \"Fast Food Manager\",\n \"Film Producer\",\n \"Film Production Assistant\",\n \"Financial Analyst\",\n \"Financial Planner\",\n \"Financier\",\n \"Fine Artist\",\n \"Wildlife Specialist\",\n \"Fitness Consultant\",\n \"Flight Attendant\",\n \"Flight Engineer\",\n \"Floral Designer\",\n \"Food & Beverage Director\",\n \"Food Service Manager\",\n \"Forestry Technician\",\n \"Franchise Management\",\n \"Franchise Sales\",\n \"Fraud Investigator\",\n \"Freelance Writer\",\n \"Fund Raiser\",\n \"General Manager\",\n \"Geologist\",\n \"General Counsel\",\n \"Geriatric Specialist\",\n \"Gerontologist\",\n \"Glamour Photographer\",\n \"Golf Club Manager\",\n \"Gourmet Chef\",\n \"Graphic Designer\",\n \"Grounds Keeper\",\n \"Hazardous Waste Manager\",\n \"Health Care Manager\",\n \"Health Therapist\",\n \"Health Service Administrator\",\n \"Hearing Officer\",\n \"Home Economist\",\n \"Horticulturist\",\n \"Hospital Administrator\",\n \"Hotel Manager\",\n \"Human Resources Manager\",\n \"Importer\",\n \"Industrial Designer\",\n \"Industrial Engineer\",\n \"Information Director\",\n \"Inside Sales\",\n \"Insurance Adjuster\",\n \"Interior Decorator\",\n \"Internal Controls Director\",\n \"International Acct.\",\n \"International Courier\",\n \"International Lawyer\",\n \"Interpreter\",\n \"Investigator\",\n \"Investment Banker\",\n \"Investment Manager\",\n \"IT Architect\",\n \"IT Project Manager\",\n \"IT Systems Analyst\",\n \"Jeweler\",\n \"Joint Venture Manager\",\n \"Journalist\",\n \"Labor Negotiator\",\n \"Labor Organizer\",\n \"Labor Relations Manager\",\n \"Lab Services Director\",\n \"Lab Technician\",\n \"Land Developer\",\n \"Landscape Architect\",\n \"Law Enforcement Officer\",\n \"Lawyer\",\n \"Lead Software Engineer\",\n \"Lead Software Test Engineer\",\n \"Leasing Manager\",\n \"Legal Secretary\",\n \"Library Manager\",\n \"Litigation Attorney\",\n \"Loan Officer\",\n \"Lobbyist\",\n \"Logistics Manager\",\n \"Maintenance Manager\",\n \"Management Consultant\",\n \"Managed Care Director\",\n \"Managing Partner\",\n \"Manufacturing Director\",\n \"Manpower Planner\",\n \"Marine Biologist\",\n \"Market Res. Analyst\",\n \"Marketing Director\",\n \"Materials Manager\",\n \"Mathematician\",\n \"Membership Chairman\",\n \"Mechanic\",\n \"Mechanical Engineer\",\n \"Media Buyer\",\n \"Medical Investor\",\n \"Medical Secretary\",\n \"Medical Technician\",\n \"Mental Health Counselor\",\n \"Merchandiser\",\n \"Metallurgical Engineering\",\n \"Meteorologist\",\n \"Microbiologist\",\n \"MIS Manager\",\n \"Motion Picture Director\",\n \"Multimedia Director\",\n \"Musician\",\n \"Network Administrator\",\n \"Network Specialist\",\n \"Network Operator\",\n \"New Product Manager\",\n \"Novelist\",\n \"Nuclear Engineer\",\n \"Nuclear Specialist\",\n \"Nutritionist\",\n \"Nursing Administrator\",\n \"Occupational Therapist\",\n \"Oceanographer\",\n \"Office Manager\",\n \"Operations Manager\",\n \"Operations Research Director\",\n \"Optical Technician\",\n \"Optometrist\",\n \"Organizational Development Manager\",\n \"Outplacement Specialist\",\n \"Paralegal\",\n \"Park Ranger\",\n \"Patent Attorney\",\n \"Payroll Specialist\",\n \"Personnel Specialist\",\n \"Petroleum Engineer\",\n \"Pharmacist\",\n \"Photographer\",\n \"Physical Therapist\",\n \"Physician\",\n \"Physician Assistant\",\n \"Physicist\",\n \"Planning Director\",\n \"Podiatrist\",\n \"Political Analyst\",\n \"Political Scientist\",\n \"Politician\",\n \"Portfolio Manager\",\n \"Preschool Management\",\n \"Preschool Teacher\",\n \"Principal\",\n \"Private Banker\",\n \"Private Investigator\",\n \"Probation Officer\",\n \"Process Engineer\",\n \"Producer\",\n \"Product Manager\",\n \"Product Engineer\",\n \"Production Engineer\",\n \"Production Planner\",\n \"Professional Athlete\",\n \"Professional Coach\",\n \"Professor\",\n \"Project Engineer\",\n \"Project Manager\",\n \"Program Manager\",\n \"Property Manager\",\n \"Public Administrator\",\n \"Public Safety Director\",\n \"PR Specialist\",\n \"Publisher\",\n \"Purchasing Agent\",\n \"Publishing Director\",\n \"Quality Assurance Specialist\",\n \"Quality Control Engineer\",\n \"Quality Control Inspector\",\n \"Radiology Manager\",\n \"Railroad Engineer\",\n \"Real Estate Broker\",\n \"Recreational Director\",\n \"Recruiter\",\n \"Redevelopment Specialist\",\n \"Regulatory Affairs Manager\",\n \"Registered Nurse\",\n \"Rehabilitation Counselor\",\n \"Relocation Manager\",\n \"Reporter\",\n \"Research Specialist\",\n \"Restaurant Manager\",\n \"Retail Store Manager\",\n \"Risk Analyst\",\n \"Safety Engineer\",\n \"Sales Engineer\",\n \"Sales Trainer\",\n \"Sales Promotion Manager\",\n \"Sales Representative\",\n \"Sales Manager\",\n \"Service Manager\",\n \"Sanitation Engineer\",\n \"Scientific Programmer\",\n \"Scientific Writer\",\n \"Securities Analyst\",\n \"Security Consultant\",\n \"Security Director\",\n \"Seminar Presenter\",\n \"Ship's Officer\",\n \"Singer\",\n \"Social Director\",\n \"Social Program Planner\",\n \"Social Research\",\n \"Social Scientist\",\n \"Social Worker\",\n \"Sociologist\",\n \"Software Developer\",\n \"Software Engineer\",\n \"Software Test Engineer\",\n \"Soil Scientist\",\n \"Special Events Manager\",\n \"Special Education Teacher\",\n \"Special Projects Director\",\n \"Speech Pathologist\",\n \"Speech Writer\",\n \"Sports Event Manager\",\n \"Statistician\",\n \"Store Manager\",\n \"Strategic Alliance Director\",\n \"Strategic Planning Director\",\n \"Stress Reduction Specialist\",\n \"Stockbroker\",\n \"Surveyor\",\n \"Structural Engineer\",\n \"Superintendent\",\n \"Supply Chain Director\",\n \"System Engineer\",\n \"Systems Analyst\",\n \"Systems Programmer\",\n \"System Administrator\",\n \"Tax Specialist\",\n \"Teacher\",\n \"Technical Support Specialist\",\n \"Technical Illustrator\",\n \"Technical Writer\",\n \"Technology Director\",\n \"Telecom Analyst\",\n \"Telemarketer\",\n \"Theatrical Director\",\n \"Title Examiner\",\n \"Tour Escort\",\n \"Tour Guide Director\",\n \"Traffic Manager\",\n \"Trainer Translator\",\n \"Transportation Manager\",\n \"Travel Agent\",\n \"Treasurer\",\n \"TV Programmer\",\n \"Underwriter\",\n \"Union Representative\",\n \"University Administrator\",\n \"University Dean\",\n \"Urban Planner\",\n \"Veterinarian\",\n \"Vendor Relations Director\",\n \"Viticulturist\",\n \"Warehouse Manager\"\n ],\n animals : {\n //list of ocean animals comes from https://owlcation.com/stem/list-of-ocean-animals\n \"ocean\" : [\"Acantharea\",\"Anemone\",\"Angelfish King\",\"Ahi Tuna\",\"Albacore\",\"American Oyster\",\"Anchovy\",\"Armored Snail\",\"Arctic Char\",\"Atlantic Bluefin Tuna\",\"Atlantic Cod\",\"Atlantic Goliath Grouper\",\"Atlantic Trumpetfish\",\"Atlantic Wolffish\",\"Baleen Whale\",\"Banded Butterflyfish\",\"Banded Coral Shrimp\",\"Banded Sea Krait\",\"Barnacle\",\"Barndoor Skate\",\"Barracuda\",\"Basking Shark\",\"Bass\",\"Beluga Whale\",\"Bluebanded Goby\",\"Bluehead Wrasse\",\"Bluefish\",\"Bluestreak Cleaner-Wrasse\",\"Blue Marlin\",\"Blue Shark\",\"Blue Spiny Lobster\",\"Blue Tang\",\"Blue Whale\",\"Broadclub Cuttlefish\",\"Bull Shark\",\"Chambered Nautilus\",\"Chilean Basket Star\",\"Chilean Jack Mackerel\",\"Chinook Salmon\",\"Christmas Tree Worm\",\"Clam\",\"Clown Anemonefish\",\"Clown Triggerfish\",\"Cod\",\"Coelacanth\",\"Cockscomb Cup Coral\",\"Common Fangtooth\",\"Conch\",\"Cookiecutter Shark\",\"Copepod\",\"Coral\",\"Corydoras\",\"Cownose Ray\",\"Crab\",\"Crown-of-Thorns Starfish\",\"Cushion Star\",\"Cuttlefish\",\"California Sea Otters\",\"Dolphin\",\"Dolphinfish\",\"Dory\",\"Devil Fish\",\"Dugong\",\"Dumbo Octopus\",\"Dungeness Crab\",\"Eccentric Sand Dollar\",\"Edible Sea Cucumber\",\"Eel\",\"Elephant Seal\",\"Elkhorn Coral\",\"Emperor Shrimp\",\"Estuarine Crocodile\",\"Fathead Sculpin\",\"Fiddler Crab\",\"Fin Whale\",\"Flameback\",\"Flamingo Tongue Snail\",\"Flashlight Fish\",\"Flatback Turtle\",\"Flatfish\",\"Flying Fish\",\"Flounder\",\"Fluke\",\"French Angelfish\",\"Frilled Shark\",\"Fugu (also called Pufferfish)\",\"Gar\",\"Geoduck\",\"Giant Barrel Sponge\",\"Giant Caribbean Sea Anemone\",\"Giant Clam\",\"Giant Isopod\",\"Giant Kingfish\",\"Giant Oarfish\",\"Giant Pacific Octopus\",\"Giant Pyrosome\",\"Giant Sea Star\",\"Giant Squid\",\"Glowing Sucker Octopus\",\"Giant Tube Worm\",\"Goblin Shark\",\"Goosefish\",\"Great White Shark\",\"Greenland Shark\",\"Grey Atlantic Seal\",\"Grouper\",\"Grunion\",\"Guineafowl Puffer\",\"Haddock\",\"Hake\",\"Halibut\",\"Hammerhead Shark\",\"Hapuka\",\"Harbor Porpoise\",\"Harbor Seal\",\"Hatchetfish\",\"Hawaiian Monk Seal\",\"Hawksbill Turtle\",\"Hector's Dolphin\",\"Hermit Crab\",\"Herring\",\"Hoki\",\"Horn Shark\",\"Horseshoe Crab\",\"Humpback Anglerfish\",\"Humpback Whale\",\"Icefish\",\"Imperator Angelfish\",\"Irukandji Jellyfish\",\"Isopod\",\"Ivory Bush Coral\",\"Japanese Spider Crab\",\"Jellyfish\",\"John Dory\",\"Juan Fernandez Fur Seal\",\"Killer Whale\",\"Kiwa Hirsuta\",\"Krill\",\"Lagoon Triggerfish\",\"Lamprey\",\"Leafy Seadragon\",\"Leopard Seal\",\"Limpet\",\"Ling\",\"Lionfish\",\"Lions Mane Jellyfish\",\"Lobe Coral\",\"Lobster\",\"Loggerhead Turtle\",\"Longnose Sawshark\",\"Longsnout Seahorse\",\"Lophelia Coral\",\"Marrus Orthocanna\",\"Manatee\",\"Manta Ray\",\"Marlin\",\"Megamouth Shark\",\"Mexican Lookdown\",\"Mimic Octopus\",\"Moon Jelly\",\"Mollusk\",\"Monkfish\",\"Moray Eel\",\"Mullet\",\"Mussel\",\"Megaladon\",\"Napoleon Wrasse\",\"Nassau Grouper\",\"Narwhal\",\"Nautilus\",\"Needlefish\",\"Northern Seahorse\",\"North Atlantic Right Whale\",\"Northern Red Snapper\",\"Norway Lobster\",\"Nudibranch\",\"Nurse Shark\",\"Oarfish\",\"Ocean Sunfish\",\"Oceanic Whitetip Shark\",\"Octopus\",\"Olive Sea Snake\",\"Orange Roughy\",\"Ostracod\",\"Otter\",\"Oyster\",\"Pacific Angelshark\",\"Pacific Blackdragon\",\"Pacific Halibut\",\"Pacific Sardine\",\"Pacific Sea Nettle Jellyfish\",\"Pacific White Sided Dolphin\",\"Pantropical Spotted Dolphin\",\"Patagonian Toothfish\",\"Peacock Mantis Shrimp\",\"Pelagic Thresher Shark\",\"Penguin\",\"Peruvian Anchoveta\",\"Pilchard\",\"Pink Salmon\",\"Pinniped\",\"Plankton\",\"Porpoise\",\"Polar Bear\",\"Portuguese Man o' War\",\"Pycnogonid Sea Spider\",\"Quahog\",\"Queen Angelfish\",\"Queen Conch\",\"Queen Parrotfish\",\"Queensland Grouper\",\"Ragfish\",\"Ratfish\",\"Rattail Fish\",\"Ray\",\"Red Drum\",\"Red King Crab\",\"Ringed Seal\",\"Risso's Dolphin\",\"Ross Seals\",\"Sablefish\",\"Salmon\",\"Sand Dollar\",\"Sandbar Shark\",\"Sawfish\",\"Sarcastic Fringehead\",\"Scalloped Hammerhead Shark\",\"Seahorse\",\"Sea Cucumber\",\"Sea Lion\",\"Sea Urchin\",\"Seal\",\"Shark\",\"Shortfin Mako Shark\",\"Shovelnose Guitarfish\",\"Shrimp\",\"Silverside Fish\",\"Skipjack Tuna\",\"Slender Snipe Eel\",\"Smalltooth Sawfish\",\"Smelts\",\"Sockeye Salmon\",\"Southern Stingray\",\"Sponge\",\"Spotted Porcupinefish\",\"Spotted Dolphin\",\"Spotted Eagle Ray\",\"Spotted Moray\",\"Squid\",\"Squidworm\",\"Starfish\",\"Stickleback\",\"Stonefish\",\"Stoplight Loosejaw\",\"Sturgeon\",\"Swordfish\",\"Tan Bristlemouth\",\"Tasseled Wobbegong\",\"Terrible Claw Lobster\",\"Threespot Damselfish\",\"Tiger Prawn\",\"Tiger Shark\",\"Tilefish\",\"Toadfish\",\"Tropical Two-Wing Flyfish\",\"Tuna\",\"Umbrella Squid\",\"Velvet Crab\",\"Venus Flytrap Sea Anemone\",\"Vigtorniella Worm\",\"Viperfish\",\"Vampire Squid\",\"Vaquita\",\"Wahoo\",\"Walrus\",\"West Indian Manatee\",\"Whale\",\"Whale Shark\",\"Whiptail Gulper\",\"White-Beaked Dolphin\",\"White-Ring Garden Eel\",\"White Shrimp\",\"Wobbegong\",\"Wrasse\",\"Wreckfish\",\"Xiphosura\",\"Yellowtail Damselfish\",\"Yelloweye Rockfish\",\"Yellow Cup Black Coral\",\"Yellow Tube Sponge\",\"Yellowfin Tuna\",\"Zebrashark\",\"Zooplankton\"],\n //list of desert, grassland, and forest animals comes from http://www.skyenimals.com/\n \"desert\" : [\"Aardwolf\",\"Addax\",\"African Wild Ass\",\"Ant\",\"Antelope\",\"Armadillo\",\"Baboon\",\"Badger\",\"Bat\",\"Bearded Dragon\",\"Beetle\",\"Bird\",\"Black-footed Cat\",\"Boa\",\"Brown Bear\",\"Bustard\",\"Butterfly\",\"Camel\",\"Caracal\",\"Caracara\",\"Caterpillar\",\"Centipede\",\"Cheetah\",\"Chipmunk\",\"Chuckwalla\",\"Climbing Mouse\",\"Coati\",\"Cobra\",\"Cotton Rat\",\"Cougar\",\"Courser\",\"Crane Fly\",\"Crow\",\"Dassie Rat\",\"Dove\",\"Dunnart\",\"Eagle\",\"Echidna\",\"Elephant\",\"Emu\",\"Falcon\",\"Fly\",\"Fox\",\"Frogmouth\",\"Gecko\",\"Geoffroy's Cat\",\"Gerbil\",\"Grasshopper\",\"Guanaco\",\"Gundi\",\"Hamster\",\"Hawk\",\"Hedgehog\",\"Hyena\",\"Hyrax\",\"Jackal\",\"Kangaroo\",\"Kangaroo Rat\",\"Kestrel\",\"Kowari\",\"Kultarr\",\"Leopard\",\"Lion\",\"Macaw\",\"Meerkat\",\"Mouse\",\"Oryx\",\"Ostrich\",\"Owl\",\"Pronghorn\",\"Python\",\"Rabbit\",\"Raccoon\",\"Rattlesnake\",\"Rhinoceros\",\"Sand Cat\",\"Spectacled Bear\",\"Spiny Mouse\",\"Starling\",\"Stick Bug\",\"Tarantula\",\"Tit\",\"Toad\",\"Tortoise\",\"Tyrant Flycatcher\",\"Viper\",\"Vulture\",\"Waxwing\",\"Xerus\",\"Zebra\"],\n \"grassland\" : [\"Aardvark\",\"Aardwolf\",\"Accentor\",\"African Buffalo\",\"African Wild Dog\",\"Alpaca\",\"Anaconda\",\"Ant\",\"Anteater\",\"Antelope\",\"Armadillo\",\"Baboon\",\"Badger\",\"Bandicoot\",\"Barbet\",\"Bat\",\"Bee\",\"Bee-eater\",\"Beetle\",\"Bird\",\"Bison\",\"Black-footed Cat\",\"Black-footed Ferret\",\"Bluebird\",\"Boa\",\"Bowerbird\",\"Brown Bear\",\"Bush Dog\",\"Bushshrike\",\"Bustard\",\"Butterfly\",\"Buzzard\",\"Caracal\",\"Caracara\",\"Cardinal\",\"Caterpillar\",\"Cheetah\",\"Chipmunk\",\"Civet\",\"Climbing Mouse\",\"Clouded Leopard\",\"Coati\",\"Cobra\",\"Cockatoo\",\"Cockroach\",\"Common Genet\",\"Cotton Rat\",\"Cougar\",\"Courser\",\"Coyote\",\"Crane\",\"Crane Fly\",\"Cricket\",\"Crow\",\"Culpeo\",\"Death Adder\",\"Deer\",\"Deer Mouse\",\"Dingo\",\"Dinosaur\",\"Dove\",\"Drongo\",\"Duck\",\"Duiker\",\"Dunnart\",\"Eagle\",\"Echidna\",\"Elephant\",\"Elk\",\"Emu\",\"Falcon\",\"Finch\",\"Flea\",\"Fly\",\"Flying Frog\",\"Fox\",\"Frog\",\"Frogmouth\",\"Garter Snake\",\"Gazelle\",\"Gecko\",\"Geoffroy's Cat\",\"Gerbil\",\"Giant Tortoise\",\"Giraffe\",\"Grasshopper\",\"Grison\",\"Groundhog\",\"Grouse\",\"Guanaco\",\"Guinea Pig\",\"Hamster\",\"Harrier\",\"Hartebeest\",\"Hawk\",\"Hedgehog\",\"Helmetshrike\",\"Hippopotamus\",\"Hornbill\",\"Hyena\",\"Hyrax\",\"Impala\",\"Jackal\",\"Jaguar\",\"Jaguarundi\",\"Kangaroo\",\"Kangaroo Rat\",\"Kestrel\",\"Kultarr\",\"Ladybug\",\"Leopard\",\"Lion\",\"Macaw\",\"Meerkat\",\"Mouse\",\"Newt\",\"Oryx\",\"Ostrich\",\"Owl\",\"Pangolin\",\"Pheasant\",\"Prairie Dog\",\"Pronghorn\",\"Przewalski's Horse\",\"Python\",\"Quoll\",\"Rabbit\",\"Raven\",\"Rhinoceros\",\"Shelduck\",\"Sloth Bear\",\"Spectacled Bear\",\"Squirrel\",\"Starling\",\"Stick Bug\",\"Tamandua\",\"Tasmanian Devil\",\"Thornbill\",\"Thrush\",\"Toad\",\"Tortoise\"],\n \"forest\" : [\"Agouti\",\"Anaconda\",\"Anoa\",\"Ant\",\"Anteater\",\"Antelope\",\"Armadillo\",\"Asian Black Bear\",\"Aye-aye\",\"Babirusa\",\"Baboon\",\"Badger\",\"Bandicoot\",\"Banteng\",\"Barbet\",\"Basilisk\",\"Bat\",\"Bearded Dragon\",\"Bee\",\"Bee-eater\",\"Beetle\",\"Bettong\",\"Binturong\",\"Bird-of-paradise\",\"Bongo\",\"Bowerbird\",\"Bulbul\",\"Bush Dog\",\"Bushbaby\",\"Bushshrike\",\"Butterfly\",\"Buzzard\",\"Caecilian\",\"Cardinal\",\"Cassowary\",\"Caterpillar\",\"Centipede\",\"Chameleon\",\"Chimpanzee\",\"Cicada\",\"Civet\",\"Clouded Leopard\",\"Coati\",\"Cobra\",\"Cockatoo\",\"Cockroach\",\"Colugo\",\"Cotinga\",\"Cotton Rat\",\"Cougar\",\"Crane Fly\",\"Cricket\",\"Crocodile\",\"Crow\",\"Cuckoo\",\"Cuscus\",\"Death Adder\",\"Deer\",\"Dhole\",\"Dingo\",\"Dinosaur\",\"Drongo\",\"Duck\",\"Duiker\",\"Eagle\",\"Echidna\",\"Elephant\",\"Finch\",\"Flat-headed Cat\",\"Flea\",\"Flowerpecker\",\"Fly\",\"Flying Frog\",\"Fossa\",\"Frog\",\"Frogmouth\",\"Gaur\",\"Gecko\",\"Gorilla\",\"Grison\",\"Hawaiian Honeycreeper\",\"Hawk\",\"Hedgehog\",\"Helmetshrike\",\"Hornbill\",\"Hyrax\",\"Iguana\",\"Jackal\",\"Jaguar\",\"Jaguarundi\",\"Kestrel\",\"Ladybug\",\"Lemur\",\"Leopard\",\"Lion\",\"Macaw\",\"Mandrill\",\"Margay\",\"Monkey\",\"Mouse\",\"Mouse Deer\",\"Newt\",\"Okapi\",\"Old World Flycatcher\",\"Orangutan\",\"Owl\",\"Pangolin\",\"Peafowl\",\"Pheasant\",\"Possum\",\"Python\",\"Quokka\",\"Rabbit\",\"Raccoon\",\"Red Panda\",\"Red River Hog\",\"Rhinoceros\",\"Sloth Bear\",\"Spectacled Bear\",\"Squirrel\",\"Starling\",\"Stick Bug\",\"Sun Bear\",\"Tamandua\",\"Tamarin\",\"Tapir\",\"Tarantula\",\"Thrush\",\"Tiger\",\"Tit\",\"Toad\",\"Tortoise\",\"Toucan\",\"Trogon\",\"Trumpeter\",\"Turaco\",\"Turtle\",\"Tyrant Flycatcher\",\"Viper\",\"Vulture\",\"Wallaby\",\"Warbler\",\"Wasp\",\"Waxwing\",\"Weaver\",\"Weaver-finch\",\"Whistler\",\"White-eye\",\"Whydah\",\"Woodswallow\",\"Worm\",\"Wren\",\"Xenops\",\"Yellowjacket\",\"Accentor\",\"African Buffalo\",\"American Black Bear\",\"Anole\",\"Bird\",\"Bison\",\"Boa\",\"Brown Bear\",\"Chipmunk\",\"Common Genet\",\"Copperhead\",\"Coyote\",\"Deer Mouse\",\"Dormouse\",\"Elk\",\"Emu\",\"Fisher\",\"Fox\",\"Garter Snake\",\"Giant Panda\",\"Giant Tortoise\",\"Groundhog\",\"Grouse\",\"Guanaco\",\"Himalayan Tahr\",\"Kangaroo\",\"Koala\",\"Numbat\",\"Quoll\",\"Raccoon dog\",\"Tasmanian Devil\",\"Thornbill\",\"Turkey\",\"Vole\",\"Weasel\",\"Wildcat\",\"Wolf\",\"Wombat\",\"Woodchuck\",\"Woodpecker\"],\n //list of farm animals comes from https://www.buzzle.com/articles/farm-animals-list.html\n \"farm\" : [\"Alpaca\",\"Buffalo\",\"Banteng\",\"Cow\",\"Cat\",\"Chicken\",\"Carp\",\"Camel\",\"Donkey\",\"Dog\",\"Duck\",\"Emu\",\"Goat\",\"Gayal\",\"Guinea\",\"Goose\",\"Horse\",\"Honey\",\"Llama\",\"Pig\",\"Pigeon\",\"Rhea\",\"Rabbit\",\"Sheep\",\"Silkworm\",\"Turkey\",\"Yak\",\"Zebu\"],\n //list of pet animals comes from https://www.dogbreedinfo.com/pets/pet.htm\n \"pet\" : [\"Bearded Dragon\",\"Birds\",\"Burro\",\"Cats\",\"Chameleons\",\"Chickens\",\"Chinchillas\",\"Chinese Water Dragon\",\"Cows\",\"Dogs\",\"Donkey\",\"Ducks\",\"Ferrets\",\"Fish\",\"Geckos\",\"Geese\",\"Gerbils\",\"Goats\",\"Guinea Fowl\",\"Guinea Pigs\",\"Hamsters\",\"Hedgehogs\",\"Horses\",\"Iguanas\",\"Llamas\",\"Lizards\",\"Mice\",\"Mule\",\"Peafowl\",\"Pigs and Hogs\",\"Pigeons\",\"Ponies\",\"Pot Bellied Pig\",\"Rabbits\",\"Rats\",\"Sheep\",\"Skinks\",\"Snakes\",\"Stick Insects\",\"Sugar Gliders\",\"Tarantula\",\"Turkeys\",\"Turtles\"],\n //list of zoo animals comes from https://bronxzoo.com/animals\n \"zoo\" : [\"Aardvark\",\"African Wild Dog\",\"Aldabra Tortoise\",\"American Alligator\",\"American Bison\",\"Amur Tiger\",\"Anaconda\",\"Andean Condor\",\"Asian Elephant\",\"Baby Doll Sheep\",\"Bald Eagle\",\"Barred Owl\",\"Blue Iguana\",\"Boer Goat\",\"California Sea Lion\",\"Caribbean Flamingo\",\"Chinchilla\",\"Collared Lemur\",\"Coquerel's Sifaka\",\"Cuban Amazon Parrot\",\"Ebony Langur\",\"Fennec Fox\",\"Fossa\",\"Gelada\",\"Giant Anteater\",\"Giraffe\",\"Gorilla\",\"Grizzly Bear\",\"Henkel's Leaf-tailed Gecko\",\"Indian Gharial\",\"Indian Rhinoceros\",\"King Cobra\",\"King Vulture\",\"Komodo Dragon\",\"Linne's Two-toed Sloth\",\"Lion\",\"Little Penguin\",\"Madagascar Tree Boa\",\"Magellanic Penguin\",\"Malayan Tapir\",\"Malayan Tiger\",\"Matschies Tree Kangaroo\",\"Mini Donkey\",\"Monarch Butterfly\",\"Nile crocodile\",\"North American Porcupine\",\"Nubian Ibex\",\"Okapi\",\"Poison Dart Frog\",\"Polar Bear\",\"Pygmy Marmoset\",\"Radiated Tortoise\",\"Red Panda\",\"Red Ruffed Lemur\",\"Ring-tailed Lemur\",\"Ring-tailed Mongoose\",\"Rock Hyrax\",\"Small Clawed Asian Otter\",\"Snow Leopard\",\"Snowy Owl\",\"Southern White-faced Owl\",\"Southern White Rhinocerous\",\"Squirrel Monkey\",\"Tufted Puffin\",\"White Cheeked Gibbon\",\"White-throated Bee Eater\",\"Zebra\"]\n },\n primes: [\n // 1230 first primes, i.e. all primes up to the first one greater than 10000, inclusive.\n 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691,3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851,3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007,4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157,4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327,4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493,4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651,4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813,4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987,4993,4999,5003,5009,5011,5021,5023,5039,5051,5059,5077,5081,5087,5099,5101,5107,5113,5119,5147,5153,5167,5171,5179,5189,5197,5209,5227,5231,5233,5237,5261,5273,5279,5281,5297,5303,5309,5323,5333,5347,5351,5381,5387,5393,5399,5407,5413,5417,5419,5431,5437,5441,5443,5449,5471,5477,5479,5483,5501,5503,5507,5519,5521,5527,5531,5557,5563,5569,5573,5581,5591,5623,5639,5641,5647,5651,5653,5657,5659,5669,5683,5689,5693,5701,5711,5717,5737,5741,5743,5749,5779,5783,5791,5801,5807,5813,5821,5827,5839,5843,5849,5851,5857,5861,5867,5869,5879,5881,5897,5903,5923,5927,5939,5953,5981,5987,6007,6011,6029,6037,6043,6047,6053,6067,6073,6079,6089,6091,6101,6113,6121,6131,6133,6143,6151,6163,6173,6197,6199,6203,6211,6217,6221,6229,6247,6257,6263,6269,6271,6277,6287,6299,6301,6311,6317,6323,6329,6337,6343,6353,6359,6361,6367,6373,6379,6389,6397,6421,6427,6449,6451,6469,6473,6481,6491,6521,6529,6547,6551,6553,6563,6569,6571,6577,6581,6599,6607,6619,6637,6653,6659,6661,6673,6679,6689,6691,6701,6703,6709,6719,6733,6737,6761,6763,6779,6781,6791,6793,6803,6823,6827,6829,6833,6841,6857,6863,6869,6871,6883,6899,6907,6911,6917,6947,6949,6959,6961,6967,6971,6977,6983,6991,6997,7001,7013,7019,7027,7039,7043,7057,7069,7079,7103,7109,7121,7127,7129,7151,7159,7177,7187,7193,7207,7211,7213,7219,7229,7237,7243,7247,7253,7283,7297,7307,7309,7321,7331,7333,7349,7351,7369,7393,7411,7417,7433,7451,7457,7459,7477,7481,7487,7489,7499,7507,7517,7523,7529,7537,7541,7547,7549,7559,7561,7573,7577,7583,7589,7591,7603,7607,7621,7639,7643,7649,7669,7673,7681,7687,7691,7699,7703,7717,7723,7727,7741,7753,7757,7759,7789,7793,7817,7823,7829,7841,7853,7867,7873,7877,7879,7883,7901,7907,7919,7927,7933,7937,7949,7951,7963,7993,8009,8011,8017,8039,8053,8059,8069,8081,8087,8089,8093,8101,8111,8117,8123,8147,8161,8167,8171,8179,8191,8209,8219,8221,8231,8233,8237,8243,8263,8269,8273,8287,8291,8293,8297,8311,8317,8329,8353,8363,8369,8377,8387,8389,8419,8423,8429,8431,8443,8447,8461,8467,8501,8513,8521,8527,8537,8539,8543,8563,8573,8581,8597,8599,8609,8623,8627,8629,8641,8647,8663,8669,8677,8681,8689,8693,8699,8707,8713,8719,8731,8737,8741,8747,8753,8761,8779,8783,8803,8807,8819,8821,8831,8837,8839,8849,8861,8863,8867,8887,8893,8923,8929,8933,8941,8951,8963,8969,8971,8999,9001,9007,9011,9013,9029,9041,9043,9049,9059,9067,9091,9103,9109,9127,9133,9137,9151,9157,9161,9173,9181,9187,9199,9203,9209,9221,9227,9239,9241,9257,9277,9281,9283,9293,9311,9319,9323,9337,9341,9343,9349,9371,9377,9391,9397,9403,9413,9419,9421,9431,9433,9437,9439,9461,9463,9467,9473,9479,9491,9497,9511,9521,9533,9539,9547,9551,9587,9601,9613,9619,9623,9629,9631,9643,9649,9661,9677,9679,9689,9697,9719,9721,9733,9739,9743,9749,9767,9769,9781,9787,9791,9803,9811,9817,9829,9833,9839,9851,9857,9859,9871,9883,9887,9901,9907,9923,9929,9931,9941,9949,9967,9973,10007\n ],\n emotions: [\n \"love\",\n \"joy\",\n \"surprise\",\n \"anger\",\n \"sadness\",\n \"fear\"\n ],\n };\n\n var o_hasOwnProperty = Object.prototype.hasOwnProperty;\n var o_keys = (Object.keys || function(obj) {\n var result = [];\n for (var key in obj) {\n if (o_hasOwnProperty.call(obj, key)) {\n result.push(key);\n }\n }\n\n return result;\n });\n\n\n function _copyObject(source, target) {\n var keys = o_keys(source);\n var key;\n\n for (var i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n target[key] = source[key] || target[key];\n }\n }\n\n function _copyArray(source, target) {\n for (var i = 0, l = source.length; i < l; i++) {\n target[i] = source[i];\n }\n }\n\n function copyObject(source, _target) {\n var isArray = Array.isArray(source);\n var target = _target || (isArray ? new Array(source.length) : {});\n\n if (isArray) {\n _copyArray(source, target);\n } else {\n _copyObject(source, target);\n }\n\n return target;\n }\n\n /** Get the data based on key**/\n Chance.prototype.get = function (name) {\n return copyObject(data[name]);\n };\n\n // Mac Address\n Chance.prototype.mac_address = function(options){\n // typically mac addresses are separated by \":\"\n // however they can also be separated by \"-\"\n // the network variant uses a dot every fourth byte\n\n options = initOptions(options);\n if(!options.separator) {\n options.separator = options.networkVersion ? \".\" : \":\";\n }\n\n var mac_pool=\"ABCDEF1234567890\",\n mac = \"\";\n if(!options.networkVersion) {\n mac = this.n(this.string, 6, { pool: mac_pool, length:2 }).join(options.separator);\n } else {\n mac = this.n(this.string, 3, { pool: mac_pool, length:4 }).join(options.separator);\n }\n\n return mac;\n };\n\n Chance.prototype.normal = function (options) {\n options = initOptions(options, {mean : 0, dev : 1, pool : []});\n\n testRange(\n options.pool.constructor !== Array,\n \"Chance: The pool option must be a valid array.\"\n );\n testRange(\n typeof options.mean !== 'number',\n \"Chance: Mean (mean) must be a number\"\n );\n testRange(\n typeof options.dev !== 'number',\n \"Chance: Standard deviation (dev) must be a number\"\n );\n\n // If a pool has been passed, then we are returning an item from that pool,\n // using the normal distribution settings that were passed in\n if (options.pool.length > 0) {\n return this.normal_pool(options);\n }\n\n // The Marsaglia Polar method\n var s, u, v, norm,\n mean = options.mean,\n dev = options.dev;\n\n do {\n // U and V are from the uniform distribution on (-1, 1)\n u = this.random() * 2 - 1;\n v = this.random() * 2 - 1;\n\n s = u * u + v * v;\n } while (s >= 1);\n\n // Compute the standard normal variate\n norm = u * Math.sqrt(-2 * Math.log(s) / s);\n\n // Shape and scale\n return dev * norm + mean;\n };\n\n Chance.prototype.normal_pool = function(options) {\n var performanceCounter = 0;\n do {\n var idx = Math.round(this.normal({ mean: options.mean, dev: options.dev }));\n if (idx < options.pool.length && idx >= 0) {\n return options.pool[idx];\n } else {\n performanceCounter++;\n }\n } while(performanceCounter < 100);\n\n throw new RangeError(\"Chance: Your pool is too small for the given mean and standard deviation. Please adjust.\");\n };\n\n Chance.prototype.radio = function (options) {\n // Initial Letter (Typically Designated by Side of Mississippi River)\n options = initOptions(options, {side : \"?\"});\n var fl = \"\";\n switch (options.side.toLowerCase()) {\n case \"east\":\n case \"e\":\n fl = \"W\";\n break;\n case \"west\":\n case \"w\":\n fl = \"K\";\n break;\n default:\n fl = this.character({pool: \"KW\"});\n break;\n }\n\n return fl + this.character({alpha: true, casing: \"upper\"}) +\n this.character({alpha: true, casing: \"upper\"}) +\n this.character({alpha: true, casing: \"upper\"});\n };\n\n // Set the data as key and data or the data map\n Chance.prototype.set = function (name, values) {\n if (typeof name === \"string\") {\n data[name] = values;\n } else {\n data = copyObject(name, data);\n }\n };\n\n Chance.prototype.tv = function (options) {\n return this.radio(options);\n };\n\n // ID number for Brazil companies\n Chance.prototype.cnpj = function () {\n var n = this.n(this.natural, 8, { max: 9 });\n var d1 = 2+n[7]*6+n[6]*7+n[5]*8+n[4]*9+n[3]*2+n[2]*3+n[1]*4+n[0]*5;\n d1 = 11 - (d1 % 11);\n if (d1>=10){\n d1 = 0;\n }\n var d2 = d1*2+3+n[7]*7+n[6]*8+n[5]*9+n[4]*2+n[3]*3+n[2]*4+n[1]*5+n[0]*6;\n d2 = 11 - (d2 % 11);\n if (d2>=10){\n d2 = 0;\n }\n return ''+n[0]+n[1]+'.'+n[2]+n[3]+n[4]+'.'+n[5]+n[6]+n[7]+'/0001-'+d1+d2;\n };\n\n Chance.prototype.emotion = function () {\n return this.pick(this.get(\"emotions\"));\n };\n\n // -- End Miscellaneous --\n\n Chance.prototype.mersenne_twister = function (seed) {\n return new MersenneTwister(seed);\n };\n\n Chance.prototype.blueimp_md5 = function () {\n return new BlueImpMD5();\n };\n\n // Mersenne Twister from https://gist.github.com/banksean/300494\n /*\n A C-program for MT19937, with initialization improved 2002/1/26.\n Coded by Takuji Nishimura and Makoto Matsumoto.\n\n Before using, initialize the state by using init_genrand(seed)\n or init_by_array(init_key, key_length).\n\n Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,\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\n are met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n 2. 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 3. The names of its contributors may not be used to endorse or promote\n products derived from this software without specific prior written\n permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR 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\n Any feedback is very welcome.\n http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html\n email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)\n */\n var MersenneTwister = function (seed) {\n if (seed === undefined) {\n // kept random number same size as time used previously to ensure no unexpected results downstream\n seed = Math.floor(Math.random()*Math.pow(10,13));\n }\n /* Period parameters */\n this.N = 624;\n this.M = 397;\n this.MATRIX_A = 0x9908b0df; /* constant vector a */\n this.UPPER_MASK = 0x80000000; /* most significant w-r bits */\n this.LOWER_MASK = 0x7fffffff; /* least significant r bits */\n\n this.mt = new Array(this.N); /* the array for the state vector */\n this.mti = this.N + 1; /* mti==N + 1 means mt[N] is not initialized */\n\n this.init_genrand(seed);\n };\n\n /* initializes mt[N] with a seed */\n MersenneTwister.prototype.init_genrand = function (s) {\n this.mt[0] = s >>> 0;\n for (this.mti = 1; this.mti < this.N; this.mti++) {\n s = this.mt[this.mti - 1] ^ (this.mt[this.mti - 1] >>> 30);\n this.mt[this.mti] = (((((s & 0xffff0000) >>> 16) * 1812433253) << 16) + (s & 0x0000ffff) * 1812433253) + this.mti;\n /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */\n /* In the previous versions, MSBs of the seed affect */\n /* only MSBs of the array mt[]. */\n /* 2002/01/09 modified by Makoto Matsumoto */\n this.mt[this.mti] >>>= 0;\n /* for >32 bit machines */\n }\n };\n\n /* initialize by an array with array-length */\n /* init_key is the array for initializing keys */\n /* key_length is its length */\n /* slight change for C++, 2004/2/26 */\n MersenneTwister.prototype.init_by_array = function (init_key, key_length) {\n var i = 1, j = 0, k, s;\n this.init_genrand(19650218);\n k = (this.N > key_length ? this.N : key_length);\n for (; k; k--) {\n s = this.mt[i - 1] ^ (this.mt[i - 1] >>> 30);\n this.mt[i] = (this.mt[i] ^ (((((s & 0xffff0000) >>> 16) * 1664525) << 16) + ((s & 0x0000ffff) * 1664525))) + init_key[j] + j; /* non linear */\n this.mt[i] >>>= 0; /* for WORDSIZE > 32 machines */\n i++;\n j++;\n if (i >= this.N) { this.mt[0] = this.mt[this.N - 1]; i = 1; }\n if (j >= key_length) { j = 0; }\n }\n for (k = this.N - 1; k; k--) {\n s = this.mt[i - 1] ^ (this.mt[i - 1] >>> 30);\n this.mt[i] = (this.mt[i] ^ (((((s & 0xffff0000) >>> 16) * 1566083941) << 16) + (s & 0x0000ffff) * 1566083941)) - i; /* non linear */\n this.mt[i] >>>= 0; /* for WORDSIZE > 32 machines */\n i++;\n if (i >= this.N) { this.mt[0] = this.mt[this.N - 1]; i = 1; }\n }\n\n this.mt[0] = 0x80000000; /* MSB is 1; assuring non-zero initial array */\n };\n\n /* generates a random number on [0,0xffffffff]-interval */\n MersenneTwister.prototype.genrand_int32 = function () {\n var y;\n var mag01 = new Array(0x0, this.MATRIX_A);\n /* mag01[x] = x * MATRIX_A for x=0,1 */\n\n if (this.mti >= this.N) { /* generate N words at one time */\n var kk;\n\n if (this.mti === this.N + 1) { /* if init_genrand() has not been called, */\n this.init_genrand(5489); /* a default initial seed is used */\n }\n for (kk = 0; kk < this.N - this.M; kk++) {\n y = (this.mt[kk]&this.UPPER_MASK)|(this.mt[kk + 1]&this.LOWER_MASK);\n this.mt[kk] = this.mt[kk + this.M] ^ (y >>> 1) ^ mag01[y & 0x1];\n }\n for (;kk < this.N - 1; kk++) {\n y = (this.mt[kk]&this.UPPER_MASK)|(this.mt[kk + 1]&this.LOWER_MASK);\n this.mt[kk] = this.mt[kk + (this.M - this.N)] ^ (y >>> 1) ^ mag01[y & 0x1];\n }\n y = (this.mt[this.N - 1]&this.UPPER_MASK)|(this.mt[0]&this.LOWER_MASK);\n this.mt[this.N - 1] = this.mt[this.M - 1] ^ (y >>> 1) ^ mag01[y & 0x1];\n\n this.mti = 0;\n }\n\n y = this.mt[this.mti++];\n\n /* Tempering */\n y ^= (y >>> 11);\n y ^= (y << 7) & 0x9d2c5680;\n y ^= (y << 15) & 0xefc60000;\n y ^= (y >>> 18);\n\n return y >>> 0;\n };\n\n /* generates a random number on [0,0x7fffffff]-interval */\n MersenneTwister.prototype.genrand_int31 = function () {\n return (this.genrand_int32() >>> 1);\n };\n\n /* generates a random number on [0,1]-real-interval */\n MersenneTwister.prototype.genrand_real1 = function () {\n return this.genrand_int32() * (1.0 / 4294967295.0);\n /* divided by 2^32-1 */\n };\n\n /* generates a random number on [0,1)-real-interval */\n MersenneTwister.prototype.random = function () {\n return this.genrand_int32() * (1.0 / 4294967296.0);\n /* divided by 2^32 */\n };\n\n /* generates a random number on (0,1)-real-interval */\n MersenneTwister.prototype.genrand_real3 = function () {\n return (this.genrand_int32() + 0.5) * (1.0 / 4294967296.0);\n /* divided by 2^32 */\n };\n\n /* generates a random number on [0,1) with 53-bit resolution*/\n MersenneTwister.prototype.genrand_res53 = function () {\n var a = this.genrand_int32()>>>5, b = this.genrand_int32()>>>6;\n return (a * 67108864.0 + b) * (1.0 / 9007199254740992.0);\n };\n\n // BlueImp MD5 hashing algorithm from https://github.com/blueimp/JavaScript-MD5\n var BlueImpMD5 = function () {};\n\n BlueImpMD5.prototype.VERSION = '1.0.1';\n\n /*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n BlueImpMD5.prototype.safe_add = function safe_add(x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n\n /*\n * Bitwise rotate a 32-bit number to the left.\n */\n BlueImpMD5.prototype.bit_roll = function (num, cnt) {\n return (num << cnt) | (num >>> (32 - cnt));\n };\n\n /*\n * These functions implement the five basic operations the algorithm uses.\n */\n BlueImpMD5.prototype.md5_cmn = function (q, a, b, x, s, t) {\n return this.safe_add(this.bit_roll(this.safe_add(this.safe_add(a, q), this.safe_add(x, t)), s), b);\n };\n BlueImpMD5.prototype.md5_ff = function (a, b, c, d, x, s, t) {\n return this.md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);\n };\n BlueImpMD5.prototype.md5_gg = function (a, b, c, d, x, s, t) {\n return this.md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);\n };\n BlueImpMD5.prototype.md5_hh = function (a, b, c, d, x, s, t) {\n return this.md5_cmn(b ^ c ^ d, a, b, x, s, t);\n };\n BlueImpMD5.prototype.md5_ii = function (a, b, c, d, x, s, t) {\n return this.md5_cmn(c ^ (b | (~d)), a, b, x, s, t);\n };\n\n /*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n BlueImpMD5.prototype.binl_md5 = function (x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << (len % 32);\n x[(((len + 64) >>> 9) << 4) + 14] = len;\n\n var i, olda, oldb, oldc, oldd,\n a = 1732584193,\n b = -271733879,\n c = -1732584194,\n d = 271733878;\n\n for (i = 0; i < x.length; i += 16) {\n olda = a;\n oldb = b;\n oldc = c;\n oldd = d;\n\n a = this.md5_ff(a, b, c, d, x[i], 7, -680876936);\n d = this.md5_ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = this.md5_ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = this.md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = this.md5_ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = this.md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = this.md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = this.md5_ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = this.md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = this.md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = this.md5_ff(c, d, a, b, x[i + 10], 17, -42063);\n b = this.md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = this.md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = this.md5_ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = this.md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = this.md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);\n\n a = this.md5_gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = this.md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = this.md5_gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = this.md5_gg(b, c, d, a, x[i], 20, -373897302);\n a = this.md5_gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = this.md5_gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = this.md5_gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = this.md5_gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = this.md5_gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = this.md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = this.md5_gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = this.md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = this.md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = this.md5_gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = this.md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = this.md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);\n\n a = this.md5_hh(a, b, c, d, x[i + 5], 4, -378558);\n d = this.md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = this.md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = this.md5_hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = this.md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = this.md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = this.md5_hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = this.md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = this.md5_hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = this.md5_hh(d, a, b, c, x[i], 11, -358537222);\n c = this.md5_hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = this.md5_hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = this.md5_hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = this.md5_hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = this.md5_hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = this.md5_hh(b, c, d, a, x[i + 2], 23, -995338651);\n\n a = this.md5_ii(a, b, c, d, x[i], 6, -198630844);\n d = this.md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = this.md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = this.md5_ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = this.md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = this.md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = this.md5_ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = this.md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = this.md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = this.md5_ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = this.md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = this.md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = this.md5_ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = this.md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = this.md5_ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = this.md5_ii(b, c, d, a, x[i + 9], 21, -343485551);\n\n a = this.safe_add(a, olda);\n b = this.safe_add(b, oldb);\n c = this.safe_add(c, oldc);\n d = this.safe_add(d, oldd);\n }\n return [a, b, c, d];\n };\n\n /*\n * Convert an array of little-endian words to a string\n */\n BlueImpMD5.prototype.binl2rstr = function (input) {\n var i,\n output = '';\n for (i = 0; i < input.length * 32; i += 8) {\n output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xFF);\n }\n return output;\n };\n\n /*\n * Convert a raw string to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n BlueImpMD5.prototype.rstr2binl = function (input) {\n var i,\n output = [];\n output[(input.length >> 2) - 1] = undefined;\n for (i = 0; i < output.length; i += 1) {\n output[i] = 0;\n }\n for (i = 0; i < input.length * 8; i += 8) {\n output[i >> 5] |= (input.charCodeAt(i / 8) & 0xFF) << (i % 32);\n }\n return output;\n };\n\n /*\n * Calculate the MD5 of a raw string\n */\n BlueImpMD5.prototype.rstr_md5 = function (s) {\n return this.binl2rstr(this.binl_md5(this.rstr2binl(s), s.length * 8));\n };\n\n /*\n * Calculate the HMAC-MD5, of a key and some data (raw strings)\n */\n BlueImpMD5.prototype.rstr_hmac_md5 = function (key, data) {\n var i,\n bkey = this.rstr2binl(key),\n ipad = [],\n opad = [],\n hash;\n ipad[15] = opad[15] = undefined;\n if (bkey.length > 16) {\n bkey = this.binl_md5(bkey, key.length * 8);\n }\n for (i = 0; i < 16; i += 1) {\n ipad[i] = bkey[i] ^ 0x36363636;\n opad[i] = bkey[i] ^ 0x5C5C5C5C;\n }\n hash = this.binl_md5(ipad.concat(this.rstr2binl(data)), 512 + data.length * 8);\n return this.binl2rstr(this.binl_md5(opad.concat(hash), 512 + 128));\n };\n\n /*\n * Convert a raw string to a hex string\n */\n BlueImpMD5.prototype.rstr2hex = function (input) {\n var hex_tab = '0123456789abcdef',\n output = '',\n x,\n i;\n for (i = 0; i < input.length; i += 1) {\n x = input.charCodeAt(i);\n output += hex_tab.charAt((x >>> 4) & 0x0F) +\n hex_tab.charAt(x & 0x0F);\n }\n return output;\n };\n\n /*\n * Encode a string as utf-8\n */\n BlueImpMD5.prototype.str2rstr_utf8 = function (input) {\n return unescape(encodeURIComponent(input));\n };\n\n /*\n * Take string arguments and return either raw or hex encoded strings\n */\n BlueImpMD5.prototype.raw_md5 = function (s) {\n return this.rstr_md5(this.str2rstr_utf8(s));\n };\n BlueImpMD5.prototype.hex_md5 = function (s) {\n return this.rstr2hex(this.raw_md5(s));\n };\n BlueImpMD5.prototype.raw_hmac_md5 = function (k, d) {\n return this.rstr_hmac_md5(this.str2rstr_utf8(k), this.str2rstr_utf8(d));\n };\n BlueImpMD5.prototype.hex_hmac_md5 = function (k, d) {\n return this.rstr2hex(this.raw_hmac_md5(k, d));\n };\n\n BlueImpMD5.prototype.md5 = function (string, key, raw) {\n if (!key) {\n if (!raw) {\n return this.hex_md5(string);\n }\n\n return this.raw_md5(string);\n }\n\n if (!raw) {\n return this.hex_hmac_md5(key, string);\n }\n\n return this.raw_hmac_md5(key, string);\n };\n\n // CommonJS module\n if (typeof exports !== 'undefined') {\n if (typeof module !== 'undefined' && module.exports) {\n exports = module.exports = Chance;\n }\n exports.Chance = Chance;\n }\n\n // Register as an anonymous AMD module\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return Chance;\n });\n }\n\n // if there is a importsScrips object define chance for worker\n // allows worker to use full Chance functionality with seed\n if (typeof importScripts !== 'undefined') {\n chance = new Chance();\n self.Chance = Chance;\n }\n\n // If there is a window object, that at least has a document property,\n // instantiate and define chance on the window\n if (typeof window === \"object\" && typeof window.document === \"object\") {\n window.Chance = Chance;\n window.chance = new Chance();\n }\n})();\n","/**\n * Locale character mapping rules.\n */\ninterface Locale {\n regexp: RegExp;\n map: Record;\n}\n\n/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nconst SUPPORTED_LOCALE: Record = {\n tr: {\n regexp: /\\u0130|\\u0049|\\u0049\\u0307/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n az: {\n regexp: /\\u0130/g,\n map: {\n İ: \"\\u0069\",\n I: \"\\u0131\",\n İ: \"\\u0069\",\n },\n },\n lt: {\n regexp: /\\u0049|\\u004A|\\u012E|\\u00CC|\\u00CD|\\u0128/g,\n map: {\n I: \"\\u0069\\u0307\",\n J: \"\\u006A\\u0307\",\n Į: \"\\u012F\\u0307\",\n Ì: \"\\u0069\\u0307\\u0300\",\n Í: \"\\u0069\\u0307\\u0301\",\n Ĩ: \"\\u0069\\u0307\\u0303\",\n },\n },\n};\n\n/**\n * Localized lower case.\n */\nexport function localeLowerCase(str: string, locale: string) {\n const lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang) return lowerCase(str.replace(lang.regexp, (m) => lang.map[m]));\n return lowerCase(str);\n}\n\n/**\n * Lower case as a function.\n */\nexport function lowerCase(str: string) {\n return str.toLowerCase();\n}\n","import { lowerCase } from \"lower-case\";\n\nexport interface Options {\n splitRegexp?: RegExp | RegExp[];\n stripRegexp?: RegExp | RegExp[];\n delimiter?: string;\n transform?: (part: string, index: number, parts: string[]) => string;\n}\n\n// Support camel case (\"camelCase\" -> \"camel Case\" and \"CAMELCase\" -> \"CAMEL Case\").\nconst DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];\n\n// Remove all non-word characters.\nconst DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;\n\n/**\n * Normalize the string into something other libraries can manipulate easier.\n */\nexport function noCase(input: string, options: Options = {}) {\n const {\n splitRegexp = DEFAULT_SPLIT_REGEXP,\n stripRegexp = DEFAULT_STRIP_REGEXP,\n transform = lowerCase,\n delimiter = \" \",\n } = options;\n\n let result = replace(\n replace(input, splitRegexp, \"$1\\0$2\"),\n stripRegexp,\n \"\\0\"\n );\n let start = 0;\n let end = result.length;\n\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n while (result.charAt(end - 1) === \"\\0\") end--;\n\n // Transform each token independently.\n return result.slice(start, end).split(\"\\0\").map(transform).join(delimiter);\n}\n\n/**\n * Replace `re` in the input string with the replacement value.\n */\nfunction replace(input: string, re: RegExp | RegExp[], value: string) {\n if (re instanceof RegExp) return input.replace(re, value);\n return re.reduce((input, re) => input.replace(re, value), input);\n}\n","import { noCase, Options } from \"no-case\";\n\nexport { Options };\n\nexport function pascalCaseTransform(input: string, index: number) {\n const firstChar = input.charAt(0);\n const lowerChars = input.substr(1).toLowerCase();\n if (index > 0 && firstChar >= \"0\" && firstChar <= \"9\") {\n return `_${firstChar}${lowerChars}`;\n }\n return `${firstChar.toUpperCase()}${lowerChars}`;\n}\n\nexport function pascalCaseTransformMerge(input: string) {\n return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();\n}\n\nexport function pascalCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \"\",\n transform: pascalCaseTransform,\n ...options,\n });\n}\n","import {\n pascalCase,\n pascalCaseTransform,\n pascalCaseTransformMerge,\n Options,\n} from \"pascal-case\";\n\nexport { Options };\n\nexport function camelCaseTransform(input: string, index: number) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransform(input, index);\n}\n\nexport function camelCaseTransformMerge(input: string, index: number) {\n if (index === 0) return input.toLowerCase();\n return pascalCaseTransformMerge(input);\n}\n\nexport function camelCase(input: string, options: Options = {}) {\n return pascalCase(input, {\n transform: camelCaseTransform,\n ...options,\n });\n}\n","/**\n * Upper case the first character of an input string.\n */\nexport function upperCaseFirst(input: string) {\n return input.charAt(0).toUpperCase() + input.substr(1);\n}\n","import { noCase, Options } from \"no-case\";\nimport { upperCaseFirst } from \"upper-case-first\";\n\nexport { Options };\n\nexport function capitalCaseTransform(input: string) {\n return upperCaseFirst(input.toLowerCase());\n}\n\nexport function capitalCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \" \",\n transform: capitalCaseTransform,\n ...options,\n });\n}\n","/**\n * Locale character mapping rules.\n */\ninterface Locale {\n regexp: RegExp;\n map: Record;\n}\n\n/**\n * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt\n */\nconst SUPPORTED_LOCALE: Record = {\n tr: {\n regexp: /[\\u0069]/g,\n map: {\n i: \"\\u0130\",\n },\n },\n az: {\n regexp: /[\\u0069]/g,\n map: {\n i: \"\\u0130\",\n },\n },\n lt: {\n regexp: /[\\u0069\\u006A\\u012F]\\u0307|\\u0069\\u0307[\\u0300\\u0301\\u0303]/g,\n map: {\n i̇: \"\\u0049\",\n j̇: \"\\u004A\",\n į̇: \"\\u012E\",\n i̇̀: \"\\u00CC\",\n i̇́: \"\\u00CD\",\n i̇̃: \"\\u0128\",\n },\n },\n};\n\n/**\n * Localized upper case.\n */\nexport function localeUpperCase(str: string, locale: string) {\n const lang = SUPPORTED_LOCALE[locale.toLowerCase()];\n if (lang) return upperCase(str.replace(lang.regexp, (m) => lang.map[m]));\n return upperCase(str);\n}\n\n/**\n * Upper case as a function.\n */\nexport function upperCase(str: string) {\n return str.toUpperCase();\n}\n","import { noCase, Options } from \"no-case\";\nimport { upperCase } from \"upper-case\";\n\nexport { Options };\n\nexport function constantCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \"_\",\n transform: upperCase,\n ...options,\n });\n}\n","import { noCase, Options } from \"no-case\";\n\nexport { Options };\n\nexport function dotCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \".\",\n ...options,\n });\n}\n","import { capitalCase, Options } from \"capital-case\";\n\nexport { Options };\n\nexport function headerCase(input: string, options: Options = {}) {\n return capitalCase(input, {\n delimiter: \"-\",\n ...options,\n });\n}\n","import { dotCase, Options } from \"dot-case\";\n\nexport { Options };\n\nexport function paramCase(input: string, options: Options = {}) {\n return dotCase(input, {\n delimiter: \"-\",\n ...options,\n });\n}\n","import { dotCase, Options } from \"dot-case\";\n\nexport { Options };\n\nexport function pathCase(input: string, options: Options = {}) {\n return dotCase(input, {\n delimiter: \"/\",\n ...options,\n });\n}\n","import { noCase, Options } from \"no-case\";\nimport { upperCaseFirst } from \"upper-case-first\";\n\nexport { Options };\n\nexport function sentenceCaseTransform(input: string, index: number) {\n const result = input.toLowerCase();\n if (index === 0) return upperCaseFirst(result);\n return result;\n}\n\nexport function sentenceCase(input: string, options: Options = {}) {\n return noCase(input, {\n delimiter: \" \",\n transform: sentenceCaseTransform,\n ...options,\n });\n}\n","import { dotCase, Options } from \"dot-case\";\n\nexport { Options };\n\nexport function snakeCase(input: string, options: Options = {}) {\n return dotCase(input, {\n delimiter: \"_\",\n ...options,\n });\n}\n","/*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32;\n(function (factory) {\n\t/*jshint ignore:start */\n\t/*eslint-disable */\n\tif(typeof DO_NOT_EXPORT_CRC === 'undefined') {\n\t\tif('object' === typeof exports) {\n\t\t\tfactory(exports);\n\t\t} else if ('function' === typeof define && define.amd) {\n\t\t\tdefine(function () {\n\t\t\t\tvar module = {};\n\t\t\t\tfactory(module);\n\t\t\t\treturn module;\n\t\t\t});\n\t\t} else {\n\t\t\tfactory(CRC32 = {});\n\t\t}\n\t} else {\n\t\tfactory(CRC32 = {});\n\t}\n\t/*eslint-enable */\n\t/*jshint ignore:end */\n}(function(CRC32) {\nCRC32.version = '1.2.2';\n/*global Int32Array */\nfunction signed_crc_table() {\n\tvar c = 0, table = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T0 = signed_crc_table();\nfunction slice_by_16_tables(T) {\n\tvar c = 0, v = 0, n = 0, table = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ;\n\n\tfor(n = 0; n != 256; ++n) table[n] = T[n];\n\tfor(n = 0; n != 256; ++n) {\n\t\tv = T[n];\n\t\tfor(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF];\n\t}\n\tvar out = [];\n\tfor(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);\n\treturn out;\n}\nvar TT = slice_by_16_tables(T0);\nvar T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];\nvar T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];\nvar Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];\nfunction crc32_bstr(bstr, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_buf(B, seed) {\n\tvar C = seed ^ -1, L = B.length - 15, i = 0;\n\tfor(; i < L;) C =\n\t\tTf[B[i++] ^ (C & 255)] ^\n\t\tTe[B[i++] ^ ((C >> 8) & 255)] ^\n\t\tTd[B[i++] ^ ((C >> 16) & 255)] ^\n\t\tTc[B[i++] ^ (C >>> 24)] ^\n\t\tTb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^\n\t\tT7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^\n\t\tT3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];\n\tL += 15;\n\twhile(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_str(str, seed) {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = str.length, c = 0, d = 0; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T0[(C^c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn ~C;\n}\nCRC32.table = T0;\n// $FlowIgnore\nCRC32.bstr = crc32_bstr;\n// $FlowIgnore\nCRC32.buf = crc32_buf;\n// $FlowIgnore\nCRC32.str = crc32_str;\n}));\n","/*\n* FileSaver.js\n* A saveAs() FileSaver implementation.\n*\n* By Eli Grey, http://eligrey.com\n*\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n* source : http://purl.eligrey.com/github/FileSaver.js\n*/\n\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nvar _global = typeof window === 'object' && window.window === window\n ? window : typeof self === 'object' && self.self === self\n ? self : typeof global === 'object' && global.global === global\n ? global\n : this\n\nfunction bom (blob, opts) {\n if (typeof opts === 'undefined') opts = { autoBom: false }\n else if (typeof opts !== 'object') {\n console.warn('Deprecated: Expected third argument to be a object')\n opts = { autoBom: !opts }\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\n }\n return blob\n}\n\nfunction download (url, name, opts) {\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url)\n xhr.responseType = 'blob'\n xhr.onload = function () {\n saveAs(xhr.response, name, opts)\n }\n xhr.onerror = function () {\n console.error('could not download file')\n }\n xhr.send()\n}\n\nfunction corsEnabled (url) {\n var xhr = new XMLHttpRequest()\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false)\n try {\n xhr.send()\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click (node) {\n try {\n node.dispatchEvent(new MouseEvent('click'))\n } catch (e) {\n var evt = document.createEvent('MouseEvents')\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\n 20, false, false, false, false, 0, null)\n node.dispatchEvent(evt)\n }\n}\n\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\n\nvar saveAs = _global.saveAs || (\n // probably in some web worker\n (typeof window !== 'object' || window !== _global)\n ? function saveAs () { /* noop */ }\n\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\n ? function saveAs (blob, name, opts) {\n var URL = _global.URL || _global.webkitURL\n var a = document.createElement('a')\n name = name || blob.name || 'download'\n\n a.download = name\n a.rel = 'noopener' // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, a.target = '_blank')\n } else {\n click(a)\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob)\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\n setTimeout(function () { click(a) }, 0)\n }\n }\n\n // Use msSaveOrOpenBlob as a second approach\n : 'msSaveOrOpenBlob' in navigator\n ? function saveAs (blob, name, opts) {\n name = name || blob.name || 'download'\n\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts)\n } else {\n var a = document.createElement('a')\n a.href = blob\n a.target = '_blank'\n setTimeout(function () { click(a) })\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\n }\n }\n\n // Fallback to using FileReader and a popup\n : function saveAs (blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank')\n if (popup) {\n popup.document.title =\n popup.document.body.innerText = 'downloading...'\n }\n\n if (typeof blob === 'string') return download(blob, name, opts)\n\n var force = blob.type === 'application/octet-stream'\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\n\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader()\n reader.onloadend = function () {\n var url = reader.result\n url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')\n if (popup) popup.location.href = url\n else location = url\n popup = null // reverse-tabnabbing #460\n }\n reader.readAsDataURL(blob)\n } else {\n var URL = _global.URL || _global.webkitURL\n var url = URL.createObjectURL(blob)\n if (popup) popup.location = url\n else location.href = url\n popup = null // reverse-tabnabbing #460\n setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s\n }\n }\n)\n\n_global.saveAs = saveAs.saveAs = saveAs\n\nif (typeof module !== 'undefined') {\n module.exports = saveAs;\n}\n","/*!\n * \n * jsPDF AutoTable plugin v3.8.3\n *\n * Copyright (c) 2024 Simon Bengtsson, https://github.com/simonbengtsson/jsPDF-AutoTable\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n *\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jspdf\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }())) : factory(root[\"jspdf\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(typeof globalThis !== 'undefined' ? globalThis : typeof this !== 'undefined' ? this : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : global , function(__WEBPACK_EXTERNAL_MODULE__964__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 172:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CellHookData = exports.HookData = void 0;\nvar HookData = /** @class */ (function () {\n function HookData(doc, table, cursor) {\n this.table = table;\n this.pageNumber = table.pageNumber;\n this.pageCount = this.pageNumber;\n this.settings = table.settings;\n this.cursor = cursor;\n this.doc = doc.getDocument();\n }\n return HookData;\n}());\nexports.HookData = HookData;\nvar CellHookData = /** @class */ (function (_super) {\n __extends(CellHookData, _super);\n function CellHookData(doc, table, cell, row, column, cursor) {\n var _this = _super.call(this, doc, table, cursor) || this;\n _this.cell = cell;\n _this.row = row;\n _this.column = column;\n _this.section = row.section;\n return _this;\n }\n return CellHookData;\n}(HookData));\nexports.CellHookData = CellHookData;\n\n\n/***/ }),\n\n/***/ 340:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar htmlParser_1 = __webpack_require__(4);\nvar autoTableText_1 = __webpack_require__(136);\nvar documentHandler_1 = __webpack_require__(744);\nvar inputParser_1 = __webpack_require__(776);\nvar tableDrawer_1 = __webpack_require__(664);\nvar tableCalculator_1 = __webpack_require__(972);\nfunction default_1(jsPDF) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n jsPDF.API.autoTable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var options;\n if (args.length === 1) {\n options = args[0];\n }\n else {\n console.error('Use of deprecated autoTable initiation');\n options = args[2] || {};\n options.columns = args[0];\n options.body = args[1];\n }\n var input = (0, inputParser_1.parseInput)(this, options);\n var table = (0, tableCalculator_1.createTable)(this, input);\n (0, tableDrawer_1.drawTable)(this, table);\n return this;\n };\n // Assign false to enable `doc.lastAutoTable.finalY || 40` sugar\n jsPDF.API.lastAutoTable = false;\n jsPDF.API.previousAutoTable = false; // deprecated in v3\n jsPDF.API.autoTable.previous = false; // deprecated in v3\n jsPDF.API.autoTableText = function (text, x, y, styles) {\n (0, autoTableText_1.default)(text, x, y, styles, this);\n };\n jsPDF.API.autoTableSetDefaults = function (defaults) {\n documentHandler_1.DocHandler.setDefaults(defaults, this);\n return this;\n };\n jsPDF.autoTableSetDefaults = function (defaults, doc) {\n documentHandler_1.DocHandler.setDefaults(defaults, doc);\n };\n jsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n var _a;\n if (includeHiddenElements === void 0) { includeHiddenElements = false; }\n if (typeof window === 'undefined') {\n console.error('Cannot run autoTableHtmlToJson in non browser environment');\n return null;\n }\n var doc = new documentHandler_1.DocHandler(this);\n var _b = (0, htmlParser_1.parseHtml)(doc, tableElem, window, includeHiddenElements, false), head = _b.head, body = _b.body;\n var columns = ((_a = head[0]) === null || _a === void 0 ? void 0 : _a.map(function (c) { return c.content; })) || [];\n return { columns: columns, rows: body, data: body };\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableEndPosY = function () {\n console.error('Use of deprecated function: autoTableEndPosY. Use doc.lastAutoTable.finalY instead.');\n var prev = this.lastAutoTable;\n if (prev && prev.finalY) {\n return prev.finalY;\n }\n else {\n return 0;\n }\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPageContent = function (hook) {\n console.error('Use of deprecated function: autoTableAddPageContent. Use jsPDF.autoTableSetDefaults({didDrawPage: () => {}}) instead.');\n if (!jsPDF.API.autoTable.globalDefaults) {\n jsPDF.API.autoTable.globalDefaults = {};\n }\n jsPDF.API.autoTable.globalDefaults.addPageContent = hook;\n return this;\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPage = function () {\n console.error('Use of deprecated function: autoTableAddPage. Use doc.addPage()');\n this.addPage();\n return this;\n };\n}\nexports[\"default\"] = default_1;\n\n\n/***/ }),\n\n/***/ 136:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Improved text function with halign and valign support\n * Inspiration from: http://stackoverflow.com/questions/28327510/align-text-right-using-jspdf/28433113#28433113\n */\nfunction default_1(text, x, y, styles, doc) {\n styles = styles || {};\n var PHYSICAL_LINE_HEIGHT = 1.15;\n var k = doc.internal.scaleFactor;\n var fontSize = doc.internal.getFontSize() / k;\n var lineHeightFactor = doc.getLineHeightFactor\n ? doc.getLineHeightFactor()\n : PHYSICAL_LINE_HEIGHT;\n var lineHeight = fontSize * lineHeightFactor;\n var splitRegex = /\\r\\n|\\r|\\n/g;\n var splitText = '';\n var lineCount = 1;\n if (styles.valign === 'middle' ||\n styles.valign === 'bottom' ||\n styles.halign === 'center' ||\n styles.halign === 'right') {\n splitText = typeof text === 'string' ? text.split(splitRegex) : text;\n lineCount = splitText.length || 1;\n }\n // Align the top\n y += fontSize * (2 - PHYSICAL_LINE_HEIGHT);\n if (styles.valign === 'middle')\n y -= (lineCount / 2) * lineHeight;\n else if (styles.valign === 'bottom')\n y -= lineCount * lineHeight;\n if (styles.halign === 'center' || styles.halign === 'right') {\n var alignSize = fontSize;\n if (styles.halign === 'center')\n alignSize *= 0.5;\n if (splitText && lineCount >= 1) {\n for (var iLine = 0; iLine < splitText.length; iLine++) {\n doc.text(splitText[iLine], x - doc.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n y += lineHeight;\n }\n return doc;\n }\n x -= doc.getStringUnitWidth(text) * alignSize;\n }\n if (styles.halign === 'justify') {\n doc.text(text, x, y, {\n maxWidth: styles.maxWidth || 100,\n align: 'justify',\n });\n }\n else {\n doc.text(text, x, y);\n }\n return doc;\n}\nexports[\"default\"] = default_1;\n\n\n/***/ }),\n\n/***/ 420:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getPageAvailableWidth = exports.parseSpacing = exports.getFillStyle = exports.addTableBorder = exports.getStringWidth = void 0;\nfunction getStringWidth(text, styles, doc) {\n doc.applyStyles(styles, true);\n var textArr = Array.isArray(text) ? text : [text];\n var widestLineWidth = textArr\n .map(function (text) { return doc.getTextWidth(text); })\n .reduce(function (a, b) { return Math.max(a, b); }, 0);\n return widestLineWidth;\n}\nexports.getStringWidth = getStringWidth;\nfunction addTableBorder(doc, table, startPos, cursor) {\n var lineWidth = table.settings.tableLineWidth;\n var lineColor = table.settings.tableLineColor;\n doc.applyStyles({ lineWidth: lineWidth, lineColor: lineColor });\n var fillStyle = getFillStyle(lineWidth, false);\n if (fillStyle) {\n doc.rect(startPos.x, startPos.y, table.getWidth(doc.pageSize().width), cursor.y - startPos.y, fillStyle);\n }\n}\nexports.addTableBorder = addTableBorder;\nfunction getFillStyle(lineWidth, fillColor) {\n var drawLine = lineWidth > 0;\n var drawBackground = fillColor || fillColor === 0;\n if (drawLine && drawBackground) {\n return 'DF'; // Fill then stroke\n }\n else if (drawLine) {\n return 'S'; // Only stroke (transparent background)\n }\n else if (drawBackground) {\n return 'F'; // Only fill, no stroke\n }\n else {\n return null;\n }\n}\nexports.getFillStyle = getFillStyle;\nfunction parseSpacing(value, defaultValue) {\n var _a, _b, _c, _d;\n value = value || defaultValue;\n if (Array.isArray(value)) {\n if (value.length >= 4) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[3],\n };\n }\n else if (value.length === 3) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[1],\n };\n }\n else if (value.length === 2) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[0],\n left: value[1],\n };\n }\n else if (value.length === 1) {\n value = value[0];\n }\n else {\n value = defaultValue;\n }\n }\n if (typeof value === 'object') {\n if (typeof value.vertical === 'number') {\n value.top = value.vertical;\n value.bottom = value.vertical;\n }\n if (typeof value.horizontal === 'number') {\n value.right = value.horizontal;\n value.left = value.horizontal;\n }\n return {\n left: (_a = value.left) !== null && _a !== void 0 ? _a : defaultValue,\n top: (_b = value.top) !== null && _b !== void 0 ? _b : defaultValue,\n right: (_c = value.right) !== null && _c !== void 0 ? _c : defaultValue,\n bottom: (_d = value.bottom) !== null && _d !== void 0 ? _d : defaultValue,\n };\n }\n if (typeof value !== 'number') {\n value = defaultValue;\n }\n return { top: value, right: value, bottom: value, left: value };\n}\nexports.parseSpacing = parseSpacing;\nfunction getPageAvailableWidth(doc, table) {\n var margins = parseSpacing(table.settings.margin, 0);\n return doc.pageSize().width - (margins.left + margins.right);\n}\nexports.getPageAvailableWidth = getPageAvailableWidth;\n\n\n/***/ }),\n\n/***/ 796:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTheme = exports.defaultStyles = exports.HtmlRowInput = void 0;\nvar HtmlRowInput = /** @class */ (function (_super) {\n __extends(HtmlRowInput, _super);\n function HtmlRowInput(element) {\n var _this = _super.call(this) || this;\n _this._element = element;\n return _this;\n }\n return HtmlRowInput;\n}(Array));\nexports.HtmlRowInput = HtmlRowInput;\n// Base style for all themes\nfunction defaultStyles(scaleFactor) {\n return {\n font: 'helvetica', // helvetica, times, courier\n fontStyle: 'normal', // normal, bold, italic, bolditalic\n overflow: 'linebreak', // linebreak, ellipsize, visible or hidden\n fillColor: false, // Either false for transparent, rbg array e.g. [255, 255, 255] or gray level e.g 200\n textColor: 20,\n halign: 'left', // left, center, right, justify\n valign: 'top', // top, middle, bottom\n fontSize: 10,\n cellPadding: 5 / scaleFactor, // number or {top,left,right,left,vertical,horizontal}\n lineColor: 200,\n lineWidth: 0,\n cellWidth: 'auto', // 'auto'|'wrap'|number\n minCellHeight: 0,\n minCellWidth: 0,\n };\n}\nexports.defaultStyles = defaultStyles;\nfunction getTheme(name) {\n var themes = {\n striped: {\n table: { fillColor: 255, textColor: 80, fontStyle: 'normal' },\n head: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n body: {},\n foot: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n alternateRow: { fillColor: 245 },\n },\n grid: {\n table: {\n fillColor: 255,\n textColor: 80,\n fontStyle: 'normal',\n lineWidth: 0.1,\n },\n head: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n body: {},\n foot: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n alternateRow: {},\n },\n plain: {\n head: { fontStyle: 'bold' },\n foot: { fontStyle: 'bold' },\n },\n };\n return themes[name];\n}\nexports.getTheme = getTheme;\n\n\n/***/ }),\n\n/***/ 903:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseCss = void 0;\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nvar common_1 = __webpack_require__(420);\nfunction parseCss(supportedFonts, element, scaleFactor, style, window) {\n var result = {};\n var pxScaleFactor = 96 / 72;\n var backgroundColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['backgroundColor'];\n });\n if (backgroundColor != null)\n result.fillColor = backgroundColor;\n var textColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['color'];\n });\n if (textColor != null)\n result.textColor = textColor;\n var padding = parsePadding(style, scaleFactor);\n if (padding)\n result.cellPadding = padding;\n var borderColorSide = 'borderTopColor';\n var finalScaleFactor = pxScaleFactor * scaleFactor;\n var btw = style.borderTopWidth;\n if (style.borderBottomWidth === btw &&\n style.borderRightWidth === btw &&\n style.borderLeftWidth === btw) {\n var borderWidth = (parseFloat(btw) || 0) / finalScaleFactor;\n if (borderWidth)\n result.lineWidth = borderWidth;\n }\n else {\n result.lineWidth = {\n top: (parseFloat(style.borderTopWidth) || 0) / finalScaleFactor,\n right: (parseFloat(style.borderRightWidth) || 0) / finalScaleFactor,\n bottom: (parseFloat(style.borderBottomWidth) || 0) / finalScaleFactor,\n left: (parseFloat(style.borderLeftWidth) || 0) / finalScaleFactor,\n };\n // Choose border color of first available side\n // could be improved by supporting object as lineColor\n if (!result.lineWidth.top) {\n if (result.lineWidth.right) {\n borderColorSide = 'borderRightColor';\n }\n else if (result.lineWidth.bottom) {\n borderColorSide = 'borderBottomColor';\n }\n else if (result.lineWidth.left) {\n borderColorSide = 'borderLeftColor';\n }\n }\n }\n var borderColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)[borderColorSide];\n });\n if (borderColor != null)\n result.lineColor = borderColor;\n var accepted = ['left', 'right', 'center', 'justify'];\n if (accepted.indexOf(style.textAlign) !== -1) {\n result.halign = style.textAlign;\n }\n accepted = ['middle', 'bottom', 'top'];\n if (accepted.indexOf(style.verticalAlign) !== -1) {\n result.valign = style.verticalAlign;\n }\n var res = parseInt(style.fontSize || '');\n if (!isNaN(res))\n result.fontSize = res / pxScaleFactor;\n var fontStyle = parseFontStyle(style);\n if (fontStyle)\n result.fontStyle = fontStyle;\n var font = (style.fontFamily || '').toLowerCase();\n if (supportedFonts.indexOf(font) !== -1) {\n result.font = font;\n }\n return result;\n}\nexports.parseCss = parseCss;\nfunction parseFontStyle(style) {\n var res = '';\n if (style.fontWeight === 'bold' ||\n style.fontWeight === 'bolder' ||\n parseInt(style.fontWeight) >= 700) {\n res = 'bold';\n }\n if (style.fontStyle === 'italic' || style.fontStyle === 'oblique') {\n res += 'italic';\n }\n return res;\n}\nfunction parseColor(element, styleGetter) {\n var cssColor = realColor(element, styleGetter);\n if (!cssColor)\n return null;\n var rgba = cssColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d*\\.?\\d*))?\\)$/);\n if (!rgba || !Array.isArray(rgba)) {\n return null;\n }\n var color = [\n parseInt(rgba[1]),\n parseInt(rgba[2]),\n parseInt(rgba[3]),\n ];\n var alpha = parseInt(rgba[4]);\n if (alpha === 0 || isNaN(color[0]) || isNaN(color[1]) || isNaN(color[2])) {\n return null;\n }\n return color;\n}\nfunction realColor(elem, styleGetter) {\n var bg = styleGetter(elem);\n if (bg === 'rgba(0, 0, 0, 0)' ||\n bg === 'transparent' ||\n bg === 'initial' ||\n bg === 'inherit') {\n if (elem.parentElement == null) {\n return null;\n }\n return realColor(elem.parentElement, styleGetter);\n }\n else {\n return bg;\n }\n}\nfunction parsePadding(style, scaleFactor) {\n var val = [\n style.paddingTop,\n style.paddingRight,\n style.paddingBottom,\n style.paddingLeft,\n ];\n var pxScaleFactor = 96 / (72 / scaleFactor);\n var linePadding = (parseInt(style.lineHeight) - parseInt(style.fontSize)) / scaleFactor / 2;\n var inputPadding = val.map(function (n) {\n return parseInt(n || '0') / pxScaleFactor;\n });\n var padding = (0, common_1.parseSpacing)(inputPadding, 0);\n if (linePadding > padding.top) {\n padding.top = linePadding;\n }\n if (linePadding > padding.bottom) {\n padding.bottom = linePadding;\n }\n return padding;\n}\n\n\n/***/ }),\n\n/***/ 744:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DocHandler = void 0;\nvar globalDefaults = {};\nvar DocHandler = /** @class */ (function () {\n function DocHandler(jsPDFDocument) {\n this.jsPDFDocument = jsPDFDocument;\n this.userStyles = {\n // Black for versions of jspdf without getTextColor\n textColor: jsPDFDocument.getTextColor\n ? this.jsPDFDocument.getTextColor()\n : 0,\n fontSize: jsPDFDocument.internal.getFontSize(),\n fontStyle: jsPDFDocument.internal.getFont().fontStyle,\n font: jsPDFDocument.internal.getFont().fontName,\n // 0 for versions of jspdf without getLineWidth\n lineWidth: jsPDFDocument.getLineWidth\n ? this.jsPDFDocument.getLineWidth()\n : 0,\n // Black for versions of jspdf without getDrawColor\n lineColor: jsPDFDocument.getDrawColor\n ? this.jsPDFDocument.getDrawColor()\n : 0,\n };\n }\n DocHandler.setDefaults = function (defaults, doc) {\n if (doc === void 0) { doc = null; }\n if (doc) {\n doc.__autoTableDocumentDefaults = defaults;\n }\n else {\n globalDefaults = defaults;\n }\n };\n DocHandler.unifyColor = function (c) {\n if (Array.isArray(c)) {\n return c;\n }\n else if (typeof c === 'number') {\n return [c, c, c];\n }\n else if (typeof c === 'string') {\n return [c];\n }\n else {\n return null;\n }\n };\n DocHandler.prototype.applyStyles = function (styles, fontOnly) {\n // Font style needs to be applied before font\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/632\n var _a, _b, _c;\n if (fontOnly === void 0) { fontOnly = false; }\n if (styles.fontStyle)\n this.jsPDFDocument.setFontStyle &&\n this.jsPDFDocument.setFontStyle(styles.fontStyle);\n var _d = this.jsPDFDocument.internal.getFont(), fontStyle = _d.fontStyle, fontName = _d.fontName;\n if (styles.font)\n fontName = styles.font;\n if (styles.fontStyle) {\n fontStyle = styles.fontStyle;\n var availableFontStyles = this.getFontList()[fontName];\n if (availableFontStyles &&\n availableFontStyles.indexOf(fontStyle) === -1) {\n // Common issue was that the default bold in headers\n // made custom fonts not work. For example:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/653\n this.jsPDFDocument.setFontStyle &&\n this.jsPDFDocument.setFontStyle(availableFontStyles[0]);\n fontStyle = availableFontStyles[0];\n }\n }\n this.jsPDFDocument.setFont(fontName, fontStyle);\n if (styles.fontSize)\n this.jsPDFDocument.setFontSize(styles.fontSize);\n if (fontOnly) {\n return; // Performance improvement\n }\n var color = DocHandler.unifyColor(styles.fillColor);\n if (color)\n (_a = this.jsPDFDocument).setFillColor.apply(_a, color);\n color = DocHandler.unifyColor(styles.textColor);\n if (color)\n (_b = this.jsPDFDocument).setTextColor.apply(_b, color);\n color = DocHandler.unifyColor(styles.lineColor);\n if (color)\n (_c = this.jsPDFDocument).setDrawColor.apply(_c, color);\n if (typeof styles.lineWidth === 'number') {\n this.jsPDFDocument.setLineWidth(styles.lineWidth);\n }\n };\n DocHandler.prototype.splitTextToSize = function (text, size, opts) {\n return this.jsPDFDocument.splitTextToSize(text, size, opts);\n };\n /**\n * Adds a rectangle to the PDF\n * @param x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param width Width (in units declared at inception of PDF document)\n * @param height Height (in units declared at inception of PDF document)\n * @param fillStyle A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke.\n */\n DocHandler.prototype.rect = function (x, y, width, height, fillStyle) {\n // null is excluded from fillStyle possible values because it isn't needed\n // and is prone to bugs as it's used to postpone setting the style\n // https://rawgit.com/MrRio/jsPDF/master/docs/jsPDF.html#rect\n return this.jsPDFDocument.rect(x, y, width, height, fillStyle);\n };\n DocHandler.prototype.getLastAutoTable = function () {\n return this.jsPDFDocument.lastAutoTable || null;\n };\n DocHandler.prototype.getTextWidth = function (text) {\n return this.jsPDFDocument.getTextWidth(text);\n };\n DocHandler.prototype.getDocument = function () {\n return this.jsPDFDocument;\n };\n DocHandler.prototype.setPage = function (page) {\n this.jsPDFDocument.setPage(page);\n };\n DocHandler.prototype.addPage = function () {\n return this.jsPDFDocument.addPage();\n };\n DocHandler.prototype.getFontList = function () {\n return this.jsPDFDocument.getFontList();\n };\n DocHandler.prototype.getGlobalOptions = function () {\n return globalDefaults || {};\n };\n DocHandler.prototype.getDocumentOptions = function () {\n return this.jsPDFDocument.__autoTableDocumentDefaults || {};\n };\n DocHandler.prototype.pageSize = function () {\n var pageSize = this.jsPDFDocument.internal.pageSize;\n // JSPDF 1.4 uses get functions instead of properties on pageSize\n if (pageSize.width == null) {\n pageSize = {\n width: pageSize.getWidth(),\n height: pageSize.getHeight(),\n };\n }\n return pageSize;\n };\n DocHandler.prototype.scaleFactor = function () {\n return this.jsPDFDocument.internal.scaleFactor;\n };\n DocHandler.prototype.getLineHeightFactor = function () {\n var doc = this.jsPDFDocument;\n return doc.getLineHeightFactor ? doc.getLineHeightFactor() : 1.15;\n };\n DocHandler.prototype.getLineHeight = function (fontSize) {\n return (fontSize / this.scaleFactor()) * this.getLineHeightFactor();\n };\n DocHandler.prototype.pageNumber = function () {\n var pageInfo = this.jsPDFDocument.internal.getCurrentPageInfo();\n if (!pageInfo) {\n // Only recent versions of jspdf has pageInfo\n return this.jsPDFDocument.internal.getNumberOfPages();\n }\n return pageInfo.pageNumber;\n };\n return DocHandler;\n}());\nexports.DocHandler = DocHandler;\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseHtml = void 0;\nvar cssParser_1 = __webpack_require__(903);\nvar config_1 = __webpack_require__(796);\nfunction parseHtml(doc, input, window, includeHiddenHtml, useCss) {\n var _a, _b;\n if (includeHiddenHtml === void 0) { includeHiddenHtml = false; }\n if (useCss === void 0) { useCss = false; }\n var tableElement;\n if (typeof input === 'string') {\n tableElement = window.document.querySelector(input);\n }\n else {\n tableElement = input;\n }\n var supportedFonts = Object.keys(doc.getFontList());\n var scaleFactor = doc.scaleFactor();\n var head = [], body = [], foot = [];\n if (!tableElement) {\n console.error('Html table could not be found with input: ', input);\n return { head: head, body: body, foot: foot };\n }\n for (var i = 0; i < tableElement.rows.length; i++) {\n var element = tableElement.rows[i];\n var tagName = (_b = (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n var row = parseRowContent(supportedFonts, scaleFactor, window, element, includeHiddenHtml, useCss);\n if (!row)\n continue;\n if (tagName === 'thead') {\n head.push(row);\n }\n else if (tagName === 'tfoot') {\n foot.push(row);\n }\n else {\n // Add to body both if parent is tbody or table\n body.push(row);\n }\n }\n return { head: head, body: body, foot: foot };\n}\nexports.parseHtml = parseHtml;\nfunction parseRowContent(supportedFonts, scaleFactor, window, row, includeHidden, useCss) {\n var resultRow = new config_1.HtmlRowInput(row);\n for (var i = 0; i < row.cells.length; i++) {\n var cell = row.cells[i];\n var style_1 = window.getComputedStyle(cell);\n if (includeHidden || style_1.display !== 'none') {\n var cellStyles = void 0;\n if (useCss) {\n cellStyles = (0, cssParser_1.parseCss)(supportedFonts, cell, scaleFactor, style_1, window);\n }\n resultRow.push({\n rowSpan: cell.rowSpan,\n colSpan: cell.colSpan,\n styles: cellStyles,\n _element: cell,\n content: parseCellContent(cell),\n });\n }\n }\n var style = window.getComputedStyle(row);\n if (resultRow.length > 0 && (includeHidden || style.display !== 'none')) {\n return resultRow;\n }\n}\nfunction parseCellContent(orgCell) {\n // Work on cloned node to make sure no changes are applied to html table\n var cell = orgCell.cloneNode(true);\n // Remove extra space and line breaks in markup to make it more similar to\n // what would be shown in html\n cell.innerHTML = cell.innerHTML.replace(/\\n/g, '').replace(/ +/g, ' ');\n // Preserve
tags as line breaks in the pdf\n cell.innerHTML = cell.innerHTML\n .split(//) //start with ''.\n .map(function (part) { return part.trim(); })\n .join('\\n');\n // innerText for ie\n return cell.innerText || cell.textContent || '';\n}\n\n\n/***/ }),\n\n/***/ 776:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseInput = void 0;\nvar htmlParser_1 = __webpack_require__(4);\nvar polyfills_1 = __webpack_require__(356);\nvar common_1 = __webpack_require__(420);\nvar documentHandler_1 = __webpack_require__(744);\nvar inputValidator_1 = __webpack_require__(792);\nfunction parseInput(d, current) {\n var doc = new documentHandler_1.DocHandler(d);\n var document = doc.getDocumentOptions();\n var global = doc.getGlobalOptions();\n (0, inputValidator_1.default)(doc, global, document, current);\n var options = (0, polyfills_1.assign)({}, global, document, current);\n var win;\n if (typeof window !== 'undefined') {\n win = window;\n }\n var styles = parseStyles(global, document, current);\n var hooks = parseHooks(global, document, current);\n var settings = parseSettings(doc, options);\n var content = parseContent(doc, options, win);\n return {\n id: current.tableId,\n content: content,\n hooks: hooks,\n styles: styles,\n settings: settings,\n };\n}\nexports.parseInput = parseInput;\nfunction parseStyles(gInput, dInput, cInput) {\n var styleOptions = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n var _loop_1 = function (prop) {\n if (prop === 'columnStyles') {\n var global_1 = gInput[prop];\n var document_1 = dInput[prop];\n var current = cInput[prop];\n styleOptions.columnStyles = (0, polyfills_1.assign)({}, global_1, document_1, current);\n }\n else {\n var allOptions = [gInput, dInput, cInput];\n var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n styleOptions[prop] = (0, polyfills_1.assign)({}, styles[0], styles[1], styles[2]);\n }\n };\n for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n var allOptions = [global, document, current];\n var result = {\n didParseCell: [],\n willDrawCell: [],\n didDrawCell: [],\n willDrawPage: [],\n didDrawPage: [],\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var options = allOptions_1[_i];\n if (options.didParseCell)\n result.didParseCell.push(options.didParseCell);\n if (options.willDrawCell)\n result.willDrawCell.push(options.willDrawCell);\n if (options.didDrawCell)\n result.didDrawCell.push(options.didDrawCell);\n if (options.willDrawPage)\n result.willDrawPage.push(options.willDrawPage);\n if (options.didDrawPage)\n result.didDrawPage.push(options.didDrawPage);\n }\n return result;\n}\nfunction parseSettings(doc, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var margin = (0, common_1.parseSpacing)(options.margin, 40 / doc.scaleFactor());\n var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n var showFoot;\n if (options.showFoot === true) {\n showFoot = 'everyPage';\n }\n else if (options.showFoot === false) {\n showFoot = 'never';\n }\n else {\n showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n }\n var showHead;\n if (options.showHead === true) {\n showHead = 'everyPage';\n }\n else if (options.showHead === false) {\n showHead = 'never';\n }\n else {\n showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n }\n var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n var theme = options.theme || (useCss ? 'plain' : 'striped');\n var horizontalPageBreak = !!options.horizontalPageBreak;\n var horizontalPageBreakRepeat = (_e = options.horizontalPageBreakRepeat) !== null && _e !== void 0 ? _e : null;\n return {\n includeHiddenHtml: (_f = options.includeHiddenHtml) !== null && _f !== void 0 ? _f : false,\n useCss: useCss,\n theme: theme,\n startY: startY,\n margin: margin,\n pageBreak: (_g = options.pageBreak) !== null && _g !== void 0 ? _g : 'auto',\n rowPageBreak: (_h = options.rowPageBreak) !== null && _h !== void 0 ? _h : 'auto',\n tableWidth: (_j = options.tableWidth) !== null && _j !== void 0 ? _j : 'auto',\n showHead: showHead,\n showFoot: showFoot,\n tableLineWidth: (_k = options.tableLineWidth) !== null && _k !== void 0 ? _k : 0,\n tableLineColor: (_l = options.tableLineColor) !== null && _l !== void 0 ? _l : 200,\n horizontalPageBreak: horizontalPageBreak,\n horizontalPageBreakRepeat: horizontalPageBreakRepeat,\n horizontalPageBreakBehaviour: (_m = options.horizontalPageBreakBehaviour) !== null && _m !== void 0 ? _m : 'afterAllRows',\n };\n}\nfunction getStartY(doc, userStartY) {\n var previous = doc.getLastAutoTable();\n var sf = doc.scaleFactor();\n var currentPage = doc.pageNumber();\n var isSamePageAsPreviousTable = false;\n if (previous && previous.startPageNumber) {\n var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n isSamePageAsPreviousTable = endingPage === currentPage;\n }\n if (typeof userStartY === 'number') {\n return userStartY;\n }\n else if (userStartY == null || userStartY === false) {\n if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n // Some users had issues with overlapping tables when they used multiple\n // tables without setting startY so setting it here to a sensible default.\n return previous.finalY + 20 / sf;\n }\n }\n return null;\n}\nfunction parseContent(doc, options, window) {\n var head = options.head || [];\n var body = options.body || [];\n var foot = options.foot || [];\n if (options.html) {\n var hidden = options.includeHiddenHtml;\n if (window) {\n var htmlContent = (0, htmlParser_1.parseHtml)(doc, options.html, window, hidden, options.useCss) || {};\n head = htmlContent.head || head;\n body = htmlContent.body || head;\n foot = htmlContent.foot || head;\n }\n else {\n console.error('Cannot parse html in non browser environment');\n }\n }\n var columns = options.columns || parseColumns(head, body, foot);\n return {\n columns: columns,\n head: head,\n body: body,\n foot: foot,\n };\n}\nfunction parseColumns(head, body, foot) {\n var firstRow = head[0] || body[0] || foot[0] || [];\n var result = [];\n Object.keys(firstRow)\n .filter(function (key) { return key !== '_element'; })\n .forEach(function (key) {\n var colSpan = 1;\n var input;\n if (Array.isArray(firstRow)) {\n input = firstRow[parseInt(key)];\n }\n else {\n input = firstRow[key];\n }\n if (typeof input === 'object' && !Array.isArray(input)) {\n colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n }\n for (var i = 0; i < colSpan; i++) {\n var id = void 0;\n if (Array.isArray(firstRow)) {\n id = result.length;\n }\n else {\n id = key + (i > 0 ? \"_\".concat(i) : '');\n }\n var rowResult = { dataKey: id };\n result.push(rowResult);\n }\n });\n return result;\n}\n\n\n/***/ }),\n\n/***/ 792:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction default_1(doc, global, document, current) {\n var _loop_1 = function (options) {\n if (options && typeof options !== 'object') {\n console.error('The options parameter should be of type object, is: ' + typeof options);\n }\n if (typeof options.extendWidth !== 'undefined') {\n options.tableWidth = options.extendWidth ? 'auto' : 'wrap';\n console.error('Use of deprecated option: extendWidth, use tableWidth instead.');\n }\n if (typeof options.margins !== 'undefined') {\n if (typeof options.margin === 'undefined')\n options.margin = options.margins;\n console.error('Use of deprecated option: margins, use margin instead.');\n }\n if (options.startY && typeof options.startY !== 'number') {\n console.error('Invalid value for startY option', options.startY);\n delete options.startY;\n }\n if (!options.didDrawPage &&\n (options.afterPageContent ||\n options.beforePageContent ||\n options.afterPageAdd)) {\n console.error('The afterPageContent, beforePageContent and afterPageAdd hooks are deprecated. Use didDrawPage instead');\n options.didDrawPage = function (data) {\n doc.applyStyles(doc.userStyles);\n if (options.beforePageContent)\n options.beforePageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageContent)\n options.afterPageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageAdd && data.pageNumber > 1) {\n ;\n data.afterPageAdd(data);\n }\n doc.applyStyles(doc.userStyles);\n };\n }\n ;\n [\n 'createdHeaderCell',\n 'drawHeaderRow',\n 'drawRow',\n 'drawHeaderCell',\n ].forEach(function (name) {\n if (options[name]) {\n console.error(\"The \\\"\".concat(name, \"\\\" hook has changed in version 3.0, check the changelog for how to migrate.\"));\n }\n });\n [\n ['showFoot', 'showFooter'],\n ['showHead', 'showHeader'],\n ['didDrawPage', 'addPageContent'],\n ['didParseCell', 'createdCell'],\n ['headStyles', 'headerStyles'],\n ].forEach(function (_a) {\n var current = _a[0], deprecated = _a[1];\n if (options[deprecated]) {\n console.error(\"Use of deprecated option \".concat(deprecated, \". Use \").concat(current, \" instead\"));\n options[current] = options[deprecated];\n }\n });\n [\n ['padding', 'cellPadding'],\n ['lineHeight', 'rowHeight'],\n 'fontSize',\n 'overflow',\n ].forEach(function (o) {\n var deprecatedOption = typeof o === 'string' ? o : o[0];\n var style = typeof o === 'string' ? o : o[1];\n if (typeof options[deprecatedOption] !== 'undefined') {\n if (typeof options.styles[style] === 'undefined') {\n options.styles[style] = options[deprecatedOption];\n }\n console.error('Use of deprecated option: ' +\n deprecatedOption +\n ', use the style ' +\n style +\n ' instead.');\n }\n });\n for (var _b = 0, _c = [\n 'styles',\n 'bodyStyles',\n 'headStyles',\n 'footStyles',\n ]; _b < _c.length; _b++) {\n var styleProp = _c[_b];\n checkStyles(options[styleProp] || {});\n }\n var columnStyles = options['columnStyles'] || {};\n for (var _d = 0, _e = Object.keys(columnStyles); _d < _e.length; _d++) {\n var key = _e[_d];\n checkStyles(columnStyles[key] || {});\n }\n };\n for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n var options = _a[_i];\n _loop_1(options);\n }\n}\nexports[\"default\"] = default_1;\nfunction checkStyles(styles) {\n if (styles.rowHeight) {\n console.error('Use of deprecated style rowHeight. It is renamed to minCellHeight.');\n if (!styles.minCellHeight) {\n styles.minCellHeight = styles.rowHeight;\n }\n }\n else if (styles.columnWidth) {\n console.error('Use of deprecated style columnWidth. It is renamed to cellWidth.');\n if (!styles.cellWidth) {\n styles.cellWidth = styles.columnWidth;\n }\n }\n}\n\n\n/***/ }),\n\n/***/ 260:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Column = exports.Cell = exports.Row = exports.Table = void 0;\nvar config_1 = __webpack_require__(796);\nvar HookData_1 = __webpack_require__(172);\nvar common_1 = __webpack_require__(420);\nvar Table = /** @class */ (function () {\n function Table(input, content) {\n this.pageNumber = 1;\n // Deprecated, use pageNumber instead\n // Not using getter since:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/596\n this.pageCount = 1;\n this.id = input.id;\n this.settings = input.settings;\n this.styles = input.styles;\n this.hooks = input.hooks;\n this.columns = content.columns;\n this.head = content.head;\n this.body = content.body;\n this.foot = content.foot;\n }\n Table.prototype.getHeadHeight = function (columns) {\n return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.getFootHeight = function (columns) {\n return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var data = new HookData_1.CellHookData(doc, this, cell, row, column, cursor);\n var result = handler(data) === false;\n // Make sure text is always string[] since user can assign string\n cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n if (result) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function (doc, cursor) {\n doc.applyStyles(doc.userStyles);\n for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.callWillDrawPageHooks = function (doc, cursor) {\n for (var _i = 0, _a = this.hooks.willDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.getWidth = function (pageWidth) {\n if (typeof this.settings.tableWidth === 'number') {\n return this.settings.tableWidth;\n }\n else if (this.settings.tableWidth === 'wrap') {\n var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n return wrappedWidth;\n }\n else {\n var margin = this.settings.margin;\n return pageWidth - margin.left - margin.right;\n }\n };\n return Table;\n}());\nexports.Table = Table;\nvar Row = /** @class */ (function () {\n function Row(raw, index, section, cells, spansMultiplePages) {\n if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n this.height = 0;\n this.raw = raw;\n if (raw instanceof config_1.HtmlRowInput) {\n this.raw = raw._element;\n this.element = raw._element;\n }\n this.index = index;\n this.section = section;\n this.cells = cells;\n this.spansMultiplePages = spansMultiplePages;\n }\n Row.prototype.getMaxCellHeight = function (columns) {\n var _this = this;\n return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n };\n Row.prototype.hasRowSpan = function (columns) {\n var _this = this;\n return (columns.filter(function (column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return false;\n return cell.rowSpan > 1;\n }).length > 0);\n };\n Row.prototype.canEntireRowFit = function (height, columns) {\n return this.getMaxCellHeight(columns) <= height;\n };\n Row.prototype.getMinimumRowHeight = function (columns, doc) {\n var _this = this;\n return columns.reduce(function (acc, column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return 0;\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var oneRowHeight = vPadding + lineHeight;\n return oneRowHeight > acc ? oneRowHeight : acc;\n }, 0);\n };\n return Row;\n}());\nexports.Row = Row;\nvar Cell = /** @class */ (function () {\n function Cell(raw, styles, section) {\n var _a, _b;\n this.contentHeight = 0;\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.height = 0;\n this.x = 0;\n this.y = 0;\n this.styles = styles;\n this.section = section;\n this.raw = raw;\n var content = raw;\n if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n this.rowSpan = raw.rowSpan || 1;\n this.colSpan = raw.colSpan || 1;\n content = (_b = (_a = raw.content) !== null && _a !== void 0 ? _a : raw.title) !== null && _b !== void 0 ? _b : raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n }\n else {\n this.rowSpan = 1;\n this.colSpan = 1;\n }\n // Stringify 0 and false, but not undefined or null\n var text = content != null ? '' + content : '';\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n }\n Cell.prototype.getTextPos = function () {\n var y;\n if (this.styles.valign === 'top') {\n y = this.y + this.padding('top');\n }\n else if (this.styles.valign === 'bottom') {\n y = this.y + this.height - this.padding('bottom');\n }\n else {\n var netHeight = this.height - this.padding('vertical');\n y = this.y + netHeight / 2 + this.padding('top');\n }\n var x;\n if (this.styles.halign === 'right') {\n x = this.x + this.width - this.padding('right');\n }\n else if (this.styles.halign === 'center') {\n var netWidth = this.width - this.padding('horizontal');\n x = this.x + netWidth / 2 + this.padding('left');\n }\n else {\n x = this.x + this.padding('left');\n }\n return { x: x, y: y };\n };\n // TODO (v4): replace parameters with only (lineHeight)\n Cell.prototype.getContentHeight = function (scaleFactor, lineHeightFactor) {\n if (lineHeightFactor === void 0) { lineHeightFactor = 1.15; }\n var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n var lineHeight = (this.styles.fontSize / scaleFactor) * lineHeightFactor;\n var height = lineCount * lineHeight + this.padding('vertical');\n return Math.max(height, this.styles.minCellHeight);\n };\n Cell.prototype.padding = function (name) {\n var padding = (0, common_1.parseSpacing)(this.styles.cellPadding, 0);\n if (name === 'vertical') {\n return padding.top + padding.bottom;\n }\n else if (name === 'horizontal') {\n return padding.left + padding.right;\n }\n else {\n return padding[name];\n }\n };\n return Cell;\n}());\nexports.Cell = Cell;\nvar Column = /** @class */ (function () {\n function Column(dataKey, raw, index) {\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n Column.prototype.getMaxCustomCellWidth = function (table) {\n var max = 0;\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n var cell = row.cells[this.index];\n if (cell && typeof cell.styles.cellWidth === 'number') {\n max = Math.max(max, cell.styles.cellWidth);\n }\n }\n return max;\n };\n return Column;\n}());\nexports.Column = Column;\n\n\n/***/ }),\n\n/***/ 356:\n/***/ (function(__unused_webpack_module, exports) {\n\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assign = void 0;\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\nexports.assign = assign;\n\n\n/***/ }),\n\n/***/ 972:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createTable = void 0;\nvar documentHandler_1 = __webpack_require__(744);\nvar models_1 = __webpack_require__(260);\nvar widthCalculator_1 = __webpack_require__(324);\nvar config_1 = __webpack_require__(796);\nvar polyfills_1 = __webpack_require__(356);\nfunction createTable(jsPDFDoc, input) {\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n var content = parseContent(input, doc.scaleFactor());\n var table = new models_1.Table(input, content);\n (0, widthCalculator_1.calculateWidths)(doc, table);\n doc.applyStyles(doc.userStyles);\n return table;\n}\nexports.createTable = createTable;\nfunction parseContent(input, sf) {\n var content = input.content;\n var columns = createColumns(content.columns);\n // If no head or foot is set, try generating it with content from columns\n if (content.head.length === 0) {\n var sectionRow = generateSectionRow(columns, 'head');\n if (sectionRow)\n content.head.push(sectionRow);\n }\n if (content.foot.length === 0) {\n var sectionRow = generateSectionRow(columns, 'foot');\n if (sectionRow)\n content.foot.push(sectionRow);\n }\n var theme = input.settings.theme;\n var styles = input.styles;\n return {\n columns: columns,\n head: parseSection('head', content.head, columns, styles, theme, sf),\n body: parseSection('body', content.body, columns, styles, theme, sf),\n foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n var rowSpansLeftForColumn = {};\n var result = sectionRows.map(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var cells = {};\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (rowSpansLeftForColumn[column.index] == null ||\n rowSpansLeftForColumn[column.index].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell =\n rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var cellInputStyles = {};\n if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n }\n var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n var cell = new models_1.Cell(rawCell, styles, sectionName);\n // dataKey is not used internally no more but keep for\n // backwards compat in hooks\n cells[column.dataKey] = cell;\n cells[column.index] = cell;\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.index] = {\n left: cell.rowSpan - 1,\n times: columnSpansLeft,\n };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.index].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n skippedRowForRowSpans++;\n }\n }\n return new models_1.Row(rawRow, rowIndex, sectionName, cells);\n });\n return result;\n}\nfunction generateSectionRow(columns, section) {\n var sectionRow = {};\n columns.forEach(function (col) {\n if (col.raw != null) {\n var title = getSectionTitle(section, col.raw);\n if (title != null)\n sectionRow[col.dataKey] = title;\n }\n });\n return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n if (section === 'head') {\n if (typeof column === 'object') {\n return column.header || column.title || null;\n }\n else if (typeof column === 'string' || typeof column === 'number') {\n return column;\n }\n }\n else if (section === 'foot' && typeof column === 'object') {\n return column.footer;\n }\n return null;\n}\nfunction createColumns(columns) {\n return columns.map(function (input, index) {\n var _a, _b;\n var key;\n if (typeof input === 'object') {\n key = (_b = (_a = input.dataKey) !== null && _a !== void 0 ? _a : input.key) !== null && _b !== void 0 ? _b : index;\n }\n else {\n key = index;\n }\n return new models_1.Column(key, input, index);\n });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n var theme = (0, config_1.getTheme)(themeName);\n var sectionStyles;\n if (sectionName === 'head') {\n sectionStyles = styles.headStyles;\n }\n else if (sectionName === 'body') {\n sectionStyles = styles.bodyStyles;\n }\n else if (sectionName === 'foot') {\n sectionStyles = styles.footStyles;\n }\n var otherStyles = (0, polyfills_1.assign)({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n var columnStyles = styles.columnStyles[column.dataKey] ||\n styles.columnStyles[column.index] ||\n {};\n var colStyles = sectionName === 'body' ? columnStyles : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n ? (0, polyfills_1.assign)({}, theme.alternateRow, styles.alternateRowStyles)\n : {};\n var defaultStyle = (0, config_1.defaultStyles)(scaleFactor);\n var themeStyles = (0, polyfills_1.assign)({}, defaultStyle, otherStyles, rowStyles, colStyles);\n return (0, polyfills_1.assign)(themeStyles, cellInputStyles);\n}\n\n\n/***/ }),\n\n/***/ 664:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.addPage = exports.drawTable = void 0;\nvar common_1 = __webpack_require__(420);\nvar models_1 = __webpack_require__(260);\nvar documentHandler_1 = __webpack_require__(744);\nvar polyfills_1 = __webpack_require__(356);\nvar autoTableText_1 = __webpack_require__(136);\nvar tablePrinter_1 = __webpack_require__(224);\nfunction drawTable(jsPDFDoc, table) {\n var settings = table.settings;\n var startY = settings.startY;\n var margin = settings.margin;\n var cursor = {\n x: margin.left,\n y: startY,\n };\n var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n if (settings.pageBreak === 'avoid') {\n var rows = table.body;\n var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n minTableBottomPos += tableHeight;\n }\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n if (settings.pageBreak === 'always' ||\n (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n nextPage(doc);\n cursor.y = margin.top;\n }\n table.callWillDrawPageHooks(doc, cursor);\n var startPos = (0, polyfills_1.assign)({}, cursor);\n table.startPageNumber = doc.pageNumber();\n if (settings.horizontalPageBreak) {\n // managed flow for split columns\n printTableWithHorizontalPageBreak(doc, table, startPos, cursor);\n }\n else {\n // normal flow\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' ||\n settings.showHead === 'everyPage') {\n table.head.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, table.columns);\n });\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n }\n (0, common_1.addTableBorder)(doc, table, startPos, cursor);\n table.callEndPageHooks(doc, cursor);\n table.finalY = cursor.y;\n jsPDFDoc.lastAutoTable = table;\n jsPDFDoc.previousAutoTable = table; // Deprecated\n if (jsPDFDoc.autoTable)\n jsPDFDoc.autoTable.previous = table; // Deprecated\n doc.applyStyles(doc.userStyles);\n}\nexports.drawTable = drawTable;\nfunction printTableWithHorizontalPageBreak(doc, table, startPos, cursor) {\n // calculate width of columns and render only those which can fit into page\n var allColumnsCanFitResult = (0, tablePrinter_1.calculateAllColumnsCanFitInPage)(doc, table);\n var settings = table.settings;\n if (settings.horizontalPageBreakBehaviour === 'afterAllRows') {\n allColumnsCanFitResult.forEach(function (colsAndIndexes, index) {\n doc.applyStyles(doc.userStyles);\n // add page to print next columns in new page\n if (index > 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n }\n else {\n // print head for selected columns\n printHead(doc, table, cursor, colsAndIndexes.columns);\n }\n // print body & footer for selected columns\n printBody(doc, table, startPos, cursor, colsAndIndexes.columns);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n }\n else {\n var lastRowIndexOfLastPage_1 = -1;\n var firstColumnsToFitResult = allColumnsCanFitResult[0];\n var _loop_1 = function () {\n // Print the first columns, taking note of the last row printed\n var lastPrintedRowIndex = lastRowIndexOfLastPage_1;\n if (firstColumnsToFitResult) {\n doc.applyStyles(doc.userStyles);\n var firstColumnsToFit = firstColumnsToFitResult.columns;\n if (lastRowIndexOfLastPage_1 >= 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, firstColumnsToFit, true);\n }\n else {\n printHead(doc, table, cursor, firstColumnsToFit);\n }\n lastPrintedRowIndex = printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, firstColumnsToFit);\n printFoot(doc, table, cursor, firstColumnsToFit);\n }\n // Check how many rows were printed, so that the next columns would not print more rows than that\n var maxNumberOfRows = lastPrintedRowIndex - lastRowIndexOfLastPage_1;\n // Print the next columns, never exceding maxNumberOfRows\n allColumnsCanFitResult.slice(1).forEach(function (colsAndIndexes) {\n doc.applyStyles(doc.userStyles);\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, colsAndIndexes.columns, maxNumberOfRows);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n lastRowIndexOfLastPage_1 = lastPrintedRowIndex;\n };\n while (lastRowIndexOfLastPage_1 < table.body.length - 1) {\n _loop_1();\n }\n }\n}\nfunction printHead(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' || settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction printBody(doc, table, startPos, cursor, columns) {\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n });\n}\nfunction printBodyWithoutPageBreaks(doc, table, startRowIndex, cursor, columns, maxNumberOfRows) {\n doc.applyStyles(doc.userStyles);\n maxNumberOfRows = maxNumberOfRows !== null && maxNumberOfRows !== void 0 ? maxNumberOfRows : table.body.length;\n var endRowIndex = Math.min(startRowIndex + maxNumberOfRows, table.body.length);\n var lastPrintedRowIndex = -1;\n table.body.slice(startRowIndex, endRowIndex).forEach(function (row, index) {\n var isLastRow = startRowIndex + index === table.body.length - 1;\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n printRow(doc, table, row, cursor, columns);\n lastPrintedRowIndex = startRowIndex + index;\n }\n });\n return lastPrintedRowIndex;\n}\nfunction printFoot(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var remainingLines = Math.floor((remainingPageSpace - vPadding) / lineHeight);\n return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n var cells = {};\n row.spansMultiplePages = true;\n row.height = 0;\n var rowHeight = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n if (!Array.isArray(cell.text)) {\n cell.text = [cell.text];\n }\n var remainderCell = new models_1.Cell(cell.raw, cell.styles, cell.section);\n remainderCell = (0, polyfills_1.assign)(remainderCell, cell);\n remainderCell.text = [];\n var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n if (cell.text.length > remainingLineCount) {\n remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n }\n var scaleFactor = doc.scaleFactor();\n var lineHeightFactor = doc.getLineHeightFactor();\n cell.contentHeight = cell.getContentHeight(scaleFactor, lineHeightFactor);\n if (cell.contentHeight >= remainingPageSpace) {\n cell.contentHeight = remainingPageSpace;\n remainderCell.styles.minCellHeight -= remainingPageSpace;\n }\n if (cell.contentHeight > row.height) {\n row.height = cell.contentHeight;\n }\n remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor, lineHeightFactor);\n if (remainderCell.contentHeight > rowHeight) {\n rowHeight = remainderCell.contentHeight;\n }\n cells[column.index] = remainderCell;\n }\n var remainderRow = new models_1.Row(row.raw, -1, row.section, cells, true);\n remainderRow.height = rowHeight;\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var remainderCell = remainderRow.cells[column.index];\n if (remainderCell) {\n remainderCell.height = remainderRow.height;\n }\n var cell = row.cells[column.index];\n if (cell) {\n cell.height = row.height;\n }\n }\n return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n var pageHeight = doc.pageSize().height;\n var margin = table.settings.margin;\n var marginHeight = margin.top + margin.bottom;\n var maxRowHeight = pageHeight - marginHeight;\n if (row.section === 'body') {\n // Should also take into account that head and foot is not\n // on every page with some settings\n maxRowHeight -=\n table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n }\n var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n var minRowFits = minRowHeight < remainingPageSpace;\n if (minRowHeight > maxRowHeight) {\n console.error(\"Will not be able to print row \".concat(row.index, \" correctly since it's minimum height is larger than page height\"));\n return true;\n }\n if (!minRowFits) {\n return false;\n }\n var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n if (rowHigherThanPage) {\n if (rowHasRowSpanCell) {\n console.error(\"The content of row \".concat(row.index, \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\"));\n }\n return true;\n }\n if (rowHasRowSpanCell) {\n // Currently a new page is required whenever a rowspan row don't fit a page.\n return false;\n }\n if (table.settings.rowPageBreak === 'avoid') {\n return false;\n }\n // In all other cases print the row on current page\n return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor, columns) {\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n // The row fits in the current page\n printRow(doc, table, row, cursor, columns);\n }\n else if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n // The row gets split in two here, each piece in one page\n var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n printRow(doc, table, row, cursor, columns);\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor, columns);\n }\n else {\n // The row get printed entirelly on the next page\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n }\n}\nfunction printRow(doc, table, row, cursor, columns) {\n cursor.x = table.settings.margin.left;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n var cell = row.cells[column.index];\n if (!cell) {\n cursor.x += column.width;\n continue;\n }\n doc.applyStyles(cell.styles);\n cell.x = cursor.x;\n cell.y = cursor.y;\n var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n if (result === false) {\n cursor.x += column.width;\n continue;\n }\n drawCellRect(doc, cell, cursor);\n var textPos = cell.getTextPos();\n (0, autoTableText_1.default)(cell.text, textPos.x, textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n }, doc.getDocument());\n table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n cursor.x += column.width;\n }\n cursor.y += row.height;\n}\nfunction drawCellRect(doc, cell, cursor) {\n var cellStyles = cell.styles;\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/774\n // TODO (v4): better solution?\n doc.getDocument().setFillColor(doc.getDocument().getFillColor());\n if (typeof cellStyles.lineWidth === 'number') {\n // Draw cell background with normal borders\n var fillStyle = (0, common_1.getFillStyle)(cellStyles.lineWidth, cellStyles.fillColor);\n if (fillStyle) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n }\n }\n else if (typeof cellStyles.lineWidth === 'object') {\n // Draw cell background\n if (cellStyles.fillColor) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, 'F');\n }\n // Draw cell individual borders\n drawCellBorders(doc, cell, cursor, cellStyles.lineWidth);\n }\n}\n/**\n * Draw all specified borders. Borders are centered on cell's edge and lengthened\n * to overlap with neighbours to create sharp corners.\n * @param doc\n * @param cell\n * @param cursor\n * @param fillColor\n * @param lineWidth\n */\nfunction drawCellBorders(doc, cell, cursor, lineWidth) {\n var x1, y1, x2, y2;\n if (lineWidth.top) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.top, x1, y1, x2, y2);\n }\n if (lineWidth.bottom) {\n x1 = cursor.x;\n y1 = cursor.y + cell.height;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.bottom, x1, y1, x2, y2);\n }\n if (lineWidth.left) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.left, x1, y1, x2, y2);\n }\n if (lineWidth.right) {\n x1 = cursor.x + cell.width;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.right, x1, y1, x2, y2);\n }\n function drawLine(width, x1, y1, x2, y2) {\n doc.getDocument().setLineWidth(width);\n doc.getDocument().line(x1, y1, x2, y2, 'S');\n }\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n var bottomContentHeight = table.settings.margin.bottom;\n var showFoot = table.settings.showFoot;\n if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.getFootHeight(table.columns);\n }\n return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor, columns, suppressFooter) {\n if (columns === void 0) { columns = []; }\n if (suppressFooter === void 0) { suppressFooter = false; }\n doc.applyStyles(doc.userStyles);\n if (table.settings.showFoot === 'everyPage' && !suppressFooter) {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n // Add user content just before adding new page ensure it will\n // be drawn above other things on the page\n table.callEndPageHooks(doc, cursor);\n var margin = table.settings.margin;\n (0, common_1.addTableBorder)(doc, table, startPos, cursor);\n nextPage(doc);\n table.pageNumber++;\n table.pageCount++;\n cursor.x = margin.left;\n cursor.y = margin.top;\n startPos.y = margin.top;\n // call didAddPage hooks before any content is added to the page\n table.callWillDrawPageHooks(doc, cursor);\n if (table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n doc.applyStyles(doc.userStyles);\n }\n}\nexports.addPage = addPage;\nfunction nextPage(doc) {\n var current = doc.pageNumber();\n doc.setPage(current + 1);\n var newCurrent = doc.pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n return true;\n }\n return false;\n}\n\n\n/***/ }),\n\n/***/ 224:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.calculateAllColumnsCanFitInPage = void 0;\nvar common_1 = __webpack_require__(420);\n// get columns can be fit into page\nfunction getColumnsCanFitInPage(doc, table, config) {\n var _a;\n if (config === void 0) { config = {}; }\n // Get page width\n var remainingWidth = (0, common_1.getPageAvailableWidth)(doc, table);\n // Get column data key to repeat\n var repeatColumnsMap = new Map();\n var colIndexes = [];\n var columns = [];\n var horizontalPageBreakRepeat = [];\n table.settings.horizontalPageBreakRepeat;\n if (Array.isArray(table.settings.horizontalPageBreakRepeat)) {\n horizontalPageBreakRepeat = table.settings.horizontalPageBreakRepeat;\n // It can be a single value of type string or number (even number: 0)\n }\n else if (typeof table.settings.horizontalPageBreakRepeat === 'string' ||\n typeof table.settings.horizontalPageBreakRepeat === 'number') {\n horizontalPageBreakRepeat = [table.settings.horizontalPageBreakRepeat];\n }\n // Code to repeat the given column in split pages\n horizontalPageBreakRepeat.forEach(function (field) {\n var col = table.columns.find(function (item) { return item.dataKey === field || item.index === field; });\n if (col && !repeatColumnsMap.has(col.index)) {\n repeatColumnsMap.set(col.index, true);\n colIndexes.push(col.index);\n columns.push(table.columns[col.index]);\n remainingWidth -= col.wrappedWidth;\n }\n });\n var first = true;\n var i = (_a = config === null || config === void 0 ? void 0 : config.start) !== null && _a !== void 0 ? _a : 0; // make sure couter is initiated outside the loop\n while (i < table.columns.length) {\n // Prevent duplicates\n if (repeatColumnsMap.has(i)) {\n i++;\n continue;\n }\n var colWidth = table.columns[i].wrappedWidth;\n // Take at least one column even if it doesn't fit\n if (first || remainingWidth >= colWidth) {\n first = false;\n colIndexes.push(i);\n columns.push(table.columns[i]);\n remainingWidth -= colWidth;\n }\n else {\n break;\n }\n i++;\n }\n return { colIndexes: colIndexes, columns: columns, lastIndex: i - 1 };\n}\nfunction calculateAllColumnsCanFitInPage(doc, table) {\n var allResults = [];\n for (var i = 0; i < table.columns.length; i++) {\n var result = getColumnsCanFitInPage(doc, table, { start: i });\n if (result.columns.length) {\n allResults.push(result);\n i = result.lastIndex;\n }\n }\n return allResults;\n}\nexports.calculateAllColumnsCanFitInPage = calculateAllColumnsCanFitInPage;\n\n\n/***/ }),\n\n/***/ 324:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ellipsize = exports.resizeColumns = exports.calculateWidths = void 0;\nvar common_1 = __webpack_require__(420);\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n calculate(doc, table);\n var resizableColumns = [];\n var initialTableWidth = 0;\n table.columns.forEach(function (column) {\n var customWidth = column.getMaxCustomCellWidth(table);\n if (customWidth) {\n // final column width\n column.width = customWidth;\n }\n else {\n // initial column width (will be resized)\n column.width = column.wrappedWidth;\n resizableColumns.push(column);\n }\n initialTableWidth += column.width;\n });\n // width difference that needs to be distributed\n var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n // first resize attempt: with respect to minReadableWidth and minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n return Math.max(column.minReadableWidth, column.minWidth);\n });\n }\n // second resize attempt: ignore minReadableWidth but respect minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n }\n resizeWidth = Math.abs(resizeWidth);\n if (!table.settings.horizontalPageBreak &&\n resizeWidth > 0.1 / doc.scaleFactor()) {\n // Table can't get smaller due to custom-width or minWidth restrictions\n // We can't really do much here. Up to user to for example\n // reduce font size, increase page size or remove custom cell widths\n // to allow more columns to be reduced in size\n resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n console.warn(\"Of the table content, \".concat(resizeWidth, \" units width could not fit page\"));\n }\n applyColSpans(table);\n fitContent(table, doc);\n applyRowSpans(table);\n}\nexports.calculateWidths = calculateWidths;\nfunction calculate(doc, table) {\n var sf = doc.scaleFactor();\n var horizontalPageBreak = table.settings.horizontalPageBreak;\n var availablePageWidth = (0, common_1.getPageAvailableWidth)(doc, table);\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n var hooks = table.hooks.didParseCell;\n table.callCellHooks(doc, hooks, cell, row, column, null);\n var padding = cell.padding('horizontal');\n cell.contentWidth = (0, common_1.getStringWidth)(cell.text, cell.styles, doc) + padding;\n var longestWordWidth = (0, common_1.getStringWidth)(cell.text.join(' ').split(/\\s+/), cell.styles, doc);\n cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n if (typeof cell.styles.cellWidth === 'number') {\n cell.minWidth = cell.styles.cellWidth;\n cell.wrappedWidth = cell.styles.cellWidth;\n }\n else if (cell.styles.cellWidth === 'wrap' ||\n horizontalPageBreak === true) {\n // cell width should not be more than available page width\n if (cell.contentWidth > availablePageWidth) {\n cell.minWidth = availablePageWidth;\n cell.wrappedWidth = availablePageWidth;\n }\n else {\n cell.minWidth = cell.contentWidth;\n cell.wrappedWidth = cell.contentWidth;\n }\n }\n else {\n // auto\n var defaultMinWidth = 10 / sf;\n cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n cell.wrappedWidth = cell.contentWidth;\n if (cell.minWidth > cell.wrappedWidth) {\n cell.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n // Could probably be improved upon however.\n if (cell && cell.colSpan === 1) {\n column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n column.minWidth = Math.max(column.minWidth, cell.minWidth);\n column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n }\n else {\n // Respect cellWidth set in columnStyles even if there is no cells for this column\n // or if the column only have colspan cells. Since the width of colspan cells\n // does not affect the width of columns, setting columnStyles cellWidth enables the\n // user to at least do it manually.\n // Note that this is not perfect for now since for example row and table styles are\n // not accounted for\n var columnStyles = table.styles.columnStyles[column.dataKey] ||\n table.styles.columnStyles[column.index] ||\n {};\n var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n if (cellWidth && typeof cellWidth === 'number') {\n column.minWidth = cellWidth;\n column.wrappedWidth = cellWidth;\n }\n }\n if (cell) {\n // Make sure all columns get at least min width even though width calculations are not based on them\n if (cell.colSpan > 1 && !column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n if (cell.colSpan > 1 && !column.wrappedWidth) {\n column.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n var initialResizeWidth = resizeWidth;\n var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n for (var i = 0; i < columns.length; i++) {\n var column = columns[i];\n var ratio = column.wrappedWidth / sumWrappedWidth;\n var suggestedChange = initialResizeWidth * ratio;\n var suggestedWidth = column.width + suggestedChange;\n var minWidth = getMinWidth(column);\n var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n resizeWidth -= newWidth - column.width;\n column.width = newWidth;\n }\n resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n // Run the resizer again if there's remaining width needs\n // to be distributed and there're columns that can be resized\n if (resizeWidth) {\n var resizableColumns = columns.filter(function (column) {\n return resizeWidth < 0\n ? column.width > getMinWidth(column) // check if column can shrink\n : true; // check if column can grow\n });\n if (resizableColumns.length) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n }\n }\n return resizeWidth;\n}\nexports.resizeColumns = resizeColumns;\nfunction applyRowSpans(table) {\n var rowSpanCells = {};\n var colRowSpansLeft = 1;\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var data = rowSpanCells[column.index];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.index];\n }\n else if (data) {\n data.cell.height += row.height;\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.index];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.index];\n }\n }\n else {\n var cell = row.cells[column.index];\n if (!cell) {\n continue;\n }\n cell.height = row.height;\n if (cell.rowSpan > 1) {\n var remaining = all.length - rowIndex;\n var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n }\n }\n }\n }\n}\nfunction applyColSpans(table) {\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n var colSpanCell = null;\n var combinedColSpanWidth = 0;\n var colSpansLeft = 0;\n for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n var column = table.columns[columnIndex];\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.index];\n }\n else if (colSpanCell) {\n var cell = colSpanCell;\n delete row.cells[column.index];\n colSpanCell = null;\n cell.width = column.width + combinedColSpanWidth;\n }\n else {\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n colSpansLeft = cell.colSpan;\n combinedColSpanWidth = 0;\n if (cell.colSpan > 1) {\n colSpanCell = cell;\n combinedColSpanWidth += column.width;\n continue;\n }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n }\n}\nfunction fitContent(table, doc) {\n var rowSpanHeight = { count: 0, height: 0 };\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n doc.applyStyles(cell.styles, true);\n var textSpace = cell.width - cell.padding('horizontal');\n if (cell.styles.overflow === 'linebreak') {\n // Add one pt to textSpace to fix rounding error\n cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n var result = cell.styles.overflow(cell.text, textSpace);\n if (typeof result === 'string') {\n cell.text = [result];\n }\n else {\n cell.text = result;\n }\n }\n cell.contentHeight = cell.getContentHeight(doc.scaleFactor(), doc.getLineHeightFactor());\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 &&\n rowSpanHeight.count * rowSpanHeight.height <\n realContentHeight * cell.rowSpan) {\n rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n }\n else if (rowSpanHeight && rowSpanHeight.count > 0) {\n if (rowSpanHeight.height > realContentHeight) {\n realContentHeight = rowSpanHeight.height;\n }\n }\n if (realContentHeight > row.height) {\n row.height = realContentHeight;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nexports.ellipsize = ellipsize;\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n var precision = 10000 * doc.scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= (0, common_1.getStringWidth)(text, styles, doc)) {\n return text;\n }\n while (width < (0, common_1.getStringWidth)(text + overflow, styles, doc)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + overflow;\n}\n\n\n/***/ }),\n\n/***/ 964:\n/***/ (function(module) {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE__964__ === 'undefined') { var e = new Error(\"Cannot find module 'undefined'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__964__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n!function() {\nvar exports = __webpack_exports__;\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cell = exports.Column = exports.Row = exports.Table = exports.CellHookData = exports.__drawTable = exports.__createTable = exports.applyPlugin = void 0;\nvar applyPlugin_1 = __webpack_require__(340);\nvar inputParser_1 = __webpack_require__(776);\nvar tableDrawer_1 = __webpack_require__(664);\nvar tableCalculator_1 = __webpack_require__(972);\nvar models_1 = __webpack_require__(260);\nObject.defineProperty(exports, \"Table\", ({ enumerable: true, get: function () { return models_1.Table; } }));\nvar HookData_1 = __webpack_require__(172);\nObject.defineProperty(exports, \"CellHookData\", ({ enumerable: true, get: function () { return HookData_1.CellHookData; } }));\nvar models_2 = __webpack_require__(260);\nObject.defineProperty(exports, \"Cell\", ({ enumerable: true, get: function () { return models_2.Cell; } }));\nObject.defineProperty(exports, \"Column\", ({ enumerable: true, get: function () { return models_2.Column; } }));\nObject.defineProperty(exports, \"Row\", ({ enumerable: true, get: function () { return models_2.Row; } }));\n// export { applyPlugin } didn't export applyPlugin\n// to index.d.ts for some reason\nfunction applyPlugin(jsPDF) {\n (0, applyPlugin_1.default)(jsPDF);\n}\nexports.applyPlugin = applyPlugin;\nfunction autoTable(d, options) {\n var input = (0, inputParser_1.parseInput)(d, options);\n var table = (0, tableCalculator_1.createTable)(d, input);\n (0, tableDrawer_1.drawTable)(d, table);\n}\n// Experimental export\nfunction __createTable(d, options) {\n var input = (0, inputParser_1.parseInput)(d, options);\n return (0, tableCalculator_1.createTable)(d, input);\n}\nexports.__createTable = __createTable;\nfunction __drawTable(d, table) {\n (0, tableDrawer_1.drawTable)(d, table);\n}\nexports.__drawTable = __drawTable;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n var jsPDF = __webpack_require__(964);\n // Webpack imported jspdf instead of jsPDF for some reason\n // while it seemed to work everywhere else.\n if (jsPDF.jsPDF)\n jsPDF = jsPDF.jsPDF;\n applyPlugin(jsPDF);\n}\ncatch (error) {\n // Importing jspdf in nodejs environments does not work as of jspdf\n // 1.5.3 so we need to silence potential errors to support using for example\n // the nodejs jspdf dist files with the exported applyPlugin\n}\nexports[\"default\"] = autoTable;\n\n}();\n/******/ \treturn __webpack_exports__;\n/******/ })()\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// Some of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.\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 w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([\n c + ';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'\n ], { type: 'text/javascript' }))));\n w.onmessage = function (e) {\n var d = e.data, ed = d.$e$;\n if (ed) {\n var err = new Error(ed[0]);\n err['code'] = ed[1];\n err.stack = ed[2];\n cb(err, null);\n }\n else\n cb(null, d);\n };\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, i32 = Int32Array;\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\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 i32(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: b, r: r };\n};\nvar _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;\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.b, revfd = _b.r;\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 if (cd[i])\n ++l[cd[i] - 1];\n }\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 1; 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 if (cd[i]) {\n co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);\n }\n }\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 + 7) / 8) | 0; };\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 return new u8(v.subarray(s, e));\n};\n/**\n * Codes for errors generated within this library\n */\nexport var FlateErrorCode = {\n UnexpectedEOF: 0,\n InvalidBlockType: 1,\n InvalidLengthLiteral: 2,\n InvalidDistance: 3,\n StreamFinished: 4,\n NoStreamHandler: 5,\n InvalidHeader: 6,\n NoCallback: 7,\n InvalidUTF8: 8,\n ExtraFieldTooLong: 9,\n InvalidDate: 10,\n FilenameTooLong: 11,\n StreamFinishing: 12,\n InvalidZipData: 13,\n UnknownCompressionMethod: 14\n};\n// error codes\nvar ec = [\n 'unexpected EOF',\n 'invalid block type',\n 'invalid length/literal',\n 'invalid distance',\n 'stream finished',\n 'no stream handler',\n ,\n 'no callback',\n 'invalid UTF-8 data',\n 'extra field too long',\n 'date not in range 1980-2099',\n 'filename too long',\n 'stream finishing',\n 'invalid zip data'\n // determined by unknown compression method\n];\n;\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, st, buf, dict) {\n // source length dict length\n var sl = dat.length, dl = dict ? dict.length : 0;\n if (!sl || st.f && !st.l)\n return buf || new u8(0);\n var noBuf = !buf;\n // have to estimate size\n var resize = noBuf || st.i != 2;\n // no state\n var noSt = st.i;\n // Assumes roughly 33% compression ratio average\n if (noBuf)\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 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 err(0);\n break;\n }\n // ensure size\n if (resize)\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, st.f = final;\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 // 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 err(1);\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\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 (resize)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var lpos = pos;\n for (;; lpos = pos) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >> 4;\n pos += c & 15;\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (!c)\n err(2);\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lpos = pos, 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 err(3);\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 if (noSt)\n err(0);\n break;\n }\n if (resize)\n cbuf(bt + 131072);\n var end = bt + add;\n if (bt < dt) {\n var shift = dl - dt, dend = Math.min(dt, end);\n if (shift + bt < 0)\n err(3);\n for (; bt < dend; ++bt)\n buf[bt] = dict[shift + bt];\n }\n for (; bt < end; ++bt)\n buf[bt] = buf[bt - dt];\n }\n }\n st.l = lm, st.p = lpos, st.b = bt, st.f = final;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n // don't reallocate for streams or user buffers\n return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(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 { t: et, l: 0 };\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return { t: v, l: 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 { t: new u8(tr), l: 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 { c: cl.subarray(0, cli), n: 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.t, mlb = _a.l;\n var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l;\n var _c = lc(dlt), lclt = _c.c, nlc = _c.n;\n var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;\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.t, mlcb = _e.l;\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 (bs >= 0 && 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 var sym = syms[i];\n if (sym > 255) {\n var len = (sym >> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (sym >> 23) & 31), p += fleb[len];\n var dst = sym & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[sym]), p += ll[sym];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new i32([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, st) {\n var s = st.z || dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var lst = st.l;\n var pos = (st.r || 0) & 7;\n if (lvl) {\n if (pos)\n w[0] = st.r >> 3;\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 = st.p || new u16(32768), head = st.h || 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 i32(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 blkpos\n var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;\n for (; i + 2 < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768 previous index mod\n var imod = i & 32767, 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 || !lst)) {\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 & 32767;\n var pti = prev[ti];\n var cd = ti - pti & 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 & 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 int32\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 for (i = Math.max(i, wi); i < s; ++i) {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n if (!lst) {\n st.r = (pos & 7) | w[(pos / 8) | 0] << 3;\n // shft(pos) now 1 less if pos & 7 != 0\n pos -= 7;\n st.h = head, st.p = prev, st.i = i, st.w = wi;\n }\n }\n else {\n for (var i = st.w || 0; i < s + lst; i += 65535) {\n // end\n var e = i + 65535;\n if (e >= s) {\n // write final block\n w[(pos / 8) | 0] = lst;\n e = s;\n }\n pos = wfblk(w, pos + 1, dat.subarray(i, e));\n }\n st.i = s;\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new Int32Array(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && -306674912) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = -1;\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; }\n };\n};\n// Adler32\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 | 0;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 2655, l);\n for (; i < e; ++i)\n m += n += d[i];\n n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);\n }\n a = n, b = m;\n },\n d: function () {\n a %= 65521, b %= 65521;\n return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8);\n }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n if (!st) {\n st = { l: 1 };\n if (opt.dictionary) {\n var dict = opt.dictionary.subarray(-32768);\n var newDat = new u8(dict.length + dat.length);\n newDat.set(dict);\n newDat.set(dat, dict.length);\n dat = newDat;\n st.w = dict.length;\n }\n }\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (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(/\\s+/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;\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k].buffer) {\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n fnStr = wcln(fns[i], fnStr, td_1);\n ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 };\n }\n var td = mrg({}, ch[id].e);\n return wk(ch[id].c + ';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, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; };\nvar bDflt = function () { return [u8, u16, i32, 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 [zls]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get opts\nvar gopt = function (o) { return o && {\n out: o.size && new u8(o.size),\n dictionary: o.dictionary\n}; };\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 w.postMessage([dat, opts], opts.consume ? [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) {\n if (ev.data.length) {\n strm.push(ev.data[0], ev.data[1]);\n postMessage([ev.data[0].length]);\n }\n else\n strm.flush();\n };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id, flush, ext) {\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 if (!Array.isArray(dat))\n ext(dat);\n else if (dat.length == 1) {\n strm.queuedSize -= dat[0];\n if (strm.ondrain)\n strm.ondrain(dat[0]);\n }\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.queuedSize = 0;\n strm.push = function (d, f) {\n if (!strm.ondata)\n err(5);\n if (t)\n strm.ondata(err(4, 0, 1), null, !!f);\n strm.queuedSize += d.length;\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n if (flush) {\n strm.flush = function () { w.postMessage([]); };\n }\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] << 24)) >>> 0; };\nvar b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };\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 err(6, '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 | d[l - 1] << 24) >>> 0;\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) | (o.dictionary && 32);\n c[1] |= 31 - ((c[0] << 8) | c[1]) % 31;\n if (o.dictionary) {\n var h = adler();\n h.p(o.dictionary);\n wbytes(c, 2, h.d());\n }\n};\n// zlib start\nvar zls = function (d, dict) {\n if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n err(6, 'invalid zlib data');\n if ((d[1] >> 5 & 1) == +!dict)\n err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary');\n return (d[1] >> 3 & 4) + 2;\n};\nfunction StrmOpt(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n this.s = { l: 0, i: 32768, w: 32768, z: 32768 };\n // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev\n // 98304 = 32768 (lookback) + 65536 (common chunk size)\n this.b = new u8(98304);\n if (this.o.dictionary) {\n var dict = this.o.dictionary.subarray(-32768);\n this.b.set(dict, 32768 - dict.length);\n this.s.i = 32768 - dict.length;\n }\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, this.s), 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.ondata)\n err(5);\n if (this.s.l)\n err(4);\n var endLen = chunk.length + this.s.z;\n if (endLen > this.b.length) {\n if (endLen > 2 * this.b.length - 32768) {\n var newBuf = new u8(endLen & -32768);\n newBuf.set(this.b.subarray(0, this.s.z));\n this.b = newBuf;\n }\n var split = this.b.length - this.s.z;\n this.b.set(chunk.subarray(0, split), this.s.z);\n this.s.z = this.b.length;\n this.p(this.b, false);\n this.b.set(this.b.subarray(-32768));\n this.b.set(chunk.subarray(split), 32768);\n this.s.z = chunk.length - split + 32768;\n this.s.i = 32766, this.s.w = 32768;\n }\n else {\n this.b.set(chunk, this.s.z);\n this.s.z += chunk.length;\n }\n this.s.l = final & 1;\n if (this.s.z > this.s.w + 8191 || final) {\n this.p(this.b, final || false);\n this.s.w = this.s.i, this.s.i -= 2;\n }\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * deflated output for small inputs.\n */\n Deflate.prototype.flush = function () {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n this.p(this.b, false);\n this.s.w = this.s.i, this.s.i -= 2;\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, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6, 1);\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 err(7);\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 return dopt(data, opts || {}, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n function Inflate(opts, cb) {\n // no StrmOpt here to avoid adding to workerizer\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768);\n this.s = { i: 0, b: dict ? dict.length : 0 };\n this.o = new u8(32768);\n this.p = new u8(0);\n if (dict)\n this.o.set(dict);\n }\n Inflate.prototype.e = function (c) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n if (!this.p.length)\n this.p = c;\n else if (c.length) {\n var n = new u8(this.p.length + c.length);\n n.set(this.p), n.set(c, this.p.length), this.p = n;\n }\n };\n Inflate.prototype.c = function (final) {\n this.s.i = +(this.d = final || false);\n var bts = this.s.b;\n var dt = inflt(this.p, this.s, this.o);\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 function AsyncInflate(opts, cb) {\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Inflate(ev.data);\n onmessage = astrm(strm);\n }, 7, 0);\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 err(7);\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, opts) {\n return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);\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 this.c.p(chunk);\n this.l += chunk.length;\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s);\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 /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * GZIPped output for small inputs.\n */\n Gzip.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\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, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8, 1);\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 err(7);\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)\n 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 single or multi-member GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n function Gunzip(opts, cb) {\n this.v = 1;\n this.r = 0;\n Inflate.call(this, opts, 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 this.r += chunk.length;\n if (this.v) {\n var p = this.p.subarray(this.v - 1);\n var s = p.length > 3 ? gzs(p) : 4;\n if (s > p.length) {\n if (!final)\n return;\n }\n else if (this.v > 1 && this.onmember) {\n this.onmember(this.r - p.length);\n }\n this.p = p.subarray(s), this.v = 0;\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 // process concatenated GZIP\n if (this.s.f && !this.s.l && !final) {\n this.v = shft(this.s.p) + 9;\n this.s = { i: 0 };\n this.o = new u8(0);\n this.push(new u8(0), final);\n }\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming single or multi-member GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n function AsyncGunzip(opts, cb) {\n var _this = this;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gunzip(ev.data);\n strm.onmember = function (offset) { return postMessage(offset); };\n onmessage = astrm(strm);\n }, 9, 0, function (offset) { return _this.onmember && _this.onmember(offset); });\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 err(7);\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, opts) {\n var st = gzs(data);\n if (st + 8 > data.length)\n err(6, 'invalid gzip data');\n return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary);\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 this.c.p(chunk);\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s);\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 /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * zlibbed output for small inputs.\n */\n Zlib.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\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, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10, 1);\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 err(7);\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)\n opts = {};\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, opts.dictionary ? 6 : 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 function Unzlib(opts, cb) {\n Inflate.call(this, opts, cb);\n this.v = opts && opts.dictionary ? 2 : 1;\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 < 6 && !final)\n return;\n this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n err(6, 'invalid zlib data');\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 function AsyncUnzlib(opts, cb) {\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Unzlib(ev.data);\n onmessage = astrm(strm);\n }, 11, 0);\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 err(7);\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, opts) {\n return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n function Decompress(opts, cb) {\n this.o = StrmOpt.call(this, opts, cb) || {};\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n }\n // init substream\n // overriden by AsyncDecompress\n Decompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (dat, final) {\n _this.ondata(dat, final);\n };\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 err(5);\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 this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(this.o)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(this.o)\n : new this.Z(this.o);\n this.i();\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 function AsyncDecompress(opts, cb) {\n Decompress.call(this, opts, cb);\n this.queuedSize = 0;\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n }\n AsyncDecompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (err, dat, final) {\n _this.ondata(err, dat, final);\n };\n this.s.ondrain = function (size) {\n _this.queuedSize -= size;\n if (_this.ondrain)\n _this.ondrain(size);\n };\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 this.queuedSize += chunk.length;\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 err(7);\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 opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, opts) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, opts)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, opts)\n : unzlibSync(data, opts);\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, op = o;\n if (Array.isArray(val))\n op = mrg(o, val[1]), val = val[0];\n if (val instanceof u8)\n t[n] = [val, op];\n else {\n t[n += '/'] = [new u8(0), op];\n fltn(val, n, t, o);\n }\n }\n};\n// text encoder\nvar te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder();\n// text decoder\nvar td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();\n// text decoder stream\nvar tds = 0;\ntry {\n td.decode(et, { stream: true });\n tds = 1;\n}\ncatch (e) { }\n// decode UTF8\nvar dutf8 = function (d) {\n for (var r = '', i = 0;;) {\n var c = d[i++];\n var eb = (c > 127) + (c > 223) + (c > 239);\n if (i + eb > d.length)\n return { s: r, r: slc(d, i - 1) };\n if (!eb)\n r += String.fromCharCode(c);\n else if (eb == 3) {\n c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n else if (eb & 1)\n r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));\n else\n r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));\n }\n};\n/**\n * Streaming UTF-8 decoding\n */\nvar DecodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is decoded\n */\n function DecodeUTF8(cb) {\n this.ondata = cb;\n if (tds)\n this.t = new TextDecoder();\n else\n this.p = et;\n }\n /**\n * Pushes a chunk to be decoded from UTF-8 binary\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n DecodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n final = !!final;\n if (this.t) {\n this.ondata(this.t.decode(chunk, { stream: true }), final);\n if (final) {\n if (this.t.decode().length)\n err(8);\n this.t = null;\n }\n return;\n }\n if (!this.p)\n err(4);\n var dat = new u8(this.p.length + chunk.length);\n dat.set(this.p);\n dat.set(chunk, this.p.length);\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (final) {\n if (r.length)\n err(8);\n this.p = null;\n }\n else\n this.p = r;\n this.ondata(s, final);\n };\n return DecodeUTF8;\n}());\nexport { DecodeUTF8 };\n/**\n * Streaming UTF-8 encoding\n */\nvar EncodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is encoded\n */\n function EncodeUTF8(cb) {\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be encoded to UTF-8\n * @param chunk The string data to push\n * @param final Whether this is the last chunk\n */\n EncodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n this.ondata(strToU8(chunk), this.d = final || false);\n };\n return EncodeUTF8;\n}());\nexport { EncodeUTF8 };\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 if (latin1) {\n var ar_1 = new u8(str.length);\n for (var i = 0; i < str.length; ++i)\n ar_1[i] = str.charCodeAt(i);\n return ar_1;\n }\n if (te)\n return te.encode(str);\n var l = str.length;\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 if (latin1) {\n var r = '';\n for (var i = 0; i < dat.length; i += 16384)\n r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));\n return r;\n }\n else if (td) {\n return td.decode(dat);\n }\n else {\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (r.length)\n err(8);\n return s;\n }\n}\n;\n// deflate bit flag\nvar dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; };\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, bs = b4(d, b + 20);\n var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, 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 [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];\n};\n// extra field length\nvar exfl = function (ex) {\n var le = 0;\n if (ex) {\n for (var k in ex) {\n var l = ex[k].length;\n if (l > 65535)\n err(9);\n le += l + 4;\n }\n }\n return le;\n};\n// write zip header\nvar wzh = function (d, b, f, fn, u, c, ce, co) {\n var fl = fn.length, ex = f.extra, col = co && co.length;\n var exl = exfl(ex);\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b++] = 20, d[b++] = f.os;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8;\n d[b++] = f.compression & 255, d[b++] = f.compression >> 8;\n var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n err(10);\n wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4;\n if (c != -1) {\n wbytes(d, b, f.crc);\n wbytes(d, b + 4, c < 0 ? -c - 2 : c);\n wbytes(d, b + 8, f.size);\n }\n wbytes(d, b + 12, fl);\n wbytes(d, b + 14, exl), b += 16;\n if (ce != null) {\n wbytes(d, b, col);\n wbytes(d, b + 6, f.attrs);\n wbytes(d, b + 10, ce), b += 14;\n }\n d.set(fn, b);\n b += fl;\n if (exl) {\n for (var k in ex) {\n var exf = ex[k], l = exf.length;\n wbytes(d, b, +k);\n wbytes(d, b + 2, l);\n d.set(exf, b + 4), b += 4 + l;\n }\n }\n if (col)\n d.set(co, b), b += col;\n return 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};\n/**\n * A pass-through stream to keep data uncompressed in a ZIP archive.\n */\nvar ZipPassThrough = /*#__PURE__*/ (function () {\n /**\n * Creates a pass-through stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n */\n function ZipPassThrough(filename) {\n this.filename = filename;\n this.c = crc();\n this.size = 0;\n this.compression = 0;\n }\n /**\n * Processes a chunk and pushes to the output stream. You can override this\n * method in a subclass for custom behavior, but by default this passes\n * the data through. You must call this.ondata(err, chunk, final) at some\n * point in this method.\n * @param chunk The chunk to process\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.process = function (chunk, final) {\n this.ondata(null, chunk, final);\n };\n /**\n * Pushes a chunk to be added. If you are subclassing this with a custom\n * compression algorithm, note that you must push data from the source\n * file only, pre-compression.\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n this.c.p(chunk);\n this.size += chunk.length;\n if (final)\n this.crc = this.c.d();\n this.process(chunk, final || false);\n };\n return ZipPassThrough;\n}());\nexport { ZipPassThrough };\n// I don't extend because TypeScript extension adds 1kB of runtime bloat\n/**\n * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate\n * for better performance\n */\nvar ZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function ZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new Deflate(opts, function (dat, final) {\n _this.ondata(null, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n }\n ZipDeflate.prototype.process = function (chunk, final) {\n try {\n this.d.push(chunk, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\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 ZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return ZipDeflate;\n}());\nexport { ZipDeflate };\n/**\n * Asynchronous streaming DEFLATE compression for ZIP archives\n */\nvar AsyncZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function AsyncZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new AsyncDeflate(opts, function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n this.terminate = this.d.terminate;\n }\n AsyncZipDeflate.prototype.process = function (chunk, final) {\n this.d.push(chunk, final);\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 AsyncZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return AsyncZipDeflate;\n}());\nexport { AsyncZipDeflate };\n// TODO: Better tree shaking\n/**\n * A zippable archive to which files can incrementally be added\n */\nvar Zip = /*#__PURE__*/ (function () {\n /**\n * Creates an empty ZIP archive to which files can be added\n * @param cb The callback to call whenever data for the generated ZIP archive\n * is available\n */\n function Zip(cb) {\n this.ondata = cb;\n this.u = [];\n this.d = 1;\n }\n /**\n * Adds a file to the ZIP archive\n * @param file The file stream to add\n */\n Zip.prototype.add = function (file) {\n var _this = this;\n if (!this.ondata)\n err(5);\n // finishing or finished\n if (this.d & 2)\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false);\n else {\n var f = strToU8(file.filename), fl_1 = f.length;\n var com = file.comment, o = com && strToU8(com);\n var u = fl_1 != file.filename.length || (o && (com.length != o.length));\n var hl_1 = fl_1 + exfl(file.extra) + 30;\n if (fl_1 > 65535)\n this.ondata(err(11, 0, 1), null, false);\n var header = new u8(hl_1);\n wzh(header, 0, file, f, u, -1);\n var chks_1 = [header];\n var pAll_1 = function () {\n for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) {\n var chk = chks_2[_i];\n _this.ondata(null, chk, false);\n }\n chks_1 = [];\n };\n var tr_1 = this.d;\n this.d = 0;\n var ind_1 = this.u.length;\n var uf_1 = mrg(file, {\n f: f,\n u: u,\n o: o,\n t: function () {\n if (file.terminate)\n file.terminate();\n },\n r: function () {\n pAll_1();\n if (tr_1) {\n var nxt = _this.u[ind_1 + 1];\n if (nxt)\n nxt.r();\n else\n _this.d = 1;\n }\n tr_1 = 1;\n }\n });\n var cl_1 = 0;\n file.ondata = function (err, dat, final) {\n if (err) {\n _this.ondata(err, dat, final);\n _this.terminate();\n }\n else {\n cl_1 += dat.length;\n chks_1.push(dat);\n if (final) {\n var dd = new u8(16);\n wbytes(dd, 0, 0x8074B50);\n wbytes(dd, 4, file.crc);\n wbytes(dd, 8, cl_1);\n wbytes(dd, 12, file.size);\n chks_1.push(dd);\n uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size;\n if (tr_1)\n uf_1.r();\n tr_1 = 1;\n }\n else if (tr_1)\n pAll_1();\n }\n };\n this.u.push(uf_1);\n }\n };\n /**\n * Ends the process of adding files and prepares to emit the final chunks.\n * This *must* be called after adding all desired files for the resulting\n * ZIP file to work properly.\n */\n Zip.prototype.end = function () {\n var _this = this;\n if (this.d & 2) {\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true);\n return;\n }\n if (this.d)\n this.e();\n else\n this.u.push({\n r: function () {\n if (!(_this.d & 1))\n return;\n _this.u.splice(-1, 1);\n _this.e();\n },\n t: function () { }\n });\n this.d = 3;\n };\n Zip.prototype.e = function () {\n var bt = 0, l = 0, tl = 0;\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0);\n }\n var out = new u8(tl + 22);\n for (var _b = 0, _c = this.u; _b < _c.length; _b++) {\n var f = _c[_b];\n wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o);\n bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b;\n }\n wzf(out, bt, this.u.length, tl, l);\n this.ondata(null, out, true);\n this.d = 2;\n };\n /**\n * A method to terminate any internal workers used by the stream. Subsequent\n * calls to add() will fail.\n */\n Zip.prototype.terminate = function () {\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n f.t();\n }\n this.d = 2;\n };\n return Zip;\n}());\nexport { Zip };\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\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 cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\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 var l = f.c.length;\n wzh(out, tot, f, f.f, f.u, l);\n var badd = 30 + f.f.length + exfl(f.extra);\n var loc = tot + badd;\n out.set(f.c, loc);\n wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l;\n }\n catch (e) {\n return cbd(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cbd(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(), size = file.length;\n c.p(file);\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n var compression = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n var l = d.length;\n files[i] = mrg(p, {\n size: size,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n compression: compression\n });\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n if (!--lft)\n cbf();\n }\n };\n if (s > 65535)\n cbl(err(11, 0, 1), null);\n if (!compression)\n cbl(null, file);\n else if (size < 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)\n 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 compression = p.level == 0 ? 0 : 8;\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n if (s > 65535)\n err(11);\n var d = compression ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push(mrg(p, {\n size: file.length,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n o: o,\n compression: compression\n }));\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + 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, f.f, f.u, f.c.length);\n var badd = 30 + f.f.length + exfl(f.extra);\n out.set(f.c, f.o + badd);\n wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0);\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Streaming pass-through decompression for ZIP archives\n */\nvar UnzipPassThrough = /*#__PURE__*/ (function () {\n function UnzipPassThrough() {\n }\n UnzipPassThrough.prototype.push = function (data, final) {\n this.ondata(null, data, final);\n };\n UnzipPassThrough.compression = 0;\n return UnzipPassThrough;\n}());\nexport { UnzipPassThrough };\n/**\n * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for\n * better performance.\n */\nvar UnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function UnzipInflate() {\n var _this = this;\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n UnzipInflate.prototype.push = function (data, final) {\n try {\n this.i.push(data, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n UnzipInflate.compression = 8;\n return UnzipInflate;\n}());\nexport { UnzipInflate };\n/**\n * Asynchronous streaming DEFLATE decompression for ZIP archives\n */\nvar AsyncUnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function AsyncUnzipInflate(_, sz) {\n var _this = this;\n if (sz < 320000) {\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n else {\n this.i = new AsyncInflate(function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.terminate = this.i.terminate;\n }\n }\n AsyncUnzipInflate.prototype.push = function (data, final) {\n if (this.i.terminate)\n data = slc(data, 0);\n this.i.push(data, final);\n };\n AsyncUnzipInflate.compression = 8;\n return AsyncUnzipInflate;\n}());\nexport { AsyncUnzipInflate };\n/**\n * A ZIP archive decompression stream that emits files as they are discovered\n */\nvar Unzip = /*#__PURE__*/ (function () {\n /**\n * Creates a ZIP decompression stream\n * @param cb The callback to call whenever a file in the ZIP archive is found\n */\n function Unzip(cb) {\n this.onfile = cb;\n this.k = [];\n this.o = {\n 0: UnzipPassThrough\n };\n this.p = et;\n }\n /**\n * Pushes a chunk to be unzipped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzip.prototype.push = function (chunk, final) {\n var _this = this;\n if (!this.onfile)\n err(5);\n if (!this.p)\n err(4);\n if (this.c > 0) {\n var len = Math.min(this.c, chunk.length);\n var toAdd = chunk.subarray(0, len);\n this.c -= len;\n if (this.d)\n this.d.push(toAdd, !this.c);\n else\n this.k[0].push(toAdd);\n chunk = chunk.subarray(len);\n if (chunk.length)\n return this.push(chunk, final);\n }\n else {\n var f = 0, i = 0, is = void 0, buf = void 0;\n if (!this.p.length)\n buf = chunk;\n else if (!chunk.length)\n buf = this.p;\n else {\n buf = new u8(this.p.length + chunk.length);\n buf.set(this.p), buf.set(chunk, this.p.length);\n }\n var l = buf.length, oc = this.c, add = oc && this.d;\n var _loop_2 = function () {\n var _a;\n var sig = b4(buf, i);\n if (sig == 0x4034B50) {\n f = 1, is = i;\n this_1.d = null;\n this_1.c = 0;\n var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28);\n if (l > i + 30 + fnl + es) {\n var chks_3 = [];\n this_1.k.unshift(chks_3);\n f = 2;\n var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22);\n var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u);\n if (sc_1 == 4294967295) {\n _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1];\n }\n else if (dd)\n sc_1 = -1;\n i += es;\n this_1.c = sc_1;\n var d_1;\n var file_1 = {\n name: fn_1,\n compression: cmp_1,\n start: function () {\n if (!file_1.ondata)\n err(5);\n if (!sc_1)\n file_1.ondata(null, et, true);\n else {\n var ctr = _this.o[cmp_1];\n if (!ctr)\n file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false);\n d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);\n d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); };\n for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) {\n var dat = chks_4[_i];\n d_1.push(dat, false);\n }\n if (_this.k[0] == chks_3 && _this.c)\n _this.d = d_1;\n else\n d_1.push(et, true);\n }\n },\n terminate: function () {\n if (d_1 && d_1.terminate)\n d_1.terminate();\n }\n };\n if (sc_1 >= 0)\n file_1.size = sc_1, file_1.originalSize = su_1;\n this_1.onfile(file_1);\n }\n return \"break\";\n }\n else if (oc) {\n if (sig == 0x8074B50) {\n is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0;\n return \"break\";\n }\n else if (sig == 0x2014B50) {\n is = i -= 4, f = 3, this_1.c = 0;\n return \"break\";\n }\n }\n };\n var this_1 = this;\n for (; i < l - 4; ++i) {\n var state_1 = _loop_2();\n if (state_1 === \"break\")\n break;\n }\n this.p = et;\n if (oc < 0) {\n var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i);\n if (add)\n add.push(dat, !!f);\n else\n this.k[+(f == 2)].push(dat);\n }\n if (f & 2)\n return this.push(buf.subarray(i), final);\n this.p = buf.subarray(i);\n }\n if (final) {\n if (this.c)\n err(13);\n this.p = null;\n }\n };\n /**\n * Registers a decoder with the stream, allowing for files compressed with\n * the compression type provided to be expanded correctly\n * @param decoder The decoder constructor\n */\n Unzip.prototype.register = function (decoder) {\n this.o[decoder.compression] = decoder;\n };\n return Unzip;\n}());\nexport { Unzip };\nvar mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); };\nexport function unzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\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 cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cbd(err(13, 0, 1), null);\n return tAll;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (lft) {\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = lft = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n var _loop_3 = 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 cbd(e, null);\n }\n else {\n if (d)\n files[fn] = d;\n if (!--lft)\n cbd(null, files);\n }\n };\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_1\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 // Synchronously decompress under 512KB, or barely-compressed data\n if (su < 524288 || sc > 0.8 * su) {\n try {\n cbl(null, inflateSync(infl, { out: 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(err(14, 'unknown compression type ' + c_1, 1), null);\n }\n else\n cbl(null, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_3(i);\n }\n }\n else\n cbd(null, {});\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 * @param opts The ZIP extraction options\n * @returns The decompressed files\n */\nexport function unzipSync(data, opts) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n err(13);\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 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\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 (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_2\n })) {\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), { out: new u8(su) });\n else\n err(14, 'unknown compression type ' + c_2);\n }\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 var findWidth = function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n };\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(findWidth);\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\" && activeFont.encoding === \"Identity-H\") {\r\n // when using unicode fonts, wordSpacePerLine does not apply\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n let backToStartX = 0;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : backToStartX;\r\n if (l < len - 1) {\r\n let spacing = scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n );\r\n let words = da[l].split(\" \");\r\n text.push([words[0] + \" \", newX, newY]);\r\n backToStartX = 0; // distance to reset back to the left\r\n for (let i = 1; i < words.length; i++) {\r\n let shiftAmount =\r\n (findWidth(words[i - 1] + \" \" + words[i]) -\r\n findWidth(words[i])) *\r\n scaleFactor +\r\n spacing;\r\n if (i == words.length - 1) text.push([words[i], shiftAmount, 0]);\r\n else text.push([words[i] + \" \", shiftAmount, 0]);\r\n backToStartX -= shiftAmount;\r\n }\r\n } else {\r\n text.push([da[l], newX, newY]);\r\n }\r\n }\r\n text.push([\"\", backToStartX, 0]);\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

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

    \n *

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

    \n *

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

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

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

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

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

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

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

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



    a c e

    b d f

    0 0 1

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

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

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = basePropertyOf;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\nmodule.exports = kebabCase;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","import lottie from \"lottie-web\";\nimport React, { useEffect, useRef, useState, } from \"react\";\nconst useLottie = (props, style) => {\n const { animationData, loop, autoplay, initialSegment, onComplete, onLoopComplete, onEnterFrame, onSegmentStart, onConfigReady, onDataReady, onDataFailed, onLoadedImages, onDOMLoaded, onDestroy, \n // Specified here to take them out from the 'rest'\n lottieRef, renderer, name, assetsPath, rendererSettings, \n // TODO: find a better way to extract the html props to avoid specifying\n // all the props that we want to exclude (as you can see above)\n ...rest } = props;\n const [animationLoaded, setAnimationLoaded] = useState(false);\n const animationInstanceRef = useRef();\n const animationContainer = useRef(null);\n /*\n ======================================\n INTERACTION METHODS\n ======================================\n */\n /**\n * Play\n */\n const play = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.play();\n };\n /**\n * Stop\n */\n const stop = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.stop();\n };\n /**\n * Pause\n */\n const pause = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.pause();\n };\n /**\n * Set animation speed\n * @param speed\n */\n const setSpeed = (speed) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSpeed(speed);\n };\n /**\n * Got to frame and play\n * @param value\n * @param isFrame\n */\n const goToAndPlay = (value, isFrame) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndPlay(value, isFrame);\n };\n /**\n * Got to frame and stop\n * @param value\n * @param isFrame\n */\n const goToAndStop = (value, isFrame) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.goToAndStop(value, isFrame);\n };\n /**\n * Set animation direction\n * @param direction\n */\n const setDirection = (direction) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setDirection(direction);\n };\n /**\n * Play animation segments\n * @param segments\n * @param forceFlag\n */\n const playSegments = (segments, forceFlag) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.playSegments(segments, forceFlag);\n };\n /**\n * Set sub frames\n * @param useSubFrames\n */\n const setSubframe = (useSubFrames) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.setSubframe(useSubFrames);\n };\n /**\n * Get animation duration\n * @param inFrames\n */\n const getDuration = (inFrames) => { var _a; return (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.getDuration(inFrames); };\n /**\n * Destroy animation\n */\n const destroy = () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Removing the reference to the animation so separate cleanups are skipped.\n // Without it the internal `lottie-react` instance throws exceptions as it already cleared itself on destroy.\n animationInstanceRef.current = undefined;\n };\n /*\n ======================================\n LOTTIE\n ======================================\n */\n /**\n * Load a new animation, and if it's the case, destroy the previous one\n * @param {Object} forcedConfigs\n */\n const loadAnimation = (forcedConfigs = {}) => {\n var _a;\n // Return if the container ref is null\n if (!animationContainer.current) {\n return;\n }\n // Destroy any previous instance\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n // Build the animation configuration\n const config = {\n ...props,\n ...forcedConfigs,\n container: animationContainer.current,\n };\n // Save the animation instance\n animationInstanceRef.current = lottie.loadAnimation(config);\n setAnimationLoaded(!!animationInstanceRef.current);\n // Return a function that will clean up\n return () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n animationInstanceRef.current = undefined;\n };\n };\n /**\n * (Re)Initialize when animation data changed\n */\n useEffect(() => {\n const onUnmount = loadAnimation();\n // Clean up on unmount\n return () => onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [animationData, loop]);\n // Update the autoplay state\n useEffect(() => {\n if (!animationInstanceRef.current) {\n return;\n }\n animationInstanceRef.current.autoplay = !!autoplay;\n }, [autoplay]);\n // Update the initial segment state\n useEffect(() => {\n if (!animationInstanceRef.current) {\n return;\n }\n // When null should reset to default animation length\n if (!initialSegment) {\n animationInstanceRef.current.resetSegments(true);\n return;\n }\n // If it's not a valid segment, do nothing\n if (!Array.isArray(initialSegment) || !initialSegment.length) {\n return;\n }\n // If the current position it's not in the new segment\n // set the current position to start\n if (animationInstanceRef.current.currentRawFrame < initialSegment[0] ||\n animationInstanceRef.current.currentRawFrame > initialSegment[1]) {\n animationInstanceRef.current.currentRawFrame = initialSegment[0];\n }\n // Update the segment\n animationInstanceRef.current.setSegment(initialSegment[0], initialSegment[1]);\n }, [initialSegment]);\n /*\n ======================================\n EVENTS\n ======================================\n */\n /**\n * Reinitialize listener on change\n */\n useEffect(() => {\n const partialListeners = [\n { name: \"complete\", handler: onComplete },\n { name: \"loopComplete\", handler: onLoopComplete },\n { name: \"enterFrame\", handler: onEnterFrame },\n { name: \"segmentStart\", handler: onSegmentStart },\n { name: \"config_ready\", handler: onConfigReady },\n { name: \"data_ready\", handler: onDataReady },\n { name: \"data_failed\", handler: onDataFailed },\n { name: \"loaded_images\", handler: onLoadedImages },\n { name: \"DOMLoaded\", handler: onDOMLoaded },\n { name: \"destroy\", handler: onDestroy },\n ];\n const listeners = partialListeners.filter((listener) => listener.handler != null);\n if (!listeners.length) {\n return;\n }\n const deregisterList = listeners.map(\n /**\n * Handle the process of adding an event listener\n * @param {Listener} listener\n * @return {Function} Function that deregister the listener\n */\n (listener) => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener(listener.name, listener.handler);\n // Return a function to deregister this listener\n return () => {\n var _a;\n (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener(listener.name, listener.handler);\n };\n });\n // Deregister listeners on unmount\n return () => {\n deregisterList.forEach((deregister) => deregister());\n };\n }, [\n onComplete,\n onLoopComplete,\n onEnterFrame,\n onSegmentStart,\n onConfigReady,\n onDataReady,\n onDataFailed,\n onLoadedImages,\n onDOMLoaded,\n onDestroy,\n ]);\n /**\n * Build the animation view\n */\n const View = React.createElement(\"div\", { style: style, ref: animationContainer, ...rest });\n return {\n View,\n play,\n stop,\n pause,\n setSpeed,\n goToAndStop,\n goToAndPlay,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef: animationContainer,\n animationLoaded,\n animationItem: animationInstanceRef.current,\n };\n};\nexport default useLottie;\n","import { useEffect } from \"react\";\n// helpers\nexport function getContainerVisibility(container) {\n const { top, height } = container.getBoundingClientRect();\n const current = window.innerHeight - top;\n const max = window.innerHeight + height;\n return current / max;\n}\nexport function getContainerCursorPosition(container, cursorX, cursorY) {\n const { top, left, width, height } = container.getBoundingClientRect();\n const x = (cursorX - left) / width;\n const y = (cursorY - top) / height;\n return { x, y };\n}\nexport const useInitInteractivity = ({ wrapperRef, animationItem, mode, actions, }) => {\n useEffect(() => {\n const wrapper = wrapperRef.current;\n if (!wrapper || !animationItem || !actions.length) {\n return;\n }\n animationItem.stop();\n const scrollModeHandler = () => {\n let assignedSegment = null;\n const scrollHandler = () => {\n const currentPercent = getContainerVisibility(wrapper);\n // Find the first action that satisfies the current position conditions\n const action = actions.find(({ visibility }) => visibility &&\n currentPercent >= visibility[0] &&\n currentPercent <= visibility[1]);\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n if (action.type === \"seek\" &&\n action.visibility &&\n action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n const frameToGo = action.frames[0] +\n Math.ceil(((currentPercent - action.visibility[0]) /\n (action.visibility[1] - action.visibility[0])) *\n action.frames[1]);\n //! goToAndStop must be relative to the start of the current segment\n animationItem.goToAndStop(frameToGo - animationItem.firstFrame - 1, true);\n }\n if (action.type === \"loop\") {\n // Loop: Loop a given frames\n if (assignedSegment === null) {\n // if not playing any segments currently. play those segments and save to state\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n else {\n // if playing any segments currently.\n //check if segments in state are equal to the frames selected by action\n if (assignedSegment !== action.frames) {\n // if they are not equal. new segments are to be loaded\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n else if (animationItem.isPaused) {\n // if they are equal the play method must be called only if lottie is paused\n animationItem.playSegments(action.frames, true);\n assignedSegment = action.frames;\n }\n }\n }\n if (action.type === \"play\" && animationItem.isPaused) {\n // Play: Reset segments and continue playing full animation from current position\n animationItem.resetSegments(true);\n animationItem.play();\n }\n if (action.type === \"stop\") {\n // Stop: Stop playback\n animationItem.goToAndStop(action.frames[0] - animationItem.firstFrame - 1, true);\n }\n };\n document.addEventListener(\"scroll\", scrollHandler);\n return () => {\n document.removeEventListener(\"scroll\", scrollHandler);\n };\n };\n const cursorModeHandler = () => {\n const handleCursor = (_x, _y) => {\n let x = _x;\n let y = _y;\n // Resolve cursor position if cursor is inside container\n if (x !== -1 && y !== -1) {\n // Get container cursor position\n const pos = getContainerCursorPosition(wrapper, x, y);\n // Use the resolved position\n x = pos.x;\n y = pos.y;\n }\n // Find the first action that satisfies the current position conditions\n const action = actions.find(({ position }) => {\n if (position &&\n Array.isArray(position.x) &&\n Array.isArray(position.y)) {\n return (x >= position.x[0] &&\n x <= position.x[1] &&\n y >= position.y[0] &&\n y <= position.y[1]);\n }\n if (position &&\n !Number.isNaN(position.x) &&\n !Number.isNaN(position.y)) {\n return x === position.x && y === position.y;\n }\n return false;\n });\n // Skip if no matching action was found!\n if (!action) {\n return;\n }\n // Process action types:\n if (action.type === \"seek\" &&\n action.position &&\n Array.isArray(action.position.x) &&\n Array.isArray(action.position.y) &&\n action.frames.length === 2) {\n // Seek: Go to a frame based on player scroll position action\n const xPercent = (x - action.position.x[0]) /\n (action.position.x[1] - action.position.x[0]);\n const yPercent = (y - action.position.y[0]) /\n (action.position.y[1] - action.position.y[0]);\n animationItem.playSegments(action.frames, true);\n animationItem.goToAndStop(Math.ceil(((xPercent + yPercent) / 2) *\n (action.frames[1] - action.frames[0])), true);\n }\n if (action.type === \"loop\") {\n animationItem.playSegments(action.frames, true);\n }\n if (action.type === \"play\") {\n // Play: Reset segments and continue playing full animation from current position\n if (animationItem.isPaused) {\n animationItem.resetSegments(false);\n }\n animationItem.playSegments(action.frames);\n }\n if (action.type === \"stop\") {\n animationItem.goToAndStop(action.frames[0], true);\n }\n };\n const mouseMoveHandler = (ev) => {\n handleCursor(ev.clientX, ev.clientY);\n };\n const mouseOutHandler = () => {\n handleCursor(-1, -1);\n };\n wrapper.addEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.addEventListener(\"mouseout\", mouseOutHandler);\n return () => {\n wrapper.removeEventListener(\"mousemove\", mouseMoveHandler);\n wrapper.removeEventListener(\"mouseout\", mouseOutHandler);\n };\n };\n switch (mode) {\n case \"scroll\":\n return scrollModeHandler();\n case \"cursor\":\n return cursorModeHandler();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mode, animationItem]);\n};\nconst useLottieInteractivity = ({ actions, mode, lottieObj, }) => {\n const { animationItem, View, animationContainerRef } = lottieObj;\n useInitInteractivity({\n actions,\n animationItem,\n mode,\n wrapperRef: animationContainerRef,\n });\n return View;\n};\nexport default useLottieInteractivity;\n","import { useEffect } from \"react\";\nimport useLottie from \"../hooks/useLottie\";\nimport useLottieInteractivity from \"../hooks/useLottieInteractivity\";\nconst Lottie = (props) => {\n var _a, _b, _c;\n const { style, interactivity, ...lottieProps } = props;\n /**\n * Initialize the 'useLottie' hook\n */\n const { View, play, stop, pause, setSpeed, goToAndStop, goToAndPlay, setDirection, playSegments, setSubframe, getDuration, destroy, animationContainerRef, animationLoaded, animationItem, } = useLottie(lottieProps, style);\n /**\n * Make the hook variables/methods available through the provided 'lottieRef'\n */\n useEffect(() => {\n if (props.lottieRef) {\n props.lottieRef.current = {\n play,\n stop,\n pause,\n setSpeed,\n goToAndPlay,\n goToAndStop,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef,\n animationLoaded,\n animationItem,\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [(_a = props.lottieRef) === null || _a === void 0 ? void 0 : _a.current]);\n return useLottieInteractivity({\n lottieObj: {\n View,\n play,\n stop,\n pause,\n setSpeed,\n goToAndStop,\n goToAndPlay,\n setDirection,\n playSegments,\n setSubframe,\n getDuration,\n destroy,\n animationContainerRef,\n animationLoaded,\n animationItem,\n },\n actions: (_b = interactivity === null || interactivity === void 0 ? void 0 : interactivity.actions) !== null && _b !== void 0 ? _b : [],\n mode: (_c = interactivity === null || interactivity === void 0 ? void 0 : interactivity.mode) !== null && _c !== void 0 ? _c : \"scroll\",\n });\n};\nexport default Lottie;\n","(typeof navigator !== \"undefined\") && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lottie = factory());\n})(this, (function () { 'use strict';\n\n var svgNS = 'http://www.w3.org/2000/svg';\n var locationHref = '';\n var _useWebWorker = false;\n var initialDefaultFrame = -999999;\n\n var setWebWorker = function setWebWorker(flag) {\n _useWebWorker = !!flag;\n };\n\n var getWebWorker = function getWebWorker() {\n return _useWebWorker;\n };\n\n var setLocationHref = function setLocationHref(value) {\n locationHref = value;\n };\n\n var getLocationHref = function getLocationHref() {\n return locationHref;\n };\n\n function createTag(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElement(type);\n }\n\n function extendPrototype(sources, destination) {\n var i;\n var len = sources.length;\n var sourcePrototype;\n\n for (i = 0; i < len; i += 1) {\n sourcePrototype = sources[i].prototype;\n\n for (var attr in sourcePrototype) {\n if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n }\n }\n }\n\n function getDescriptor(object, prop) {\n return Object.getOwnPropertyDescriptor(object, prop);\n }\n\n function createProxyFunction(prototype) {\n function ProxyFunction() {}\n\n ProxyFunction.prototype = prototype;\n return ProxyFunction;\n }\n\n // import Howl from '../../3rd_party/howler';\n var audioControllerFactory = function () {\n function AudioController(audioFactory) {\n this.audios = [];\n this.audioFactory = audioFactory;\n this._volume = 1;\n this._isMuted = false;\n }\n\n AudioController.prototype = {\n addAudio: function addAudio(audio) {\n this.audios.push(audio);\n },\n pause: function pause() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].pause();\n }\n },\n resume: function resume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].resume();\n }\n },\n setRate: function setRate(rateValue) {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].setRate(rateValue);\n }\n },\n createAudio: function createAudio(assetPath) {\n if (this.audioFactory) {\n return this.audioFactory(assetPath);\n }\n\n if (window.Howl) {\n return new window.Howl({\n src: [assetPath]\n });\n }\n\n return {\n isPlaying: false,\n play: function play() {\n this.isPlaying = true;\n },\n seek: function seek() {\n this.isPlaying = false;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(audioFactory) {\n this.audioFactory = audioFactory;\n },\n setVolume: function setVolume(value) {\n this._volume = value;\n\n this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = true;\n\n this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = false;\n\n this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var i;\n var len = this.audios.length;\n\n for (i = 0; i < len; i += 1) {\n this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n };\n return function () {\n return new AudioController();\n };\n }();\n\n var createTypedArray = function () {\n function createRegularArray(type, len) {\n var i = 0;\n var arr = [];\n var value;\n\n switch (type) {\n case 'int16':\n case 'uint8c':\n value = 1;\n break;\n\n default:\n value = 1.1;\n break;\n }\n\n for (i = 0; i < len; i += 1) {\n arr.push(value);\n }\n\n return arr;\n }\n\n function createTypedArrayFactory(type, len) {\n if (type === 'float32') {\n return new Float32Array(len);\n }\n\n if (type === 'int16') {\n return new Int16Array(len);\n }\n\n if (type === 'uint8c') {\n return new Uint8ClampedArray(len);\n }\n\n return createRegularArray(type, len);\n }\n\n if (typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {\n return createTypedArrayFactory;\n }\n\n return createRegularArray;\n }();\n\n function createSizedArray(len) {\n return Array.apply(null, {\n length: len\n });\n }\n\n function _typeof$6(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$6 = function _typeof(obj) { return typeof obj; }; } else { _typeof$6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$6(obj); }\n var subframeEnabled = true;\n var expressionsPlugin = null;\n var expressionsInterfaces = null;\n var idPrefix$1 = '';\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n var _shouldRoundValues = false;\n var bmPow = Math.pow;\n var bmSqrt = Math.sqrt;\n var bmFloor = Math.floor;\n var bmMax = Math.max;\n var bmMin = Math.min;\n var BMMath = {};\n\n (function () {\n var propertyNames = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2'];\n var i;\n var len = propertyNames.length;\n\n for (i = 0; i < len; i += 1) {\n BMMath[propertyNames[i]] = Math[propertyNames[i]];\n }\n })();\n\n function ProjectInterface$1() {\n return {};\n }\n\n BMMath.random = Math.random;\n\n BMMath.abs = function (val) {\n var tOfVal = _typeof$6(val);\n\n if (tOfVal === 'object' && val.length) {\n var absArr = createSizedArray(val.length);\n var i;\n var len = val.length;\n\n for (i = 0; i < len; i += 1) {\n absArr[i] = Math.abs(val[i]);\n }\n\n return absArr;\n }\n\n return Math.abs(val);\n };\n\n var defaultCurveSegments = 150;\n var degToRads = Math.PI / 180;\n var roundCorner = 0.5519;\n\n function roundValues(flag) {\n _shouldRoundValues = !!flag;\n }\n\n function bmRnd(value) {\n if (_shouldRoundValues) {\n return Math.round(value);\n }\n\n return value;\n }\n\n function styleDiv(element) {\n element.style.position = 'absolute';\n element.style.top = 0;\n element.style.left = 0;\n element.style.display = 'block';\n element.style.transformOrigin = '0 0';\n element.style.webkitTransformOrigin = '0 0';\n element.style.backfaceVisibility = 'visible';\n element.style.webkitBackfaceVisibility = 'visible';\n element.style.transformStyle = 'preserve-3d';\n element.style.webkitTransformStyle = 'preserve-3d';\n element.style.mozTransformStyle = 'preserve-3d';\n }\n\n function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n this.type = type;\n this.currentTime = currentTime;\n this.totalTime = totalTime;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(type, frameMultiplier) {\n this.type = type;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n this.type = type;\n this.currentLoop = currentLoop;\n this.totalLoops = totalLoops;\n this.direction = frameMultiplier < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n this.type = type;\n this.firstFrame = firstFrame;\n this.totalFrames = totalFrames;\n }\n\n function BMDestroyEvent(type, target) {\n this.type = type;\n this.target = target;\n }\n\n function BMRenderFrameErrorEvent(nativeError, currentTime) {\n this.type = 'renderFrameError';\n this.nativeError = nativeError;\n this.currentTime = currentTime;\n }\n\n function BMConfigErrorEvent(nativeError) {\n this.type = 'configError';\n this.nativeError = nativeError;\n }\n\n function BMAnimationConfigErrorEvent(type, nativeError) {\n this.type = type;\n this.nativeError = nativeError;\n }\n\n var createElementID = function () {\n var _count = 0;\n return function createID() {\n _count += 1;\n return idPrefix$1 + '__lottie_element_' + _count;\n };\n }();\n\n function HSVtoRGB(h, s, v) {\n var r;\n var g;\n var b;\n var i;\n var f;\n var p;\n var q;\n var t;\n i = Math.floor(h * 6);\n f = h * 6 - i;\n p = v * (1 - s);\n q = v * (1 - f * s);\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n\n default:\n break;\n }\n\n return [r, g, b];\n }\n\n function RGBtoHSV(r, g, b) {\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var d = max - min;\n var h;\n var s = max === 0 ? 0 : d / max;\n var v = max / 255;\n\n switch (max) {\n case min:\n h = 0;\n break;\n\n case r:\n h = g - b + d * (g < b ? 6 : 0);\n h /= 6 * d;\n break;\n\n case g:\n h = b - r + d * 2;\n h /= 6 * d;\n break;\n\n case b:\n h = r - g + d * 4;\n h /= 6 * d;\n break;\n\n default:\n break;\n }\n\n return [h, s, v];\n }\n\n function addSaturationToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[1] += offset;\n\n if (hsv[1] > 1) {\n hsv[1] = 1;\n } else if (hsv[1] <= 0) {\n hsv[1] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addBrightnessToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[2] += offset;\n\n if (hsv[2] > 1) {\n hsv[2] = 1;\n } else if (hsv[2] < 0) {\n hsv[2] = 0;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n function addHueToRGB(color, offset) {\n var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n hsv[0] += offset / 360;\n\n if (hsv[0] > 1) {\n hsv[0] -= 1;\n } else if (hsv[0] < 0) {\n hsv[0] += 1;\n }\n\n return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n }\n\n var rgbToHex = function () {\n var colorMap = [];\n var i;\n var hex;\n\n for (i = 0; i < 256; i += 1) {\n hex = i.toString(16);\n colorMap[i] = hex.length === 1 ? '0' + hex : hex;\n }\n\n return function (r, g, b) {\n if (r < 0) {\n r = 0;\n }\n\n if (g < 0) {\n g = 0;\n }\n\n if (b < 0) {\n b = 0;\n }\n\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\n };\n }();\n\n var setSubframeEnabled = function setSubframeEnabled(flag) {\n subframeEnabled = !!flag;\n };\n\n var getSubframeEnabled = function getSubframeEnabled() {\n return subframeEnabled;\n };\n\n var setExpressionsPlugin = function setExpressionsPlugin(value) {\n expressionsPlugin = value;\n };\n\n var getExpressionsPlugin = function getExpressionsPlugin() {\n return expressionsPlugin;\n };\n\n var setExpressionInterfaces = function setExpressionInterfaces(value) {\n expressionsInterfaces = value;\n };\n\n var getExpressionInterfaces = function getExpressionInterfaces() {\n return expressionsInterfaces;\n };\n\n var setDefaultCurveSegments = function setDefaultCurveSegments(value) {\n defaultCurveSegments = value;\n };\n\n var getDefaultCurveSegments = function getDefaultCurveSegments() {\n return defaultCurveSegments;\n };\n\n var setIdPrefix = function setIdPrefix(value) {\n idPrefix$1 = value;\n };\n\n var getIdPrefix = function getIdPrefix() {\n return idPrefix$1;\n };\n\n function createNS(type) {\n // return {appendChild:function(){},setAttribute:function(){},style:{}}\n return document.createElementNS(svgNS, type);\n }\n\n function _typeof$5(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$5 = function _typeof(obj) { return typeof obj; }; } else { _typeof$5 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$5(obj); }\n\n var dataManager = function () {\n var _counterId = 1;\n var processes = [];\n var workerFn;\n var workerInstance;\n var workerProxy = {\n onmessage: function onmessage() {},\n postMessage: function postMessage(path) {\n workerFn({\n data: path\n });\n }\n };\n var _workerSelf = {\n postMessage: function postMessage(data) {\n workerProxy.onmessage({\n data: data\n });\n }\n };\n\n function createWorker(fn) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var blob = new Blob(['var _workerSelf = self; self.onmessage = ', fn.toString()], {\n type: 'text/javascript'\n }); // var blob = new Blob(['self.onmessage = ', fn.toString()], { type: 'text/javascript' });\n\n var url = URL.createObjectURL(blob);\n return new Worker(url);\n }\n\n workerFn = fn;\n return workerProxy;\n }\n\n function setupWorker() {\n if (!workerInstance) {\n workerInstance = createWorker(function workerStart(e) {\n function dataFunctionManager() {\n function completeLayers(layers, comps) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if ('ks' in layerData && !layerData.completed) {\n layerData.completed = true;\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k);\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n }\n\n if (maskProps[j].pt.k[k].e) {\n convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n }\n }\n }\n }\n }\n\n if (layerData.ty === 0) {\n layerData.layers = findCompLayers(layerData.refId, comps);\n completeLayers(layerData.layers, comps);\n } else if (layerData.ty === 4) {\n completeShapes(layerData.shapes);\n } else if (layerData.ty === 5) {\n completeText(layerData);\n }\n }\n }\n }\n\n function completeChars(chars, assets) {\n if (chars) {\n var i = 0;\n var len = chars.length;\n\n for (i = 0; i < len; i += 1) {\n if (chars[i].t === 1) {\n // var compData = findComp(chars[i].data.refId, assets);\n chars[i].data.layers = findCompLayers(chars[i].data.refId, assets); // chars[i].data.ip = 0;\n // chars[i].data.op = 99999;\n // chars[i].data.st = 0;\n // chars[i].data.sr = 1;\n // chars[i].w = compData.w;\n // chars[i].data.ks = {\n // a: { k: [0, 0, 0], a: 0 },\n // p: { k: [0, -compData.h, 0], a: 0 },\n // r: { k: 0, a: 0 },\n // s: { k: [100, 100], a: 0 },\n // o: { k: 100, a: 0 },\n // };\n\n completeLayers(chars[i].data.layers, assets);\n }\n }\n }\n }\n\n function findComp(id, comps) {\n var i = 0;\n var len = comps.length;\n\n while (i < len) {\n if (comps[i].id === id) {\n return comps[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function findCompLayers(id, comps) {\n var comp = findComp(id, comps);\n\n if (comp) {\n if (!comp.layers.__used) {\n comp.layers.__used = true;\n return comp.layers;\n }\n\n return JSON.parse(JSON.stringify(comp.layers));\n }\n\n return null;\n }\n\n function completeShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n convertPathsToAbsoluteValues(arr[i].ks.k);\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n }\n\n if (arr[i].ks.k[j].e) {\n convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeShapes(arr[i].it);\n }\n }\n }\n\n function convertPathsToAbsoluteValues(path) {\n var i;\n var len = path.i.length;\n\n for (i = 0; i < len; i += 1) {\n path.i[i][0] += path.v[i][0];\n path.i[i][1] += path.v[i][1];\n path.o[i][0] += path.v[i][0];\n path.o[i][1] += path.v[i][1];\n }\n }\n\n function checkVersion(minimum, animVersionString) {\n var animVersion = animVersionString ? animVersionString.split('.') : [100, 100, 100];\n\n if (minimum[0] > animVersion[0]) {\n return true;\n }\n\n if (animVersion[0] > minimum[0]) {\n return false;\n }\n\n if (minimum[1] > animVersion[1]) {\n return true;\n }\n\n if (animVersion[1] > minimum[1]) {\n return false;\n }\n\n if (minimum[2] > animVersion[2]) {\n return true;\n }\n\n if (animVersion[2] > minimum[2]) {\n return false;\n }\n\n return null;\n }\n\n var checkText = function () {\n var minimumVersion = [4, 4, 14];\n\n function updateTextLayer(textLayer) {\n var documentData = textLayer.t.d;\n textLayer.t.d = {\n k: [{\n s: documentData,\n t: 0\n }]\n };\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkChars = function () {\n var minimumVersion = [4, 7, 99];\n return function (animationData) {\n if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n var i;\n var len = animationData.chars.length;\n\n for (i = 0; i < len; i += 1) {\n var charData = animationData.chars[i];\n\n if (charData.data && charData.data.shapes) {\n completeShapes(charData.data.shapes);\n charData.data.ip = 0;\n charData.data.op = 99999;\n charData.data.st = 0;\n charData.data.sr = 1;\n charData.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n };\n\n if (!animationData.chars[i].t) {\n charData.data.shapes.push({\n ty: 'no'\n });\n charData.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: 'tr'\n });\n }\n }\n }\n }\n };\n }();\n\n var checkPathProperties = function () {\n var minimumVersion = [5, 7, 15];\n\n function updateTextLayer(textLayer) {\n var pathData = textLayer.t.p;\n\n if (typeof pathData.a === 'number') {\n pathData.a = {\n a: 0,\n k: pathData.a\n };\n }\n\n if (typeof pathData.p === 'number') {\n pathData.p = {\n a: 0,\n k: pathData.p\n };\n }\n\n if (typeof pathData.r === 'number') {\n pathData.r = {\n a: 0,\n k: pathData.r\n };\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 5) {\n updateTextLayer(layers[i]);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkColors = function () {\n var minimumVersion = [4, 1, 9];\n\n function iterateShapes(shapes) {\n var i;\n var len = shapes.length;\n var j;\n var jLen;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n iterateShapes(shapes[i].it);\n } else if (shapes[i].ty === 'fl' || shapes[i].ty === 'st') {\n if (shapes[i].c.k && shapes[i].c.k[0].i) {\n jLen = shapes[i].c.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[i].c.k[j].s) {\n shapes[i].c.k[j].s[0] /= 255;\n shapes[i].c.k[j].s[1] /= 255;\n shapes[i].c.k[j].s[2] /= 255;\n shapes[i].c.k[j].s[3] /= 255;\n }\n\n if (shapes[i].c.k[j].e) {\n shapes[i].c.k[j].e[0] /= 255;\n shapes[i].c.k[j].e[1] /= 255;\n shapes[i].c.k[j].e[2] /= 255;\n shapes[i].c.k[j].e[3] /= 255;\n }\n }\n } else {\n shapes[i].c.k[0] /= 255;\n shapes[i].c.k[1] /= 255;\n shapes[i].c.k[2] /= 255;\n shapes[i].c.k[3] /= 255;\n }\n }\n }\n }\n\n function iterateLayers(layers) {\n var i;\n var len = layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (layers[i].ty === 4) {\n iterateShapes(layers[i].shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n var checkShapes = function () {\n var minimumVersion = [4, 4, 18];\n\n function completeClosingShapes(arr) {\n var i;\n var len = arr.length;\n var j;\n var jLen;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (arr[i].ty === 'sh') {\n if (arr[i].ks.k.i) {\n arr[i].ks.k.c = arr[i].closed;\n } else {\n jLen = arr[i].ks.k.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (arr[i].ks.k[j].s) {\n arr[i].ks.k[j].s[0].c = arr[i].closed;\n }\n\n if (arr[i].ks.k[j].e) {\n arr[i].ks.k[j].e[0].c = arr[i].closed;\n }\n }\n }\n } else if (arr[i].ty === 'gr') {\n completeClosingShapes(arr[i].it);\n }\n }\n }\n\n function iterateLayers(layers) {\n var layerData;\n var i;\n var len = layers.length;\n var j;\n var jLen;\n var k;\n var kLen;\n\n for (i = 0; i < len; i += 1) {\n layerData = layers[i];\n\n if (layerData.hasMask) {\n var maskProps = layerData.masksProperties;\n jLen = maskProps.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (maskProps[j].pt.k.i) {\n maskProps[j].pt.k.c = maskProps[j].cl;\n } else {\n kLen = maskProps[j].pt.k.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (maskProps[j].pt.k[k].s) {\n maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n }\n\n if (maskProps[j].pt.k[k].e) {\n maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n }\n }\n }\n }\n }\n\n if (layerData.ty === 4) {\n completeClosingShapes(layerData.shapes);\n }\n }\n }\n\n return function (animationData) {\n if (checkVersion(minimumVersion, animationData.v)) {\n iterateLayers(animationData.layers);\n\n if (animationData.assets) {\n var i;\n var len = animationData.assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (animationData.assets[i].layers) {\n iterateLayers(animationData.assets[i].layers);\n }\n }\n }\n }\n };\n }();\n\n function completeData(animationData) {\n if (animationData.__complete) {\n return;\n }\n\n checkColors(animationData);\n checkText(animationData);\n checkChars(animationData);\n checkPathProperties(animationData);\n checkShapes(animationData);\n completeLayers(animationData.layers, animationData.assets);\n completeChars(animationData.chars, animationData.assets);\n animationData.__complete = true;\n }\n\n function completeText(data) {\n if (data.t.a.length === 0 && !('m' in data.t.p)) {// data.singleShape = true;\n }\n }\n\n var moduleOb = {};\n moduleOb.completeData = completeData;\n moduleOb.checkColors = checkColors;\n moduleOb.checkChars = checkChars;\n moduleOb.checkPathProperties = checkPathProperties;\n moduleOb.checkShapes = checkShapes;\n moduleOb.completeLayers = completeLayers;\n return moduleOb;\n }\n\n if (!_workerSelf.dataManager) {\n _workerSelf.dataManager = dataFunctionManager();\n }\n\n if (!_workerSelf.assetLoader) {\n _workerSelf.assetLoader = function () {\n function formatResponse(xhr) {\n // using typeof doubles the time of execution of this method,\n // so if available, it's better to use the header to validate the type\n var contentTypeHeader = xhr.getResponseHeader('content-type');\n\n if (contentTypeHeader && xhr.responseType === 'json' && contentTypeHeader.indexOf('json') !== -1) {\n return xhr.response;\n }\n\n if (xhr.response && _typeof$5(xhr.response) === 'object') {\n return xhr.response;\n }\n\n if (xhr.response && typeof xhr.response === 'string') {\n return JSON.parse(xhr.response);\n }\n\n if (xhr.responseText) {\n return JSON.parse(xhr.responseText);\n }\n\n return null;\n }\n\n function loadAsset(path, fullPath, callback, errorCallback) {\n var response;\n var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n try {\n // This crashes on Android WebView prior to KitKat\n xhr.responseType = 'json';\n } catch (err) {} // eslint-disable-line no-empty\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status === 200) {\n response = formatResponse(xhr);\n callback(response);\n } else {\n try {\n response = formatResponse(xhr);\n callback(response);\n } catch (err) {\n if (errorCallback) {\n errorCallback(err);\n }\n }\n }\n }\n };\n\n try {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), path, true);\n } catch (error) {\n // Hack to workaround banner validation\n xhr.open(['G', 'E', 'T'].join(''), fullPath + '/' + path, true);\n }\n\n xhr.send();\n }\n\n return {\n load: loadAsset\n };\n }();\n }\n\n if (e.data.type === 'loadAnimation') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.dataManager.completeData(data);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n } else if (e.data.type === 'complete') {\n var animation = e.data.animation;\n\n _workerSelf.dataManager.completeData(animation);\n\n _workerSelf.postMessage({\n id: e.data.id,\n payload: animation,\n status: 'success'\n });\n } else if (e.data.type === 'loadData') {\n _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function (data) {\n _workerSelf.postMessage({\n id: e.data.id,\n payload: data,\n status: 'success'\n });\n }, function () {\n _workerSelf.postMessage({\n id: e.data.id,\n status: 'error'\n });\n });\n }\n });\n\n workerInstance.onmessage = function (event) {\n var data = event.data;\n var id = data.id;\n var process = processes[id];\n processes[id] = null;\n\n if (data.status === 'success') {\n process.onComplete(data.payload);\n } else if (process.onError) {\n process.onError();\n }\n };\n }\n }\n\n function createProcess(onComplete, onError) {\n _counterId += 1;\n var id = 'processId_' + _counterId;\n processes[id] = {\n onComplete: onComplete,\n onError: onError\n };\n return id;\n }\n\n function loadAnimation(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadAnimation',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function loadData(path, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'loadData',\n path: path,\n fullPath: window.location.origin + window.location.pathname,\n id: processId\n });\n }\n\n function completeAnimation(anim, onComplete, onError) {\n setupWorker();\n var processId = createProcess(onComplete, onError);\n workerInstance.postMessage({\n type: 'complete',\n animation: anim,\n id: processId\n });\n }\n\n return {\n loadAnimation: loadAnimation,\n loadData: loadData,\n completeAnimation: completeAnimation\n };\n }();\n\n var ImagePreloader = function () {\n var proxyImage = function () {\n var canvas = createTag('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(0,0,0,0)';\n ctx.fillRect(0, 0, 1, 1);\n return canvas;\n }();\n\n function imageLoaded() {\n this.loadedAssets += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function footageLoaded() {\n this.loadedFootagesCount += 1;\n\n if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {\n if (this.imagesLoadedCb) {\n this.imagesLoadedCb(null);\n }\n }\n }\n\n function getAssetsPath(assetData, assetsPath, originalPath) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = assetsPath + imagePath;\n } else {\n path = originalPath;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n }\n\n function testImageLoaded(img) {\n var _count = 0;\n var intervalId = setInterval(function () {\n var box = img.getBBox();\n\n if (box.width || _count > 500) {\n this._imageLoaded();\n\n clearInterval(intervalId);\n }\n\n _count += 1;\n }.bind(this), 50);\n }\n\n function createImageData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createNS('image');\n\n if (isSafari) {\n this.testImageLoaded(img);\n } else {\n img.addEventListener('load', this._imageLoaded, false);\n }\n\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n\n if (this._elementHelper.append) {\n this._elementHelper.append(img);\n } else {\n this._elementHelper.appendChild(img);\n }\n\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createImgData(assetData) {\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\n var img = createTag('img');\n img.crossOrigin = 'anonymous';\n img.addEventListener('load', this._imageLoaded, false);\n img.addEventListener('error', function () {\n ob.img = proxyImage;\n\n this._imageLoaded();\n }.bind(this), false);\n img.src = path;\n var ob = {\n img: img,\n assetData: assetData\n };\n return ob;\n }\n\n function createFootageData(data) {\n var ob = {\n assetData: data\n };\n var path = getAssetsPath(data, this.assetsPath, this.path);\n dataManager.loadData(path, function (footageData) {\n ob.img = footageData;\n\n this._footageLoaded();\n }.bind(this), function () {\n ob.img = {};\n\n this._footageLoaded();\n }.bind(this));\n return ob;\n }\n\n function loadAssets(assets, cb) {\n this.imagesLoadedCb = cb;\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (!assets[i].layers) {\n if (!assets[i].t || assets[i].t === 'seq') {\n this.totalImages += 1;\n this.images.push(this._createImageData(assets[i]));\n } else if (assets[i].t === 3) {\n this.totalFootages += 1;\n this.images.push(this.createFootageData(assets[i]));\n }\n }\n }\n }\n\n function setPath(path) {\n this.path = path || '';\n }\n\n function setAssetsPath(path) {\n this.assetsPath = path || '';\n }\n\n function getAsset(assetData) {\n var i = 0;\n var len = this.images.length;\n\n while (i < len) {\n if (this.images[i].assetData === assetData) {\n return this.images[i].img;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function destroy() {\n this.imagesLoadedCb = null;\n this.images.length = 0;\n }\n\n function loadedImages() {\n return this.totalImages === this.loadedAssets;\n }\n\n function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n\n function setCacheType(type, elementHelper) {\n if (type === 'svg') {\n this._elementHelper = elementHelper;\n this._createImageData = this.createImageData.bind(this);\n } else {\n this._createImageData = this.createImgData.bind(this);\n }\n }\n\n function ImagePreloaderFactory() {\n this._imageLoaded = imageLoaded.bind(this);\n this._footageLoaded = footageLoaded.bind(this);\n this.testImageLoaded = testImageLoaded.bind(this);\n this.createFootageData = createFootageData.bind(this);\n this.assetsPath = '';\n this.path = '';\n this.totalImages = 0;\n this.totalFootages = 0;\n this.loadedAssets = 0;\n this.loadedFootagesCount = 0;\n this.imagesLoadedCb = null;\n this.images = [];\n }\n\n ImagePreloaderFactory.prototype = {\n loadAssets: loadAssets,\n setAssetsPath: setAssetsPath,\n setPath: setPath,\n loadedImages: loadedImages,\n loadedFootages: loadedFootages,\n destroy: destroy,\n getAsset: getAsset,\n createImgData: createImgData,\n createImageData: createImageData,\n imageLoaded: imageLoaded,\n footageLoaded: footageLoaded,\n setCacheType: setCacheType\n };\n return ImagePreloaderFactory;\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(eventName, args) {\n if (this._cbs[eventName]) {\n var callbacks = this._cbs[eventName];\n\n for (var i = 0; i < callbacks.length; i += 1) {\n callbacks[i](args);\n }\n }\n },\n addEventListener: function addEventListener(eventName, callback) {\n if (!this._cbs[eventName]) {\n this._cbs[eventName] = [];\n }\n\n this._cbs[eventName].push(callback);\n\n return function () {\n this.removeEventListener(eventName, callback);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(eventName, callback) {\n if (!callback) {\n this._cbs[eventName] = null;\n } else if (this._cbs[eventName]) {\n var i = 0;\n var len = this._cbs[eventName].length;\n\n while (i < len) {\n if (this._cbs[eventName][i] === callback) {\n this._cbs[eventName].splice(i, 1);\n\n i -= 1;\n len -= 1;\n }\n\n i += 1;\n }\n\n if (!this._cbs[eventName].length) {\n this._cbs[eventName] = null;\n }\n }\n }\n };\n\n var markerParser = function () {\n function parsePayloadLines(payload) {\n var lines = payload.split('\\r\\n');\n var keys = {};\n var line;\n var keysCount = 0;\n\n for (var i = 0; i < lines.length; i += 1) {\n line = lines[i].split(':');\n\n if (line.length === 2) {\n keys[line[0]] = line[1].trim();\n keysCount += 1;\n }\n }\n\n if (keysCount === 0) {\n throw new Error();\n }\n\n return keys;\n }\n\n return function (_markers) {\n var markers = [];\n\n for (var i = 0; i < _markers.length; i += 1) {\n var _marker = _markers[i];\n var markerData = {\n time: _marker.tm,\n duration: _marker.dr\n };\n\n try {\n markerData.payload = JSON.parse(_markers[i].cm);\n } catch (_) {\n try {\n markerData.payload = parsePayloadLines(_markers[i].cm);\n } catch (__) {\n markerData.payload = {\n name: _markers[i].cm\n };\n }\n }\n\n markers.push(markerData);\n }\n\n return markers;\n };\n }();\n\n var ProjectInterface = function () {\n function registerComposition(comp) {\n this.compositions.push(comp);\n }\n\n return function () {\n function _thisProjectFunction(name) {\n var i = 0;\n var len = this.compositions.length;\n\n while (i < len) {\n if (this.compositions[i].data && this.compositions[i].data.nm === name) {\n if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {\n this.compositions[i].prepareFrame(this.currentFrame);\n }\n\n return this.compositions[i].compInterface;\n }\n\n i += 1;\n }\n\n return null;\n }\n\n _thisProjectFunction.compositions = [];\n _thisProjectFunction.currentFrame = 0;\n _thisProjectFunction.registerComposition = registerComposition;\n return _thisProjectFunction;\n };\n }();\n\n var renderers = {};\n\n var registerRenderer = function registerRenderer(key, value) {\n renderers[key] = value;\n };\n\n function getRenderer(key) {\n return renderers[key];\n }\n\n function getRegisteredRenderer() {\n // Returns canvas by default for compatibility\n if (renderers.canvas) {\n return 'canvas';\n } // Returns any renderer that is registered\n\n\n for (var key in renderers) {\n if (renderers[key]) {\n return key;\n }\n }\n\n return '';\n }\n\n function _typeof$4(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$4 = function _typeof(obj) { return typeof obj; }; } else { _typeof$4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$4(obj); }\n\n var AnimationItem = function AnimationItem() {\n this._cbs = [];\n this.name = '';\n this.path = '';\n this.isLoaded = false;\n this.currentFrame = 0;\n this.currentRawFrame = 0;\n this.firstFrame = 0;\n this.totalFrames = 0;\n this.frameRate = 0;\n this.frameMult = 0;\n this.playSpeed = 1;\n this.playDirection = 1;\n this.playCount = 0;\n this.animationData = {};\n this.assets = [];\n this.isPaused = true;\n this.autoplay = false;\n this.loop = true;\n this.renderer = null;\n this.animationID = createElementID();\n this.assetsPath = '';\n this.timeCompleted = 0;\n this.segmentPos = 0;\n this.isSubframeEnabled = getSubframeEnabled();\n this.segments = [];\n this._idle = true;\n this._completedLoop = false;\n this.projectInterface = ProjectInterface();\n this.imagePreloader = new ImagePreloader();\n this.audioController = audioControllerFactory();\n this.markers = [];\n this.configAnimation = this.configAnimation.bind(this);\n this.onSetupError = this.onSetupError.bind(this);\n this.onSegmentComplete = this.onSegmentComplete.bind(this);\n this.drawnFrameEvent = new BMEnterFrameEvent('drawnFrame', 0, 0, 0);\n this.expressionsPlugin = getExpressionsPlugin();\n };\n\n extendPrototype([BaseEvent], AnimationItem);\n\n AnimationItem.prototype.setParams = function (params) {\n if (params.wrapper || params.container) {\n this.wrapper = params.wrapper || params.container;\n }\n\n var animType = 'svg';\n\n if (params.animType) {\n animType = params.animType;\n } else if (params.renderer) {\n animType = params.renderer;\n }\n\n var RendererClass = getRenderer(animType);\n this.renderer = new RendererClass(this, params.rendererSettings);\n this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);\n this.renderer.setProjectInterface(this.projectInterface);\n this.animType = animType;\n\n if (params.loop === '' || params.loop === null || params.loop === undefined || params.loop === true) {\n this.loop = true;\n } else if (params.loop === false) {\n this.loop = false;\n } else {\n this.loop = parseInt(params.loop, 10);\n }\n\n this.autoplay = 'autoplay' in params ? params.autoplay : true;\n this.name = params.name ? params.name : '';\n this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, 'autoloadSegments') ? params.autoloadSegments : true;\n this.assetsPath = params.assetsPath;\n this.initialSegment = params.initialSegment;\n\n if (params.audioFactory) {\n this.audioController.setAudioFactory(params.audioFactory);\n }\n\n if (params.animationData) {\n this.setupAnimation(params.animationData);\n } else if (params.path) {\n if (params.path.lastIndexOf('\\\\') !== -1) {\n this.path = params.path.substr(0, params.path.lastIndexOf('\\\\') + 1);\n } else {\n this.path = params.path.substr(0, params.path.lastIndexOf('/') + 1);\n }\n\n this.fileName = params.path.substr(params.path.lastIndexOf('/') + 1);\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf('.json'));\n dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);\n }\n };\n\n AnimationItem.prototype.onSetupError = function () {\n this.trigger('data_failed');\n };\n\n AnimationItem.prototype.setupAnimation = function (data) {\n dataManager.completeAnimation(data, this.configAnimation);\n };\n\n AnimationItem.prototype.setData = function (wrapper, animationData) {\n if (animationData) {\n if (_typeof$4(animationData) !== 'object') {\n animationData = JSON.parse(animationData);\n }\n }\n\n var params = {\n wrapper: wrapper,\n animationData: animationData\n };\n var wrapperAttributes = wrapper.attributes;\n params.path = wrapperAttributes.getNamedItem('data-animation-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-path').value : wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';\n params.animType = wrapperAttributes.getNamedItem('data-anim-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('bm-type').value : wrapperAttributes.getNamedItem('data-bm-renderer') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : getRegisteredRenderer() || 'canvas';\n var loop = wrapperAttributes.getNamedItem('data-anim-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-loop').value : wrapperAttributes.getNamedItem('data-bm-loop') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-loop').value : wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';\n\n if (loop === 'false') {\n params.loop = false;\n } else if (loop === 'true') {\n params.loop = true;\n } else if (loop !== '') {\n params.loop = parseInt(loop, 10);\n }\n\n var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-autoplay').value : wrapperAttributes.getNamedItem('data-bm-autoplay') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-autoplay').value : wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;\n params.autoplay = autoplay !== 'false';\n params.name = wrapperAttributes.getNamedItem('data-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-name').value : wrapperAttributes.getNamedItem('data-bm-name') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value : '';\n var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-anim-prerender').value : wrapperAttributes.getNamedItem('data-bm-prerender') // eslint-disable-line no-nested-ternary\n ? wrapperAttributes.getNamedItem('data-bm-prerender').value : wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';\n\n if (prerender === 'false') {\n params.prerender = false;\n }\n\n if (!params.path) {\n this.trigger('destroy');\n } else {\n this.setParams(params);\n }\n };\n\n AnimationItem.prototype.includeLayers = function (data) {\n if (data.op > this.animationData.op) {\n this.animationData.op = data.op;\n this.totalFrames = Math.floor(data.op - this.animationData.ip);\n }\n\n var layers = this.animationData.layers;\n var i;\n var len = layers.length;\n var newLayers = data.layers;\n var j;\n var jLen = newLayers.length;\n\n for (j = 0; j < jLen; j += 1) {\n i = 0;\n\n while (i < len) {\n if (layers[i].id === newLayers[j].id) {\n layers[i] = newLayers[j];\n break;\n }\n\n i += 1;\n }\n }\n\n if (data.chars || data.fonts) {\n this.renderer.globalData.fontManager.addChars(data.chars);\n this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);\n }\n\n if (data.assets) {\n len = data.assets.length;\n\n for (i = 0; i < len; i += 1) {\n this.animationData.assets.push(data.assets[i]);\n }\n }\n\n this.animationData.__complete = false;\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n };\n\n AnimationItem.prototype.onSegmentComplete = function (data) {\n this.animationData = data;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.loadNextSegment = function () {\n var segments = this.animationData.segments;\n\n if (!segments || segments.length === 0 || !this.autoloadSegments) {\n this.trigger('data_ready');\n this.timeCompleted = this.totalFrames;\n return;\n }\n\n var segment = segments.shift();\n this.timeCompleted = segment.time * this.frameRate;\n var segmentPath = this.path + this.fileName + '_' + this.segmentPos + '.json';\n this.segmentPos += 1;\n dataManager.loadData(segmentPath, this.includeLayers.bind(this), function () {\n this.trigger('data_failed');\n }.bind(this));\n };\n\n AnimationItem.prototype.loadSegments = function () {\n var segments = this.animationData.segments;\n\n if (!segments) {\n this.timeCompleted = this.totalFrames;\n }\n\n this.loadNextSegment();\n };\n\n AnimationItem.prototype.imagesLoaded = function () {\n this.trigger('loaded_images');\n this.checkLoaded();\n };\n\n AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath);\n this.imagePreloader.setPath(this.path);\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n };\n\n AnimationItem.prototype.configAnimation = function (animData) {\n if (!this.renderer) {\n return;\n }\n\n try {\n this.animationData = animData;\n\n if (this.initialSegment) {\n this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);\n this.firstFrame = Math.round(this.initialSegment[0]);\n } else {\n this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);\n this.firstFrame = Math.round(this.animationData.ip);\n }\n\n this.renderer.configAnimation(animData);\n\n if (!animData.assets) {\n animData.assets = [];\n }\n\n this.assets = this.animationData.assets;\n this.frameRate = this.animationData.fr;\n this.frameMult = this.animationData.fr / 1000;\n this.renderer.searchExtraCompositions(animData.assets);\n this.markers = markerParser(animData.markers || []);\n this.trigger('config_ready');\n this.preloadImages();\n this.loadSegments();\n this.updaFrameModifier();\n this.waitForFontsLoaded();\n\n if (this.isPaused) {\n this.audioController.pause();\n }\n } catch (error) {\n this.triggerConfigError(error);\n }\n };\n\n AnimationItem.prototype.waitForFontsLoaded = function () {\n if (!this.renderer) {\n return;\n }\n\n if (this.renderer.globalData.fontManager.isLoaded) {\n this.checkLoaded();\n } else {\n setTimeout(this.waitForFontsLoaded.bind(this), 20);\n }\n };\n\n AnimationItem.prototype.checkLoaded = function () {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== 'canvas') && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var expressionsPlugin = getExpressionsPlugin();\n\n if (expressionsPlugin) {\n expressionsPlugin.initExpressions(this);\n }\n\n this.renderer.initItems();\n setTimeout(function () {\n this.trigger('DOMLoaded');\n }.bind(this), 0);\n this.gotoFrame();\n\n if (this.autoplay) {\n this.play();\n }\n }\n };\n\n AnimationItem.prototype.resize = function (width, height) {\n // Adding this validation for backwards compatibility in case an event object was being passed down\n var _width = typeof width === 'number' ? width : undefined;\n\n var _height = typeof height === 'number' ? height : undefined;\n\n this.renderer.updateContainerSize(_width, _height);\n };\n\n AnimationItem.prototype.setSubframe = function (flag) {\n this.isSubframeEnabled = !!flag;\n };\n\n AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame; // eslint-disable-line no-bitwise\n\n if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) {\n this.currentFrame = this.timeCompleted;\n }\n\n this.trigger('enterFrame');\n this.renderFrame();\n this.trigger('drawnFrame');\n };\n\n AnimationItem.prototype.renderFrame = function () {\n if (this.isLoaded === false || !this.renderer) {\n return;\n }\n\n try {\n if (this.expressionsPlugin) {\n this.expressionsPlugin.resetFrame();\n }\n\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (error) {\n this.triggerRenderFrameError(error);\n }\n };\n\n AnimationItem.prototype.play = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.isPaused = false;\n this.trigger('_play');\n this.audioController.resume();\n\n if (this._idle) {\n this._idle = false;\n this.trigger('_active');\n }\n }\n };\n\n AnimationItem.prototype.pause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === false) {\n this.isPaused = true;\n this.trigger('_pause');\n this._idle = true;\n this.trigger('_idle');\n this.audioController.pause();\n }\n };\n\n AnimationItem.prototype.togglePause = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n if (this.isPaused === true) {\n this.play();\n } else {\n this.pause();\n }\n };\n\n AnimationItem.prototype.stop = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.pause();\n this.playCount = 0;\n this._completedLoop = false;\n this.setCurrentRawFrameValue(0);\n };\n\n AnimationItem.prototype.getMarkerData = function (markerName) {\n var marker;\n\n for (var i = 0; i < this.markers.length; i += 1) {\n marker = this.markers[i];\n\n if (marker.payload && marker.payload.name === markerName) {\n return marker;\n }\n }\n\n return null;\n };\n\n AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n this.goToAndStop(marker.time, true);\n }\n } else if (isFrame) {\n this.setCurrentRawFrameValue(value);\n } else {\n this.setCurrentRawFrameValue(value * this.frameModifier);\n }\n\n this.pause();\n };\n\n AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n if (name && this.name !== name) {\n return;\n }\n\n var numValue = Number(value);\n\n if (isNaN(numValue)) {\n var marker = this.getMarkerData(value);\n\n if (marker) {\n if (!marker.duration) {\n this.goToAndStop(marker.time, true);\n } else {\n this.playSegments([marker.time, marker.time + marker.duration], true);\n }\n }\n } else {\n this.goToAndStop(numValue, isFrame, name);\n }\n\n this.play();\n };\n\n AnimationItem.prototype.advanceTime = function (value) {\n if (this.isPaused === true || this.isLoaded === false) {\n return;\n }\n\n var nextValue = this.currentRawFrame + value * this.frameModifier;\n var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {\n if (!this.loop || this.playCount === this.loop) {\n if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {\n _isComplete = true;\n nextValue = this.totalFrames - 1;\n }\n } else if (nextValue >= this.totalFrames) {\n this.playCount += 1;\n\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n this.setCurrentRawFrameValue(nextValue % this.totalFrames);\n this._completedLoop = true;\n this.trigger('loopComplete');\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n } else if (nextValue < 0) {\n if (!this.checkSegments(nextValue % this.totalFrames)) {\n if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {\n // eslint-disable-line no-plusplus\n this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);\n\n if (!this._completedLoop) {\n this._completedLoop = true;\n } else {\n this.trigger('loopComplete');\n }\n } else {\n _isComplete = true;\n nextValue = 0;\n }\n }\n } else {\n this.setCurrentRawFrameValue(nextValue);\n }\n\n if (_isComplete) {\n this.setCurrentRawFrameValue(nextValue);\n this.pause();\n this.trigger('complete');\n }\n };\n\n AnimationItem.prototype.adjustSegment = function (arr, offset) {\n this.playCount = 0;\n\n if (arr[1] < arr[0]) {\n if (this.frameModifier > 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(-1);\n }\n }\n\n this.totalFrames = arr[0] - arr[1];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[1];\n this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);\n } else if (arr[1] > arr[0]) {\n if (this.frameModifier < 0) {\n if (this.playSpeed < 0) {\n this.setSpeed(-this.playSpeed);\n } else {\n this.setDirection(1);\n }\n }\n\n this.totalFrames = arr[1] - arr[0];\n this.timeCompleted = this.totalFrames;\n this.firstFrame = arr[0];\n this.setCurrentRawFrameValue(0.001 + offset);\n }\n\n this.trigger('segmentStart');\n };\n\n AnimationItem.prototype.setSegment = function (init, end) {\n var pendingFrame = -1;\n\n if (this.isPaused) {\n if (this.currentRawFrame + this.firstFrame < init) {\n pendingFrame = init;\n } else if (this.currentRawFrame + this.firstFrame > end) {\n pendingFrame = end - init;\n }\n }\n\n this.firstFrame = init;\n this.totalFrames = end - init;\n this.timeCompleted = this.totalFrames;\n\n if (pendingFrame !== -1) {\n this.goToAndStop(pendingFrame, true);\n }\n };\n\n AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n if (forceFlag) {\n this.segments.length = 0;\n }\n\n if (_typeof$4(arr[0]) === 'object') {\n var i;\n var len = arr.length;\n\n for (i = 0; i < len; i += 1) {\n this.segments.push(arr[i]);\n }\n } else {\n this.segments.push(arr);\n }\n\n if (this.segments.length && forceFlag) {\n this.adjustSegment(this.segments.shift(), 0);\n }\n\n if (this.isPaused) {\n this.play();\n }\n };\n\n AnimationItem.prototype.resetSegments = function (forceFlag) {\n this.segments.length = 0;\n this.segments.push([this.animationData.ip, this.animationData.op]);\n\n if (forceFlag) {\n this.checkSegments(0);\n }\n };\n\n AnimationItem.prototype.checkSegments = function (offset) {\n if (this.segments.length) {\n this.adjustSegment(this.segments.shift(), offset);\n return true;\n }\n\n return false;\n };\n\n AnimationItem.prototype.destroy = function (name) {\n if (name && this.name !== name || !this.renderer) {\n return;\n }\n\n this.renderer.destroy();\n this.imagePreloader.destroy();\n this.trigger('destroy');\n this._cbs = null;\n this.onEnterFrame = null;\n this.onLoopComplete = null;\n this.onComplete = null;\n this.onSegmentStart = null;\n this.onDestroy = null;\n this.renderer = null;\n this.expressionsPlugin = null;\n this.imagePreloader = null;\n this.projectInterface = null;\n };\n\n AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n this.currentRawFrame = value;\n this.gotoFrame();\n };\n\n AnimationItem.prototype.setSpeed = function (val) {\n this.playSpeed = val;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setDirection = function (val) {\n this.playDirection = val < 0 ? -1 : 1;\n this.updaFrameModifier();\n };\n\n AnimationItem.prototype.setLoop = function (isLooping) {\n this.loop = isLooping;\n };\n\n AnimationItem.prototype.setVolume = function (val, name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.setVolume(val);\n };\n\n AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n };\n\n AnimationItem.prototype.mute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.mute();\n };\n\n AnimationItem.prototype.unmute = function (name) {\n if (name && this.name !== name) {\n return;\n }\n\n this.audioController.unmute();\n };\n\n AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;\n this.audioController.setRate(this.playSpeed * this.playDirection);\n };\n\n AnimationItem.prototype.getPath = function () {\n return this.path;\n };\n\n AnimationItem.prototype.getAssetsPath = function (assetData) {\n var path = '';\n\n if (assetData.e) {\n path = assetData.p;\n } else if (this.assetsPath) {\n var imagePath = assetData.p;\n\n if (imagePath.indexOf('images/') !== -1) {\n imagePath = imagePath.split('/')[1];\n }\n\n path = this.assetsPath + imagePath;\n } else {\n path = this.path;\n path += assetData.u ? assetData.u : '';\n path += assetData.p;\n }\n\n return path;\n };\n\n AnimationItem.prototype.getAssetData = function (id) {\n var i = 0;\n var len = this.assets.length;\n\n while (i < len) {\n if (id === this.assets[i].id) {\n return this.assets[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n };\n\n AnimationItem.prototype.show = function () {\n this.renderer.show();\n };\n\n AnimationItem.prototype.getDuration = function (isFrame) {\n return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;\n };\n\n AnimationItem.prototype.updateDocumentData = function (path, documentData, index) {\n try {\n var element = this.renderer.getElementByPath(path);\n element.updateDocumentData(documentData, index);\n } catch (error) {// TODO: decide how to handle catch case\n }\n };\n\n AnimationItem.prototype.trigger = function (name) {\n if (this._cbs && this._cbs[name]) {\n switch (name) {\n case 'enterFrame':\n this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case 'drawnFrame':\n this.drawnFrameEvent.currentTime = this.currentFrame;\n this.drawnFrameEvent.totalTime = this.totalFrames;\n this.drawnFrameEvent.direction = this.frameModifier;\n this.triggerEvent(name, this.drawnFrameEvent);\n break;\n\n case 'loopComplete':\n this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n break;\n\n case 'complete':\n this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));\n break;\n\n case 'segmentStart':\n this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n break;\n\n case 'destroy':\n this.triggerEvent(name, new BMDestroyEvent(name, this));\n break;\n\n default:\n this.triggerEvent(name);\n }\n }\n\n if (name === 'enterFrame' && this.onEnterFrame) {\n this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));\n }\n\n if (name === 'loopComplete' && this.onLoopComplete) {\n this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));\n }\n\n if (name === 'complete' && this.onComplete) {\n this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));\n }\n\n if (name === 'segmentStart' && this.onSegmentStart) {\n this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));\n }\n\n if (name === 'destroy' && this.onDestroy) {\n this.onDestroy.call(this, new BMDestroyEvent(name, this));\n }\n };\n\n AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n AnimationItem.prototype.triggerConfigError = function (nativeError) {\n var error = new BMConfigErrorEvent(nativeError, this.currentFrame);\n this.triggerEvent('error', error);\n\n if (this.onError) {\n this.onError.call(this, error);\n }\n };\n\n var animationManager = function () {\n var moduleOb = {};\n var registeredAnimations = [];\n var initTime = 0;\n var len = 0;\n var playingAnimationsNum = 0;\n var _stopped = true;\n var _isFrozen = false;\n\n function removeElement(ev) {\n var i = 0;\n var animItem = ev.target;\n\n while (i < len) {\n if (registeredAnimations[i].animation === animItem) {\n registeredAnimations.splice(i, 1);\n i -= 1;\n len -= 1;\n\n if (!animItem.isPaused) {\n subtractPlayingCount();\n }\n }\n\n i += 1;\n }\n }\n\n function registerAnimation(element, animationData) {\n if (!element) {\n return null;\n }\n\n var i = 0;\n\n while (i < len) {\n if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n return registeredAnimations[i].animation;\n }\n\n i += 1;\n }\n\n var animItem = new AnimationItem();\n setupAnimation(animItem, element);\n animItem.setData(element, animationData);\n return animItem;\n }\n\n function getRegisteredAnimations() {\n var i;\n var lenAnims = registeredAnimations.length;\n var animations = [];\n\n for (i = 0; i < lenAnims; i += 1) {\n animations.push(registeredAnimations[i].animation);\n }\n\n return animations;\n }\n\n function addPlayingCount() {\n playingAnimationsNum += 1;\n activate();\n }\n\n function subtractPlayingCount() {\n playingAnimationsNum -= 1;\n }\n\n function setupAnimation(animItem, element) {\n animItem.addEventListener('destroy', removeElement);\n animItem.addEventListener('_active', addPlayingCount);\n animItem.addEventListener('_idle', subtractPlayingCount);\n registeredAnimations.push({\n elem: element,\n animation: animItem\n });\n len += 1;\n }\n\n function loadAnimation(params) {\n var animItem = new AnimationItem();\n setupAnimation(animItem, null);\n animItem.setParams(params);\n return animItem;\n }\n\n function setSpeed(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setSpeed(val, animation);\n }\n }\n\n function setDirection(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setDirection(val, animation);\n }\n }\n\n function play(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.play(animation);\n }\n }\n\n function resume(nowTime) {\n var elapsedTime = nowTime - initTime;\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.advanceTime(elapsedTime);\n }\n\n initTime = nowTime;\n\n if (playingAnimationsNum && !_isFrozen) {\n window.requestAnimationFrame(resume);\n } else {\n _stopped = true;\n }\n }\n\n function first(nowTime) {\n initTime = nowTime;\n window.requestAnimationFrame(resume);\n }\n\n function pause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.pause(animation);\n }\n }\n\n function goToAndStop(value, isFrame, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n }\n }\n\n function stop(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.stop(animation);\n }\n }\n\n function togglePause(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.togglePause(animation);\n }\n }\n\n function destroy(animation) {\n var i;\n\n for (i = len - 1; i >= 0; i -= 1) {\n registeredAnimations[i].animation.destroy(animation);\n }\n }\n\n function searchAnimations(animationData, standalone, renderer) {\n var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin')));\n var i;\n var lenAnims = animElements.length;\n\n for (i = 0; i < lenAnims; i += 1) {\n if (renderer) {\n animElements[i].setAttribute('data-bm-type', renderer);\n }\n\n registerAnimation(animElements[i], animationData);\n }\n\n if (standalone && lenAnims === 0) {\n if (!renderer) {\n renderer = 'svg';\n }\n\n var body = document.getElementsByTagName('body')[0];\n body.innerText = '';\n var div = createTag('div');\n div.style.width = '100%';\n div.style.height = '100%';\n div.setAttribute('data-bm-type', renderer);\n body.appendChild(div);\n registerAnimation(div, animationData);\n }\n }\n\n function resize() {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.resize();\n }\n }\n\n function activate() {\n if (!_isFrozen && playingAnimationsNum) {\n if (_stopped) {\n window.requestAnimationFrame(first);\n _stopped = false;\n }\n }\n }\n\n function freeze() {\n _isFrozen = true;\n }\n\n function unfreeze() {\n _isFrozen = false;\n activate();\n }\n\n function setVolume(val, animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.setVolume(val, animation);\n }\n }\n\n function mute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.mute(animation);\n }\n }\n\n function unmute(animation) {\n var i;\n\n for (i = 0; i < len; i += 1) {\n registeredAnimations[i].animation.unmute(animation);\n }\n }\n\n moduleOb.registerAnimation = registerAnimation;\n moduleOb.loadAnimation = loadAnimation;\n moduleOb.setSpeed = setSpeed;\n moduleOb.setDirection = setDirection;\n moduleOb.play = play;\n moduleOb.pause = pause;\n moduleOb.stop = stop;\n moduleOb.togglePause = togglePause;\n moduleOb.searchAnimations = searchAnimations;\n moduleOb.resize = resize; // moduleOb.start = start;\n\n moduleOb.goToAndStop = goToAndStop;\n moduleOb.destroy = destroy;\n moduleOb.freeze = freeze;\n moduleOb.unfreeze = unfreeze;\n moduleOb.setVolume = setVolume;\n moduleOb.mute = mute;\n moduleOb.unmute = unmute;\n moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n return moduleOb;\n }();\n\n /* eslint-disable */\n var BezierFactory = function () {\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\n var ob = {};\n ob.getBezierEasing = getBezierEasing;\n var beziers = {};\n\n function getBezierEasing(a, b, c, d, nm) {\n var str = nm || ('bez_' + a + '_' + b + '_' + c + '_' + d).replace(/\\./g, 'p');\n\n if (beziers[str]) {\n return beziers[str];\n }\n\n var bezEasing = new BezierEasing([a, b, c, d]);\n beziers[str] = bezEasing;\n return bezEasing;\n } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n\n function C(aA1) {\n return 3.0 * aA1;\n } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n }\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\n\n\n function BezierEasing(points) {\n this._p = points;\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n this._precomputed = false;\n this.get = this.get.bind(this);\n }\n\n BezierEasing.prototype = {\n get: function get(x) {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n if (!this._precomputed) this._precompute();\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n if (x === 0) return 0;\n if (x === 1) return 1;\n return calcBezier(this._getTForX(x), mY1, mY2);\n },\n // Private part\n _precompute: function _precompute() {\n var mX1 = this._p[0],\n mY1 = this._p[1],\n mX2 = this._p[2],\n mY2 = this._p[3];\n this._precomputed = true;\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n this._calcSampleValues();\n }\n },\n _calcSampleValues: function _calcSampleValues() {\n var mX1 = this._p[0],\n mX2 = this._p[2];\n\n for (var i = 0; i < kSplineTableSize; ++i) {\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n },\n\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\n _getTForX: function _getTForX(aX) {\n var mX1 = this._p[0],\n mX2 = this._p[2],\n mSampleValues = this._mSampleValues;\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n\n if (initialSlope === 0.0) {\n return guessForT;\n }\n\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n };\n return ob;\n }();\n\n var pooling = function () {\n function _double(arr) {\n return arr.concat(createSizedArray(arr.length));\n }\n\n return {\n \"double\": _double\n };\n }();\n\n var poolFactory = function () {\n return function (initialLength, _create, _release) {\n var _length = 0;\n var _maxLength = initialLength;\n var pool = createSizedArray(_maxLength);\n var ob = {\n newElement: newElement,\n release: release\n };\n\n function newElement() {\n var element;\n\n if (_length) {\n _length -= 1;\n element = pool[_length];\n } else {\n element = _create();\n }\n\n return element;\n }\n\n function release(element) {\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n if (_release) {\n _release(element);\n }\n\n pool[_length] = element;\n _length += 1;\n }\n\n return ob;\n };\n }();\n\n var bezierLengthPool = function () {\n function create() {\n return {\n addedLength: 0,\n percents: createTypedArray('float32', getDefaultCurveSegments()),\n lengths: createTypedArray('float32', getDefaultCurveSegments())\n };\n }\n\n return poolFactory(8, create);\n }();\n\n var segmentsLengthPool = function () {\n function create() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n\n function release(element) {\n var i;\n var len = element.lengths.length;\n\n for (i = 0; i < len; i += 1) {\n bezierLengthPool.release(element.lengths[i]);\n }\n\n element.lengths.length = 0;\n }\n\n return poolFactory(8, create, release);\n }();\n\n function bezFunction() {\n var math = Math;\n\n function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n return det1 > -0.001 && det1 < 0.001;\n }\n\n function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n if (z1 === 0 && z2 === 0 && z3 === 0) {\n return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n }\n\n var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n var diffDist;\n\n if (dist1 > dist2) {\n if (dist1 > dist3) {\n diffDist = dist1 - dist2 - dist3;\n } else {\n diffDist = dist3 - dist2 - dist1;\n }\n } else if (dist3 > dist2) {\n diffDist = dist3 - dist2 - dist1;\n } else {\n diffDist = dist2 - dist1 - dist3;\n }\n\n return diffDist > -0.0001 && diffDist < 0.0001;\n }\n\n var getBezierLength = function () {\n return function (pt1, pt2, pt3, pt4) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point = [];\n var lastPoint = [];\n var lengthData = bezierLengthPool.newElement();\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint[i] !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n\n lastPoint[i] = point[i];\n }\n\n if (ptDistance) {\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n }\n\n lengthData.percents[k] = perc;\n lengthData.lengths[k] = addedLength;\n }\n\n lengthData.addedLength = addedLength;\n return lengthData;\n };\n }();\n\n function getSegmentsLength(shapeData) {\n var segmentsLength = segmentsLengthPool.newElement();\n var closed = shapeData.c;\n var pathV = shapeData.v;\n var pathO = shapeData.o;\n var pathI = shapeData.i;\n var i;\n var len = shapeData._length;\n var lengths = segmentsLength.lengths;\n var totalLength = 0;\n\n for (i = 0; i < len - 1; i += 1) {\n lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n totalLength += lengths[i].addedLength;\n }\n\n if (closed && len) {\n lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n totalLength += lengths[i].addedLength;\n }\n\n segmentsLength.totalLength = totalLength;\n return segmentsLength;\n }\n\n function BezierData(length) {\n this.segmentLength = 0;\n this.points = new Array(length);\n }\n\n function PointData(partial, point) {\n this.partialLength = partial;\n this.point = point;\n }\n\n var buildBezierData = function () {\n var storedData = {};\n return function (pt1, pt2, pt3, pt4) {\n var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\\./g, 'p');\n\n if (!storedData[bezierName]) {\n var curveSegments = getDefaultCurveSegments();\n var k;\n var i;\n var len;\n var ptCoord;\n var perc;\n var addedLength = 0;\n var ptDistance;\n var point;\n var lastPoint = null;\n\n if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n curveSegments = 2;\n }\n\n var bezierData = new BezierData(curveSegments);\n len = pt3.length;\n\n for (k = 0; k < curveSegments; k += 1) {\n point = createSizedArray(len);\n perc = k / (curveSegments - 1);\n ptDistance = 0;\n\n for (i = 0; i < len; i += 1) {\n ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n point[i] = ptCoord;\n\n if (lastPoint !== null) {\n ptDistance += bmPow(point[i] - lastPoint[i], 2);\n }\n }\n\n ptDistance = bmSqrt(ptDistance);\n addedLength += ptDistance;\n bezierData.points[k] = new PointData(ptDistance, point);\n lastPoint = point;\n }\n\n bezierData.segmentLength = addedLength;\n storedData[bezierName] = bezierData;\n }\n\n return storedData[bezierName];\n };\n }();\n\n function getDistancePerc(perc, bezierData) {\n var percents = bezierData.percents;\n var lengths = bezierData.lengths;\n var len = percents.length;\n var initPos = bmFloor((len - 1) * perc);\n var lengthPos = perc * bezierData.addedLength;\n var lPerc = 0;\n\n if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n return percents[initPos];\n }\n\n var dir = lengths[initPos] > lengthPos ? -1 : 1;\n var flag = true;\n\n while (flag) {\n if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n flag = false;\n } else {\n initPos += dir;\n }\n\n if (initPos < 0 || initPos >= len - 1) {\n // FIX for TypedArrays that don't store floating point values with enough accuracy\n if (initPos === len - 1) {\n return percents[initPos];\n }\n\n flag = false;\n }\n }\n\n return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n }\n\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n var t1 = getDistancePerc(percent, bezierData);\n var u1 = 1 - t1;\n var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n return [ptX, ptY];\n }\n\n var bezierSegmentPoints = createTypedArray('float32', 8);\n\n function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n if (startPerc < 0) {\n startPerc = 0;\n } else if (startPerc > 1) {\n startPerc = 1;\n }\n\n var t0 = getDistancePerc(startPerc, bezierData);\n endPerc = endPerc > 1 ? 1 : endPerc;\n var t1 = getDistancePerc(endPerc, bezierData);\n var i;\n var len = pt1.length;\n var u0 = 1 - t0;\n var u1 = 1 - t1;\n var u0u0u0 = u0 * u0 * u0;\n var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n var t0t0t0 = t0 * t0 * t0; //\n\n var u0u0u1 = u0 * u0 * u1;\n var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n var t0t0t1 = t0 * t0 * t1; //\n\n var u0u1u1 = u0 * u1 * u1;\n var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n var t0t1t1 = t0 * t1 * t1; //\n\n var u1u1u1 = u1 * u1 * u1;\n var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n var t1t1t1 = t1 * t1 * t1;\n\n for (i = 0; i < len; i += 1) {\n bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n }\n\n return bezierSegmentPoints;\n }\n\n return {\n getSegmentsLength: getSegmentsLength,\n getNewSegment: getNewSegment,\n getPointInSegment: getPointInSegment,\n buildBezierData: buildBezierData,\n pointOnLine2D: pointOnLine2D,\n pointOnLine3D: pointOnLine3D\n };\n }\n\n var bez = bezFunction();\n\n var initFrame = initialDefaultFrame;\n var mathAbs = Math.abs;\n\n function interpolateValue(frameNum, caching) {\n var offsetTime = this.offsetTime;\n var newValue;\n\n if (this.propType === 'multidimensional') {\n newValue = createTypedArray('float32', this.pv.length);\n }\n\n var iterationIndex = caching.lastIndex;\n var i = iterationIndex;\n var len = this.keyframes.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = this.keyframes[i];\n nextKeyData = this.keyframes[i + 1];\n\n if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n if (keyData.h) {\n keyData = nextKeyData;\n }\n\n iterationIndex = 0;\n break;\n }\n\n if (nextKeyData.t - offsetTime > frameNum) {\n iterationIndex = i;\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n iterationIndex = 0;\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n var k;\n var kLen;\n var perc;\n var jLen;\n var j;\n var fnc;\n var nextKeyTime = nextKeyData.t - offsetTime;\n var keyTime = keyData.t - offsetTime;\n var endValue;\n\n if (keyData.to) {\n if (!keyframeMetadata.bezierData) {\n keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n }\n\n var bezierData = keyframeMetadata.bezierData;\n\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n kLen = bezierData.points[ind].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[ind].point[k];\n } // caching._lastKeyframeIndex = -1;\n\n } else {\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n var distanceInLine = bezierData.segmentLength * perc;\n var segmentPerc;\n var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n flag = true;\n jLen = bezierData.points.length;\n\n while (flag) {\n addedLength += bezierData.points[j].partialLength;\n\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k];\n }\n\n break;\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n kLen = bezierData.points[j].point.length;\n\n for (k = 0; k < kLen; k += 1) {\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n }\n\n break;\n }\n\n if (j < jLen - 1) {\n j += 1;\n } else {\n flag = false;\n }\n }\n\n caching._lastPoint = j;\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n caching._lastKeyframeIndex = i;\n }\n } else {\n var outX;\n var outY;\n var inX;\n var inY;\n var keyValue;\n len = keyData.s.length;\n endValue = nextKeyData.s || keyData.e;\n\n if (this.sh && keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n newValue[0] = endValue[0];\n newValue[1] = endValue[1];\n newValue[2] = endValue[2];\n } else if (frameNum <= keyTime) {\n newValue[0] = keyData.s[0];\n newValue[1] = keyData.s[1];\n newValue[2] = keyData.s[2];\n } else {\n var quatStart = createQuaternion(keyData.s);\n var quatEnd = createQuaternion(endValue);\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n }\n } else {\n for (i = 0; i < len; i += 1) {\n if (keyData.h !== 1) {\n if (frameNum >= nextKeyTime) {\n perc = 1;\n } else if (frameNum < keyTime) {\n perc = 0;\n } else {\n if (keyData.o.x.constructor === Array) {\n if (!keyframeMetadata.__fnct) {\n keyframeMetadata.__fnct = [];\n }\n\n if (!keyframeMetadata.__fnct[i]) {\n outX = keyData.o.x[i] === undefined ? keyData.o.x[0] : keyData.o.x[i];\n outY = keyData.o.y[i] === undefined ? keyData.o.y[0] : keyData.o.y[i];\n inX = keyData.i.x[i] === undefined ? keyData.i.x[0] : keyData.i.x[i];\n inY = keyData.i.y[i] === undefined ? keyData.i.y[0] : keyData.i.y[i];\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyframeMetadata.__fnct[i] = fnc;\n } else {\n fnc = keyframeMetadata.__fnct[i];\n }\n } else if (!keyframeMetadata.__fnct) {\n outX = keyData.o.x;\n outY = keyData.o.y;\n inX = keyData.i.x;\n inY = keyData.i.y;\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n keyData.keyframeMetadata = fnc;\n } else {\n fnc = keyframeMetadata.__fnct;\n }\n\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n }\n }\n\n endValue = nextKeyData.s || keyData.e;\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n if (this.propType === 'multidimensional') {\n newValue[i] = keyValue;\n } else {\n newValue = keyValue;\n }\n }\n }\n }\n\n caching.lastIndex = iterationIndex;\n return newValue;\n } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n function slerp(a, b, t) {\n var out = [];\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n var aw = a[3];\n var bx = b[0];\n var by = b[1];\n var bz = b[2];\n var bw = b[3];\n var omega;\n var cosom;\n var sinom;\n var scale0;\n var scale1;\n cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n }\n\n if (1.0 - cosom > 0.000001) {\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n scale0 = 1.0 - t;\n scale1 = t;\n }\n\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n }\n\n function quaternionToEuler(out, quat) {\n var qx = quat[0];\n var qy = quat[1];\n var qz = quat[2];\n var qw = quat[3];\n var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n out[0] = heading / degToRads;\n out[1] = attitude / degToRads;\n out[2] = bank / degToRads;\n }\n\n function createQuaternion(values) {\n var heading = values[0] * degToRads;\n var attitude = values[1] * degToRads;\n var bank = values[2] * degToRads;\n var c1 = Math.cos(heading / 2);\n var c2 = Math.cos(attitude / 2);\n var c3 = Math.cos(bank / 2);\n var s1 = Math.sin(heading / 2);\n var s2 = Math.sin(attitude / 2);\n var s3 = Math.sin(bank / 2);\n var w = c1 * c2 * c3 - s1 * s2 * s3;\n var x = s1 * s2 * c3 + c1 * c2 * s3;\n var y = s1 * c2 * c3 + c1 * s2 * s3;\n var z = c1 * s2 * c3 - s1 * c2 * s3;\n return [x, y, z, w];\n }\n\n function getValueAtCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {\n if (this._caching.lastFrame >= frameNum) {\n this._caching._lastKeyframeIndex = -1;\n this._caching.lastIndex = 0;\n }\n\n var renderResult = this.interpolateValue(frameNum, this._caching);\n this.pv = renderResult;\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function setVValue(val) {\n var multipliedValue;\n\n if (this.propType === 'unidimensional') {\n multipliedValue = val * this.mult;\n\n if (mathAbs(this.v - multipliedValue) > 0.00001) {\n this.v = multipliedValue;\n this._mdf = true;\n }\n } else {\n var i = 0;\n var len = this.v.length;\n\n while (i < len) {\n multipliedValue = val[i] * this.mult;\n\n if (mathAbs(this.v[i] - multipliedValue) > 0.00001) {\n this.v[i] = multipliedValue;\n this._mdf = true;\n }\n\n i += 1;\n }\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = this._isFirstFrame;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = this.kf ? this.pv : this.data.k;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this._isFirstFrame = false;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n function ValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.mult = mult || 1;\n this.data = data;\n this.v = mult ? data.k * mult : data.k;\n this.pv = data.k;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.vel = 0;\n this.effectsSequence = [];\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function MultiDimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n this.mult = mult || 1;\n this.data = data;\n this._mdf = false;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.k = false;\n this.kf = false;\n this.frameId = -1;\n var i;\n var len = data.k.length;\n this.v = createTypedArray('float32', len);\n this.pv = createTypedArray('float32', len);\n this.vel = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n this.v[i] = data.k[i] * this.mult;\n this.pv[i] = data.k[i];\n }\n\n this._isFirstFrame = true;\n this.effectsSequence = [];\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.addEffect = addEffect;\n }\n\n function KeyframedValueProperty(elem, data, mult, container) {\n this.propType = 'unidimensional';\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.frameId = -1;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n };\n this.k = true;\n this.kf = true;\n this.data = data;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.v = initFrame;\n this.pv = initFrame;\n this._isFirstFrame = true;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.addEffect = addEffect;\n }\n\n function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n this.propType = 'multidimensional';\n var i;\n var len = data.k.length;\n var s;\n var e;\n var to;\n var ti;\n\n for (i = 0; i < len - 1; i += 1) {\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n s = data.k[i].s;\n e = data.k[i + 1].s;\n to = data.k[i].to;\n ti = data.k[i].ti;\n\n if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n\n if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n data.k[i].to = null;\n data.k[i].ti = null;\n }\n }\n }\n }\n\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\n this.data = data;\n this.keyframes = data.k;\n this.keyframesMetadata = [];\n this.offsetTime = elem.data.st;\n this.k = true;\n this.kf = true;\n this._isFirstFrame = true;\n this.mult = mult || 1;\n this.elem = elem;\n this.container = container;\n this.comp = elem.comp;\n this.getValue = processEffectsSequence;\n this.setVValue = setVValue;\n this.interpolateValue = interpolateValue;\n this.frameId = -1;\n var arrLen = data.k[0].s.length;\n this.v = createTypedArray('float32', arrLen);\n this.pv = createTypedArray('float32', arrLen);\n\n for (i = 0; i < arrLen; i += 1) {\n this.v[i] = initFrame;\n this.pv[i] = initFrame;\n }\n\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray('float32', arrLen)\n };\n this.addEffect = addEffect;\n }\n\n var PropertyFactory = function () {\n function getProp(elem, data, type, mult, container) {\n if (data.sid) {\n data = elem.globalData.slotManager.getProp(data);\n }\n\n var p;\n\n if (!data.k.length) {\n p = new ValueProperty(elem, data, mult, container);\n } else if (typeof data.k[0] === 'number') {\n p = new MultiDimensionalProperty(elem, data, mult, container);\n } else {\n switch (type) {\n case 0:\n p = new KeyframedValueProperty(elem, data, mult, container);\n break;\n\n case 1:\n p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n break;\n\n default:\n break;\n }\n }\n\n if (p.effectsSequence.length) {\n container.addDynamicProperty(p);\n }\n\n return p;\n }\n\n var ob = {\n getProp: getProp\n };\n return ob;\n }();\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n this.container.addDynamicProperty(this);\n this._isAnimated = true;\n }\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n this._mdf = false;\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this._mdf = true;\n }\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {\n this.container = container;\n this.dynamicProperties = [];\n this._mdf = false;\n this._isAnimated = false;\n }\n };\n\n var pointPool = function () {\n function create() {\n return createTypedArray('float32', 2);\n }\n\n return poolFactory(8, create);\n }();\n\n function ShapePath() {\n this.c = false;\n this._length = 0;\n this._maxLength = 8;\n this.v = createSizedArray(this._maxLength);\n this.o = createSizedArray(this._maxLength);\n this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (closed, len) {\n this.c = closed;\n this.setLength(len);\n var i = 0;\n\n while (i < len) {\n this.v[i] = pointPool.newElement();\n this.o[i] = pointPool.newElement();\n this.i[i] = pointPool.newElement();\n i += 1;\n }\n };\n\n ShapePath.prototype.setLength = function (len) {\n while (this._maxLength < len) {\n this.doubleArrayLength();\n }\n\n this._length = len;\n };\n\n ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength));\n this.i = this.i.concat(createSizedArray(this._maxLength));\n this.o = this.o.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n };\n\n ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n var arr;\n this._length = Math.max(this._length, pos + 1);\n\n if (this._length >= this._maxLength) {\n this.doubleArrayLength();\n }\n\n switch (type) {\n case 'v':\n arr = this.v;\n break;\n\n case 'i':\n arr = this.i;\n break;\n\n case 'o':\n arr = this.o;\n break;\n\n default:\n arr = [];\n break;\n }\n\n if (!arr[pos] || arr[pos] && !replace) {\n arr[pos] = pointPool.newElement();\n }\n\n arr[pos][0] = x;\n arr[pos][1] = y;\n };\n\n ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n this.setXYAt(vX, vY, 'v', pos, replace);\n this.setXYAt(oX, oY, 'o', pos, replace);\n this.setXYAt(iX, iY, 'i', pos, replace);\n };\n\n ShapePath.prototype.reverse = function () {\n var newPath = new ShapePath();\n newPath.setPathData(this.c, this._length);\n var vertices = this.v;\n var outPoints = this.o;\n var inPoints = this.i;\n var init = 0;\n\n if (this.c) {\n newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n init = 1;\n }\n\n var cnt = this._length - 1;\n var len = this._length;\n var i;\n\n for (i = init; i < len; i += 1) {\n newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n cnt -= 1;\n }\n\n return newPath;\n };\n\n ShapePath.prototype.length = function () {\n return this._length;\n };\n\n var shapePool = function () {\n function create() {\n return new ShapePath();\n }\n\n function release(shapePath) {\n var len = shapePath._length;\n var i;\n\n for (i = 0; i < len; i += 1) {\n pointPool.release(shapePath.v[i]);\n pointPool.release(shapePath.i[i]);\n pointPool.release(shapePath.o[i]);\n shapePath.v[i] = null;\n shapePath.i[i] = null;\n shapePath.o[i] = null;\n }\n\n shapePath._length = 0;\n shapePath.c = false;\n }\n\n function clone(shape) {\n var cloned = factory.newElement();\n var i;\n var len = shape._length === undefined ? shape.v.length : shape._length;\n cloned.setLength(len);\n cloned.c = shape.c;\n\n for (i = 0; i < len; i += 1) {\n cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n }\n\n return cloned;\n }\n\n var factory = poolFactory(4, create, release);\n factory.clone = clone;\n return factory;\n }();\n\n function ShapeCollection() {\n this._length = 0;\n this._maxLength = 4;\n this.shapes = createSizedArray(this._maxLength);\n }\n\n ShapeCollection.prototype.addShape = function (shapeData) {\n if (this._length === this._maxLength) {\n this.shapes = this.shapes.concat(createSizedArray(this._maxLength));\n this._maxLength *= 2;\n }\n\n this.shapes[this._length] = shapeData;\n this._length += 1;\n };\n\n ShapeCollection.prototype.releaseShapes = function () {\n var i;\n\n for (i = 0; i < this._length; i += 1) {\n shapePool.release(this.shapes[i]);\n }\n\n this._length = 0;\n };\n\n var shapeCollectionPool = function () {\n var ob = {\n newShapeCollection: newShapeCollection,\n release: release\n };\n var _length = 0;\n var _maxLength = 4;\n var pool = createSizedArray(_maxLength);\n\n function newShapeCollection() {\n var shapeCollection;\n\n if (_length) {\n _length -= 1;\n shapeCollection = pool[_length];\n } else {\n shapeCollection = new ShapeCollection();\n }\n\n return shapeCollection;\n }\n\n function release(shapeCollection) {\n var i;\n var len = shapeCollection._length;\n\n for (i = 0; i < len; i += 1) {\n shapePool.release(shapeCollection.shapes[i]);\n }\n\n shapeCollection._length = 0;\n\n if (_length === _maxLength) {\n pool = pooling[\"double\"](pool);\n _maxLength *= 2;\n }\n\n pool[_length] = shapeCollection;\n _length += 1;\n }\n\n return ob;\n }();\n\n var ShapePropertyFactory = function () {\n var initFrame = -999999;\n\n function interpolateShape(frameNum, previousValue, caching) {\n var iterationIndex = caching.lastIndex;\n var keyPropS;\n var keyPropE;\n var isHold;\n var j;\n var k;\n var jLen;\n var kLen;\n var perc;\n var vertexValue;\n var kf = this.keyframes;\n\n if (frameNum < kf[0].t - this.offsetTime) {\n keyPropS = kf[0].s[0];\n isHold = true;\n iterationIndex = 0;\n } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n /* if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n } */\n\n isHold = true;\n } else {\n var i = iterationIndex;\n var len = kf.length - 1;\n var flag = true;\n var keyData;\n var nextKeyData;\n var keyframeMetadata;\n\n while (flag) {\n keyData = kf[i];\n nextKeyData = kf[i + 1];\n\n if (nextKeyData.t - this.offsetTime > frameNum) {\n break;\n }\n\n if (i < len - 1) {\n i += 1;\n } else {\n flag = false;\n }\n }\n\n keyframeMetadata = this.keyframesMetadata[i] || {};\n isHold = keyData.h === 1;\n iterationIndex = i;\n\n if (!isHold) {\n if (frameNum >= nextKeyData.t - this.offsetTime) {\n perc = 1;\n } else if (frameNum < keyData.t - this.offsetTime) {\n perc = 0;\n } else {\n var fnc;\n\n if (keyframeMetadata.__fnct) {\n fnc = keyframeMetadata.__fnct;\n } else {\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n keyframeMetadata.__fnct = fnc;\n }\n\n perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));\n }\n\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n }\n\n keyPropS = keyData.s[0];\n }\n\n jLen = previousValue._length;\n kLen = keyPropS.i[0].length;\n caching.lastIndex = iterationIndex;\n\n for (j = 0; j < jLen; j += 1) {\n for (k = 0; k < kLen; k += 1) {\n vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n previousValue.i[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n previousValue.o[j][k] = vertexValue;\n vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n previousValue.v[j][k] = vertexValue;\n }\n }\n }\n\n function interpolateShapeCurrentTime() {\n var frameNum = this.comp.renderedFrame - this.offsetTime;\n var initTime = this.keyframes[0].t - this.offsetTime;\n var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n var lastFrame = this._caching.lastFrame;\n\n if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n /// /\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\n this.interpolateShape(frameNum, this.pv, this._caching); /// /\n }\n\n this._caching.lastFrame = frameNum;\n return this.pv;\n }\n\n function resetShape() {\n this.paths = this.localShapeCollection;\n }\n\n function shapesEqual(shape1, shape2) {\n if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n return false;\n }\n\n var i;\n var len = shape1._length;\n\n for (i = 0; i < len; i += 1) {\n if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n return false;\n }\n }\n\n return true;\n }\n\n function setVValue(newPath) {\n if (!shapesEqual(this.v, newPath)) {\n this.v = shapePool.clone(newPath);\n this.localShapeCollection.releaseShapes();\n this.localShapeCollection.addShape(this.v);\n this._mdf = true;\n this.paths = this.localShapeCollection;\n }\n }\n\n function processEffectsSequence() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (!this.effectsSequence.length) {\n this._mdf = false;\n return;\n }\n\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var finalValue;\n\n if (this.kf) {\n finalValue = this.pv;\n } else if (this.data.ks) {\n finalValue = this.data.ks.k;\n } else {\n finalValue = this.data.pt.k;\n }\n\n var i;\n var len = this.effectsSequence.length;\n\n for (i = 0; i < len; i += 1) {\n finalValue = this.effectsSequence[i](finalValue);\n }\n\n this.setVValue(finalValue);\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n }\n\n function ShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.container = elem;\n this.elem = elem;\n this.data = data;\n this.k = false;\n this.kf = false;\n this._mdf = false;\n var pathData = type === 3 ? data.pt.k : data.ks.k;\n this.v = shapePool.clone(pathData);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.reset = resetShape;\n this.effectsSequence = [];\n }\n\n function addEffect(effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.container.addDynamicProperty(this);\n }\n\n ShapeProperty.prototype.interpolateShape = interpolateShape;\n ShapeProperty.prototype.getValue = processEffectsSequence;\n ShapeProperty.prototype.setVValue = setVValue;\n ShapeProperty.prototype.addEffect = addEffect;\n\n function KeyframedShapeProperty(elem, data, type) {\n this.propType = 'shape';\n this.comp = elem.comp;\n this.elem = elem;\n this.container = elem;\n this.offsetTime = elem.data.st;\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\n this.keyframesMetadata = [];\n this.k = true;\n this.kf = true;\n var len = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement();\n this.v.setPathData(this.keyframes[0].s[0].c, len);\n this.pv = shapePool.clone(this.v);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.paths.addShape(this.v);\n this.lastFrame = initFrame;\n this.reset = resetShape;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0\n };\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\n }\n\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n KeyframedShapeProperty.prototype.setVValue = setVValue;\n KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n var EllShapeProperty = function () {\n var cPoint = roundCorner;\n\n function EllShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 4);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.paths = this.localShapeCollection;\n this.localShapeCollection.addShape(this.v);\n this.d = data.d;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertEllToPath();\n }\n }\n\n EllShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertEllToPath();\n }\n },\n convertEllToPath: function convertEllToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var s0 = this.s.v[0] / 2;\n var s1 = this.s.v[1] / 2;\n\n var _cw = this.d !== 3;\n\n var _v = this.v;\n _v.v[0][0] = p0;\n _v.v[0][1] = p1 - s1;\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.v[1][1] = p1;\n _v.v[2][0] = p0;\n _v.v[2][1] = p1 + s1;\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.v[3][1] = p1;\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.i[0][1] = p1 - s1;\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.i[1][1] = p1 - s1 * cPoint;\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.i[2][1] = p1 + s1;\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.i[3][1] = p1 + s1 * cPoint;\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n _v.o[0][1] = p1 - s1;\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n _v.o[1][1] = p1 + s1 * cPoint;\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n _v.o[2][1] = p1 + s1;\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n _v.o[3][1] = p1 - s1 * cPoint;\n }\n };\n extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n return EllShapePropertyFactory;\n }();\n\n var StarShapeProperty = function () {\n function StarShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.setPathData(true, 0);\n this.elem = elem;\n this.comp = elem.comp;\n this.data = data;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n\n if (data.sy === 1) {\n this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);\n this.is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this);\n this.convertToPath = this.convertStarToPath;\n } else {\n this.convertToPath = this.convertPolygonToPath;\n }\n\n this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);\n this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);\n this.os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this);\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertToPath();\n }\n }\n\n StarShapePropertyFactory.prototype = {\n reset: resetShape,\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertToPath();\n }\n },\n convertStarToPath: function convertStarToPath() {\n var numPts = Math.floor(this.pt.v) * 2;\n var angle = Math.PI * 2 / numPts;\n /* this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts; */\n\n var longFlag = true;\n var longRad = this.or.v;\n var shortRad = this.ir.v;\n var longRound = this.os.v;\n var shortRound = this.is.v;\n var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n var i;\n var rad;\n var roundness;\n var perimSegment;\n var currentAng = -Math.PI / 2;\n currentAng += this.r.v;\n var dir = this.data.d === 3 ? -1 : 1;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n rad = longFlag ? longRad : shortRad;\n roundness = longFlag ? longRound : shortRound;\n perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n /* this.v.v[i] = [x,y];\r\n this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n this.v._length = numPts; */\n\n longFlag = !longFlag;\n currentAng += angle * dir;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var numPts = Math.floor(this.pt.v);\n var angle = Math.PI * 2 / numPts;\n var rad = this.or.v;\n var roundness = this.os.v;\n var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n var i;\n var currentAng = -Math.PI * 0.5;\n var dir = this.data.d === 3 ? -1 : 1;\n currentAng += this.r.v;\n this.v._length = 0;\n\n for (i = 0; i < numPts; i += 1) {\n var x = rad * Math.cos(currentAng);\n var y = rad * Math.sin(currentAng);\n var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n x += +this.p.v[0];\n y += +this.p.v[1];\n this.v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n currentAng += angle * dir;\n }\n\n this.paths.length = 0;\n this.paths[0] = this.v;\n }\n };\n extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n return StarShapePropertyFactory;\n }();\n\n var RectShapeProperty = function () {\n function RectShapePropertyFactory(elem, data) {\n this.v = shapePool.newElement();\n this.v.c = true;\n this.localShapeCollection = shapeCollectionPool.newShapeCollection();\n this.localShapeCollection.addShape(this.v);\n this.paths = this.localShapeCollection;\n this.elem = elem;\n this.comp = elem.comp;\n this.frameId = -1;\n this.d = data.d;\n this.initDynamicPropertyContainer(elem);\n this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);\n this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.k = false;\n this.convertRectToPath();\n }\n }\n\n RectShapePropertyFactory.prototype = {\n convertRectToPath: function convertRectToPath() {\n var p0 = this.p.v[0];\n var p1 = this.p.v[1];\n var v0 = this.s.v[0] / 2;\n var v1 = this.s.v[1] / 2;\n var round = bmMin(v0, v1, this.r.v);\n var cPoint = round * (1 - roundCorner);\n this.v._length = 0;\n\n if (this.d === 2 || this.d === 1) {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n }\n } else {\n this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n if (round !== 0) {\n this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n } else {\n this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n }\n }\n },\n getValue: function getValue() {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n\n if (this._mdf) {\n this.convertRectToPath();\n }\n },\n reset: resetShape\n };\n extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n return RectShapePropertyFactory;\n }();\n\n function getShapeProp(elem, data, type) {\n var prop;\n\n if (type === 3 || type === 4) {\n var dataProp = type === 3 ? data.pt : data.ks;\n var keys = dataProp.k;\n\n if (keys.length) {\n prop = new KeyframedShapeProperty(elem, data, type);\n } else {\n prop = new ShapeProperty(elem, data, type);\n }\n } else if (type === 5) {\n prop = new RectShapeProperty(elem, data);\n } else if (type === 6) {\n prop = new EllShapeProperty(elem, data);\n } else if (type === 7) {\n prop = new StarShapeProperty(elem, data);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n }\n\n function getConstructorFunction() {\n return ShapeProperty;\n }\n\n function getKeyframedConstructorFunction() {\n return KeyframedShapeProperty;\n }\n\n var ob = {};\n ob.getShapeProp = getShapeProp;\n ob.getConstructorFunction = getConstructorFunction;\n ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n return ob;\n }();\n\n /*!\r\n Transformation Matrix v2.0\r\n (c) Epistemex 2014-2015\r\n www.epistemex.com\r\n By Ken Fyrstenberg\r\n Contributions by leeoniya.\r\n License: MIT, header required.\r\n */\n\n /**\r\n * 2D transformation matrix object initialized with identity matrix.\r\n *\r\n * The matrix can synchronize a canvas context by supplying the context\r\n * as an argument, or later apply current absolute transform to an\r\n * existing context.\r\n *\r\n * All values are handled as floating point values.\r\n *\r\n * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n * @prop {number} a - scale x\r\n * @prop {number} b - shear y\r\n * @prop {number} c - shear x\r\n * @prop {number} d - scale y\r\n * @prop {number} e - translate x\r\n * @prop {number} f - translate y\r\n * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n * @constructor\r\n */\n\n var Matrix = function () {\n var _cos = Math.cos;\n var _sin = Math.sin;\n var _tan = Math.tan;\n var _rnd = Math.round;\n\n function reset() {\n this.props[0] = 1;\n this.props[1] = 0;\n this.props[2] = 0;\n this.props[3] = 0;\n this.props[4] = 0;\n this.props[5] = 1;\n this.props[6] = 0;\n this.props[7] = 0;\n this.props[8] = 0;\n this.props[9] = 0;\n this.props[10] = 1;\n this.props[11] = 0;\n this.props[12] = 0;\n this.props[13] = 0;\n this.props[14] = 0;\n this.props[15] = 1;\n return this;\n }\n\n function rotate(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function rotateX(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateY(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n }\n\n function rotateZ(angle) {\n if (angle === 0) {\n return this;\n }\n\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function shear(sx, sy) {\n return this._t(1, sy, sx, 1, 0, 0);\n }\n\n function skew(ax, ay) {\n return this.shear(_tan(ax), _tan(ay));\n }\n\n function skewFromAxis(ax, angle) {\n var mCos = _cos(angle);\n\n var mSin = _sin(angle);\n\n return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n }\n\n function scale(sx, sy, sz) {\n if (!sz && sz !== 0) {\n sz = 1;\n }\n\n if (sx === 1 && sy === 1 && sz === 1) {\n return this;\n }\n\n return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n }\n\n function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n this.props[0] = a;\n this.props[1] = b;\n this.props[2] = c;\n this.props[3] = d;\n this.props[4] = e;\n this.props[5] = f;\n this.props[6] = g;\n this.props[7] = h;\n this.props[8] = i;\n this.props[9] = j;\n this.props[10] = k;\n this.props[11] = l;\n this.props[12] = m;\n this.props[13] = n;\n this.props[14] = o;\n this.props[15] = p;\n return this;\n }\n\n function translate(tx, ty, tz) {\n tz = tz || 0;\n\n if (tx !== 0 || ty !== 0 || tz !== 0) {\n return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n }\n\n return this;\n }\n\n function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n var _p = this.props;\n\n if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n // NOTE: commenting this condition because TurboFan deoptimizes code when present\n // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n _p[12] = _p[12] * a2 + _p[15] * m2;\n _p[13] = _p[13] * f2 + _p[15] * n2;\n _p[14] = _p[14] * k2 + _p[15] * o2;\n _p[15] *= p2; // }\n\n this._identityCalculated = false;\n return this;\n }\n\n var a1 = _p[0];\n var b1 = _p[1];\n var c1 = _p[2];\n var d1 = _p[3];\n var e1 = _p[4];\n var f1 = _p[5];\n var g1 = _p[6];\n var h1 = _p[7];\n var i1 = _p[8];\n var j1 = _p[9];\n var k1 = _p[10];\n var l1 = _p[11];\n var m1 = _p[12];\n var n1 = _p[13];\n var o1 = _p[14];\n var p1 = _p[15];\n /* matrix order (canvas compatible):\r\n * ace\r\n * bdf\r\n * 001\r\n */\n\n _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n this._identityCalculated = false;\n return this;\n }\n\n function multiply(matrix) {\n var matrixProps = matrix.props;\n return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]);\n }\n\n function isIdentity() {\n if (!this._identityCalculated) {\n this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);\n this._identityCalculated = true;\n }\n\n return this._identity;\n }\n\n function equals(matr) {\n var i = 0;\n\n while (i < 16) {\n if (matr.props[i] !== this.props[i]) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n }\n\n function clone(matr) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n matr.props[i] = this.props[i];\n }\n\n return matr;\n }\n\n function cloneFromProps(props) {\n var i;\n\n for (i = 0; i < 16; i += 1) {\n this.props[i] = props[i];\n }\n }\n\n function applyToPoint(x, y, z) {\n return {\n x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],\n y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],\n z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]\n };\n /* return {\r\n x: x * me.a + y * me.c + me.e,\r\n y: x * me.b + y * me.d + me.f\r\n }; */\n }\n\n function applyToX(x, y, z) {\n return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];\n }\n\n function applyToY(x, y, z) {\n return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];\n }\n\n function applyToZ(x, y, z) {\n return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];\n }\n\n function getInverseMatrix() {\n var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];\n var a = this.props[5] / determinant;\n var b = -this.props[1] / determinant;\n var c = -this.props[4] / determinant;\n var d = this.props[0] / determinant;\n var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;\n var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;\n var inverseMatrix = new Matrix();\n inverseMatrix.props[0] = a;\n inverseMatrix.props[1] = b;\n inverseMatrix.props[4] = c;\n inverseMatrix.props[5] = d;\n inverseMatrix.props[12] = e;\n inverseMatrix.props[13] = f;\n return inverseMatrix;\n }\n\n function inversePoint(pt) {\n var inverseMatrix = this.getInverseMatrix();\n return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n }\n\n function inversePoints(pts) {\n var i;\n var len = pts.length;\n var retPts = [];\n\n for (i = 0; i < len; i += 1) {\n retPts[i] = inversePoint(pts[i]);\n }\n\n return retPts;\n }\n\n function applyToTriplePoints(pt1, pt2, pt3) {\n var arr = createTypedArray('float32', 6);\n\n if (this.isIdentity()) {\n arr[0] = pt1[0];\n arr[1] = pt1[1];\n arr[2] = pt2[0];\n arr[3] = pt2[1];\n arr[4] = pt3[0];\n arr[5] = pt3[1];\n } else {\n var p0 = this.props[0];\n var p1 = this.props[1];\n var p4 = this.props[4];\n var p5 = this.props[5];\n var p12 = this.props[12];\n var p13 = this.props[13];\n arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n }\n\n return arr;\n }\n\n function applyToPointArray(x, y, z) {\n var arr;\n\n if (this.isIdentity()) {\n arr = [x, y, z];\n } else {\n arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12], x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13], x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];\n }\n\n return arr;\n }\n\n function applyToPointStringified(x, y) {\n if (this.isIdentity()) {\n return x + ',' + y;\n }\n\n var _p = this.props;\n return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + ',' + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n }\n\n function toCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var i = 0;\n var props = this.props;\n var cssValue = 'matrix3d(';\n var v = 10000;\n\n while (i < 16) {\n cssValue += _rnd(props[i] * v) / v;\n cssValue += i === 15 ? ')' : ',';\n i += 1;\n }\n\n return cssValue;\n }\n\n function roundMatrixProperty(val) {\n var v = 10000;\n\n if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n return _rnd(val * v) / v;\n }\n\n return val;\n }\n\n function to2dCSS() {\n // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n /* if(this.isIdentity()) {\r\n return '';\r\n } */\n var props = this.props;\n\n var _a = roundMatrixProperty(props[0]);\n\n var _b = roundMatrixProperty(props[1]);\n\n var _c = roundMatrixProperty(props[4]);\n\n var _d = roundMatrixProperty(props[5]);\n\n var _e = roundMatrixProperty(props[12]);\n\n var _f = roundMatrixProperty(props[13]);\n\n return 'matrix(' + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ')';\n }\n\n return function () {\n this.reset = reset;\n this.rotate = rotate;\n this.rotateX = rotateX;\n this.rotateY = rotateY;\n this.rotateZ = rotateZ;\n this.skew = skew;\n this.skewFromAxis = skewFromAxis;\n this.shear = shear;\n this.scale = scale;\n this.setTransform = setTransform;\n this.translate = translate;\n this.transform = transform;\n this.multiply = multiply;\n this.applyToPoint = applyToPoint;\n this.applyToX = applyToX;\n this.applyToY = applyToY;\n this.applyToZ = applyToZ;\n this.applyToPointArray = applyToPointArray;\n this.applyToTriplePoints = applyToTriplePoints;\n this.applyToPointStringified = applyToPointStringified;\n this.toCSS = toCSS;\n this.to2dCSS = to2dCSS;\n this.clone = clone;\n this.cloneFromProps = cloneFromProps;\n this.equals = equals;\n this.inversePoints = inversePoints;\n this.inversePoint = inversePoint;\n this.getInverseMatrix = getInverseMatrix;\n this._t = this.transform;\n this.isIdentity = isIdentity;\n this._identity = true;\n this._identityCalculated = false;\n this.props = createTypedArray('float32', 16);\n this.reset();\n };\n }();\n\n function _typeof$3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$3 = function _typeof(obj) { return typeof obj; }; } else { _typeof$3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$3(obj); }\n var lottie = {};\n var standalone = '__[STANDALONE]__';\n var animationData = '__[ANIMATIONDATA]__';\n var renderer = '';\n\n function setLocation(href) {\n setLocationHref(href);\n }\n\n function searchAnimations() {\n if (standalone === true) {\n animationManager.searchAnimations(animationData, standalone, renderer);\n } else {\n animationManager.searchAnimations();\n }\n }\n\n function setSubframeRendering(flag) {\n setSubframeEnabled(flag);\n }\n\n function setPrefix(prefix) {\n setIdPrefix(prefix);\n }\n\n function loadAnimation(params) {\n if (standalone === true) {\n params.animationData = JSON.parse(animationData);\n }\n\n return animationManager.loadAnimation(params);\n }\n\n function setQuality(value) {\n if (typeof value === 'string') {\n switch (value) {\n case 'high':\n setDefaultCurveSegments(200);\n break;\n\n default:\n case 'medium':\n setDefaultCurveSegments(50);\n break;\n\n case 'low':\n setDefaultCurveSegments(10);\n break;\n }\n } else if (!isNaN(value) && value > 1) {\n setDefaultCurveSegments(value);\n }\n\n if (getDefaultCurveSegments() >= 50) {\n roundValues(false);\n } else {\n roundValues(true);\n }\n }\n\n function inBrowser() {\n return typeof navigator !== 'undefined';\n }\n\n function installPlugin(type, plugin) {\n if (type === 'expressions') {\n setExpressionsPlugin(plugin);\n }\n }\n\n function getFactory(name) {\n switch (name) {\n case 'propertyFactory':\n return PropertyFactory;\n\n case 'shapePropertyFactory':\n return ShapePropertyFactory;\n\n case 'matrix':\n return Matrix;\n\n default:\n return null;\n }\n }\n\n lottie.play = animationManager.play;\n lottie.pause = animationManager.pause;\n lottie.setLocationHref = setLocation;\n lottie.togglePause = animationManager.togglePause;\n lottie.setSpeed = animationManager.setSpeed;\n lottie.setDirection = animationManager.setDirection;\n lottie.stop = animationManager.stop;\n lottie.searchAnimations = searchAnimations;\n lottie.registerAnimation = animationManager.registerAnimation;\n lottie.loadAnimation = loadAnimation;\n lottie.setSubframeRendering = setSubframeRendering;\n lottie.resize = animationManager.resize; // lottie.start = start;\n\n lottie.goToAndStop = animationManager.goToAndStop;\n lottie.destroy = animationManager.destroy;\n lottie.setQuality = setQuality;\n lottie.inBrowser = inBrowser;\n lottie.installPlugin = installPlugin;\n lottie.freeze = animationManager.freeze;\n lottie.unfreeze = animationManager.unfreeze;\n lottie.setVolume = animationManager.setVolume;\n lottie.mute = animationManager.mute;\n lottie.unmute = animationManager.unmute;\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n lottie.useWebWorker = setWebWorker;\n lottie.setIDPrefix = setPrefix;\n lottie.__getFactory = getFactory;\n lottie.version = '5.12.2';\n\n function checkReady() {\n if (document.readyState === 'complete') {\n clearInterval(readyStateCheckInterval);\n searchAnimations();\n }\n }\n\n function getQueryVariable(variable) {\n var vars = queryString.split('&');\n\n for (var i = 0; i < vars.length; i += 1) {\n var pair = vars[i].split('=');\n\n if (decodeURIComponent(pair[0]) == variable) {\n // eslint-disable-line eqeqeq\n return decodeURIComponent(pair[1]);\n }\n }\n\n return null;\n }\n\n var queryString = '';\n\n if (standalone) {\n var scripts = document.getElementsByTagName('script');\n var index = scripts.length - 1;\n var myScript = scripts[index] || {\n src: ''\n };\n queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, '') : ''; // eslint-disable-line no-useless-escape\n\n renderer = getQueryVariable('renderer');\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100); // this adds bodymovin to the window object for backwards compatibility\n\n try {\n if (!((typeof exports === \"undefined\" ? \"undefined\" : _typeof$3(exports)) === 'object' && typeof module !== 'undefined') && !(typeof define === 'function' && define.amd) // eslint-disable-line no-undef\n ) {\n window.bodymovin = lottie;\n }\n } catch (err) {//\n }\n\n var ShapeModifiers = function () {\n var ob = {};\n var modifiers = {};\n ob.registerModifier = registerModifier;\n ob.getModifier = getModifier;\n\n function registerModifier(nm, factory) {\n if (!modifiers[nm]) {\n modifiers[nm] = factory;\n }\n }\n\n function getModifier(nm, elem, data) {\n return new modifiers[nm](elem, data);\n }\n\n return ob;\n }();\n\n function ShapeModifier() {}\n\n ShapeModifier.prototype.initModifierProperties = function () {};\n\n ShapeModifier.prototype.addShapeToModifier = function () {};\n\n ShapeModifier.prototype.addShape = function (data) {\n if (!this.closed) {\n // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n data.sh.container.addDynamicProperty(data.sh);\n var shapeData = {\n shape: data.sh,\n data: data,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(shapeData);\n this.addShapeToModifier(shapeData);\n\n if (this._isAnimated) {\n data.setAsAnimated();\n }\n }\n };\n\n ShapeModifier.prototype.init = function (elem, data) {\n this.shapes = [];\n this.elem = elem;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, data);\n this.frameId = initialDefaultFrame;\n this.closed = false;\n this.k = false;\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n ShapeModifier.prototype.processKeys = function () {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n extendPrototype([DynamicPropertyContainer], ShapeModifier);\n\n function TrimModifier() {}\n\n extendPrototype([ShapeModifier], TrimModifier);\n\n TrimModifier.prototype.initModifierProperties = function (elem, data) {\n this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);\n this.sValue = 0;\n this.eValue = 0;\n this.getValue = this.processKeys;\n this.m = data.m;\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n };\n\n TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n shapeData.pathsData = [];\n };\n\n TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n var segments = [];\n\n if (e <= 1) {\n segments.push({\n s: s,\n e: e\n });\n } else if (s >= 1) {\n segments.push({\n s: s - 1,\n e: e - 1\n });\n } else {\n segments.push({\n s: s,\n e: 1\n });\n segments.push({\n s: 0,\n e: e - 1\n });\n }\n\n var shapeSegments = [];\n var i;\n var len = segments.length;\n var segmentOb;\n\n for (i = 0; i < len; i += 1) {\n segmentOb = segments[i];\n\n if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n var shapeS;\n var shapeE;\n\n if (segmentOb.s * totalModifierLength <= addedLength) {\n shapeS = 0;\n } else {\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n }\n\n if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n shapeE = 1;\n } else {\n shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n }\n\n shapeSegments.push([shapeS, shapeE]);\n }\n }\n\n if (!shapeSegments.length) {\n shapeSegments.push([0, 0]);\n }\n\n return shapeSegments;\n };\n\n TrimModifier.prototype.releasePathsData = function (pathsData) {\n var i;\n var len = pathsData.length;\n\n for (i = 0; i < len; i += 1) {\n segmentsLengthPool.release(pathsData[i]);\n }\n\n pathsData.length = 0;\n return pathsData;\n };\n\n TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n var s;\n var e;\n\n if (this._mdf || _isFirstFrame) {\n var o = this.o.v % 360 / 360;\n\n if (o < 0) {\n o += 1;\n }\n\n if (this.s.v > 1) {\n s = 1 + o;\n } else if (this.s.v < 0) {\n s = 0 + o;\n } else {\n s = this.s.v + o;\n }\n\n if (this.e.v > 1) {\n e = 1 + o;\n } else if (this.e.v < 0) {\n e = 0 + o;\n } else {\n e = this.e.v + o;\n }\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n s = Math.round(s * 10000) * 0.0001;\n e = Math.round(e * 10000) * 0.0001;\n this.sValue = s;\n this.eValue = e;\n } else {\n s = this.sValue;\n e = this.eValue;\n }\n\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var pathsData;\n var pathData;\n var totalShapeLength;\n var totalModifierLength = 0;\n\n if (e === s) {\n for (i = 0; i < len; i += 1) {\n this.shapes[i].localShapeCollection.releaseShapes();\n this.shapes[i].shape._mdf = true;\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\n\n if (this._mdf) {\n this.shapes[i].pathsData.length = 0;\n }\n }\n } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n var segments = [];\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\n shapeData.shape.paths = shapeData.localShapeCollection;\n } else {\n shapePaths = shapeData.shape.paths;\n jLen = shapePaths._length;\n totalShapeLength = 0;\n\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n totalShapeLength = shapeData.totalShapeLength;\n } else {\n pathsData = this.releasePathsData(shapeData.pathsData);\n\n for (j = 0; j < jLen; j += 1) {\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n pathsData.push(pathData);\n totalShapeLength += pathData.totalLength;\n }\n\n shapeData.totalShapeLength = totalShapeLength;\n shapeData.pathsData = pathsData;\n }\n\n totalModifierLength += totalShapeLength;\n shapeData.shape._mdf = true;\n }\n }\n\n var shapeS = s;\n var shapeE = e;\n var addedLength = 0;\n var edges;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shapeData = this.shapes[i];\n\n if (shapeData.shape._mdf) {\n localShapeCollection = shapeData.localShapeCollection;\n localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n if (this.m === 2 && len > 1) {\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n addedLength += shapeData.totalShapeLength;\n } else {\n edges = [[shapeS, shapeE]];\n }\n\n jLen = edges.length;\n\n for (j = 0; j < jLen; j += 1) {\n shapeS = edges[j][0];\n shapeE = edges[j][1];\n segments.length = 0;\n\n if (shapeE <= 1) {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength * shapeE\n });\n } else if (shapeS >= 1) {\n segments.push({\n s: shapeData.totalShapeLength * (shapeS - 1),\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n } else {\n segments.push({\n s: shapeData.totalShapeLength * shapeS,\n e: shapeData.totalShapeLength\n });\n segments.push({\n s: 0,\n e: shapeData.totalShapeLength * (shapeE - 1)\n });\n }\n\n var newShapesData = this.addShapes(shapeData, segments[0]);\n\n if (segments[0].s !== segments[0].e) {\n if (segments.length > 1) {\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n if (lastShapeInCollection.c) {\n var lastShape = newShapesData.pop();\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n } else {\n this.addPaths(newShapesData, localShapeCollection);\n newShapesData = this.addShapes(shapeData, segments[1]);\n }\n }\n\n this.addPaths(newShapesData, localShapeCollection);\n }\n }\n\n shapeData.shape.paths = localShapeCollection;\n }\n }\n } else if (this._mdf) {\n for (i = 0; i < len; i += 1) {\n // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n // Don't remove this even if it's losing cached info.\n this.shapes[i].pathsData.length = 0;\n this.shapes[i].shape._mdf = true;\n }\n }\n };\n\n TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n var i;\n var len = newPaths.length;\n\n for (i = 0; i < len; i += 1) {\n localShapeCollection.addShape(newPaths[i]);\n }\n };\n\n TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\n }\n\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n shapePath.setXYAt(points[1], points[5], 'o', pos);\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\n\n if (newShape) {\n shapePath.setXYAt(points[0], points[4], 'v', pos);\n }\n\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\n };\n\n TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n var pathsData = shapeData.pathsData;\n var shapePaths = shapeData.shape.paths.shapes;\n var i;\n var len = shapeData.shape.paths._length;\n var j;\n var jLen;\n var addedLength = 0;\n var currentLengthData;\n var segmentCount;\n var lengths;\n var segment;\n var shapes = [];\n var initPos;\n var newShape = true;\n\n if (!shapePath) {\n shapePath = shapePool.newElement();\n segmentCount = 0;\n initPos = 0;\n } else {\n segmentCount = shapePath._length;\n initPos = shapePath._length;\n }\n\n shapes.push(shapePath);\n\n for (i = 0; i < len; i += 1) {\n lengths = pathsData[i].lengths;\n shapePath.c = shapePaths[i].c;\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n for (j = 1; j < jLen; j += 1) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n addedLength += currentLengthData.addedLength;\n shapePath.c = false;\n } else if (addedLength > shapeSegment.e) {\n shapePath.c = false;\n break;\n } else {\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n }\n\n if (shapePaths[i].c && lengths.length) {\n currentLengthData = lengths[j - 1];\n\n if (addedLength <= shapeSegment.e) {\n var segmentLength = lengths[j - 1].addedLength;\n\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n newShape = false;\n } else {\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n newShape = false;\n shapePath.c = false;\n }\n } else {\n shapePath.c = false;\n }\n\n addedLength += currentLengthData.addedLength;\n segmentCount += 1;\n }\n\n if (shapePath._length) {\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], 'o', shapePath._length - 1);\n }\n\n if (addedLength > shapeSegment.e) {\n break;\n }\n\n if (i < len - 1) {\n shapePath = shapePool.newElement();\n newShape = true;\n shapes.push(shapePath);\n segmentCount = 0;\n }\n }\n\n return shapes;\n };\n\n function PuckerAndBloatModifier() {}\n\n extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this._isAnimated = !!this.amount.effectsSequence.length;\n };\n\n PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n var percent = amount / 100;\n var centerPoint = [0, 0];\n var pathLength = path._length;\n var i = 0;\n\n for (i = 0; i < pathLength; i += 1) {\n centerPoint[0] += path.v[i][0];\n centerPoint[1] += path.v[i][1];\n }\n\n centerPoint[0] /= pathLength;\n centerPoint[1] /= pathLength;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < pathLength; i += 1) {\n vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n }\n\n return clonedPath;\n };\n\n PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n var TransformPropertyFactory = function () {\n var defaultVector = [0, 0];\n\n function applyToMatrix(mat) {\n var _mdf = this._mdf;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || _mdf;\n\n if (this.a) {\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.s) {\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk) {\n mat.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r) {\n mat.rotate(-this.r.v);\n } else {\n mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.data.p.s) {\n if (this.data.p.z) {\n mat.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n mat.translate(this.px.v, this.py.v, 0);\n }\n } else {\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n function processKeys(forceRender) {\n if (this.elem.globalData.frameId === this.frameId) {\n return;\n }\n\n if (this._isDirty) {\n this.precalculateMatrix();\n this._isDirty = false;\n }\n\n this.iterateDynamicProperties();\n\n if (this._mdf || forceRender) {\n var frameRate;\n this.v.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n }\n\n if (this.appliedTransformations < 2) {\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n this.v.rotate(-this.r.v);\n } else if (!this.r && this.appliedTransformations < 4) {\n this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n }\n\n if (this.autoOriented) {\n var v1;\n var v2;\n frameRate = this.elem.globalData.frameRate;\n\n if (this.p && this.p.keyframes && this.p.getValueAtTime) {\n if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate, 0);\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\n } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\n v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n } else {\n v1 = this.p.pv;\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\n }\n } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v1 = [];\n v2 = [];\n var px = this.px;\n var py = this.py;\n\n if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n } else {\n v1 = [px.pv, py.pv];\n v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n }\n } else {\n v2 = defaultVector;\n v1 = v2;\n }\n\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n }\n\n if (this.data.p && this.data.p.s) {\n if (this.data.p.z) {\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\n } else {\n this.v.translate(this.px.v, this.py.v, 0);\n }\n } else {\n this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n\n function precalculateMatrix() {\n this.appliedTransformations = 0;\n this.pre.reset();\n\n if (!this.a.effectsSequence.length) {\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\n this.appliedTransformations = 1;\n } else {\n return;\n }\n\n if (!this.s.effectsSequence.length) {\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\n this.appliedTransformations = 2;\n } else {\n return;\n }\n\n if (this.sk) {\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\n this.appliedTransformations = 3;\n } else {\n return;\n }\n }\n\n if (this.r) {\n if (!this.r.effectsSequence.length) {\n this.pre.rotate(-this.r.v);\n this.appliedTransformations = 4;\n }\n } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\n this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);\n this.appliedTransformations = 4;\n }\n }\n\n function autoOrient() {//\n // var prevP = this.getValueAtTime();\n }\n\n function addDynamicProperty(prop) {\n this._addDynamicProperty(prop);\n\n this.elem.addDynamicProperty(prop);\n this._isDirty = true;\n }\n\n function TransformProperty(elem, data, container) {\n this.elem = elem;\n this.frameId = -1;\n this.propType = 'transform';\n this.data = data;\n this.v = new Matrix(); // Precalculated matrix with non animated properties\n\n this.pre = new Matrix();\n this.appliedTransformations = 0;\n this.initDynamicPropertyContainer(container || elem);\n\n if (data.p && data.p.s) {\n this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);\n this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);\n\n if (data.p.z) {\n this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);\n }\n } else {\n this.p = PropertyFactory.getProp(elem, data.p || {\n k: [0, 0, 0]\n }, 1, 0, this);\n }\n\n if (data.rx) {\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\n\n if (data.or.k[0].ti) {\n var i;\n var len = data.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.or.k[i].to = null;\n data.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this); // sh Indicates it needs to be capped between -180 and 180\n\n this.or.sh = true;\n } else {\n this.r = PropertyFactory.getProp(elem, data.r || {\n k: 0\n }, 0, degToRads, this);\n }\n\n if (data.sk) {\n this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);\n this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);\n }\n\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: [0, 0, 0]\n }, 1, 0, this);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n if (data.o) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n } else {\n this.o = {\n _mdf: false,\n v: 1\n };\n }\n\n this._isDirty = true;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n }\n\n TransformProperty.prototype = {\n applyToMatrix: applyToMatrix,\n getValue: processKeys,\n precalculateMatrix: precalculateMatrix,\n autoOrient: autoOrient\n };\n extendPrototype([DynamicPropertyContainer], TransformProperty);\n TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n function getTransformProperty(elem, data, container) {\n return new TransformProperty(elem, data, container);\n }\n\n return {\n getTransformProperty: getTransformProperty\n };\n }();\n\n function RepeaterModifier() {}\n\n extendPrototype([ShapeModifier], RepeaterModifier);\n\n RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);\n this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);\n this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);\n this.so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this);\n this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this);\n this.data = data;\n\n if (!this.dynamicProperties.length) {\n this.getValue(true);\n }\n\n this._isAnimated = !!this.dynamicProperties.length;\n this.pMatrix = new Matrix();\n this.rMatrix = new Matrix();\n this.sMatrix = new Matrix();\n this.tMatrix = new Matrix();\n this.matrix = new Matrix();\n };\n\n RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n var dir = inv ? -1 : 1;\n var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n rMatrix.rotate(-transform.r.v * dir * perc);\n rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n };\n\n RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n this.elem = elem;\n this.arr = arr;\n this.pos = pos;\n this.elemsData = elemsData;\n this._currentCopies = 0;\n this._elements = [];\n this._groups = [];\n this.frameId = -1;\n this.initDynamicPropertyContainer(elem);\n this.initModifierProperties(elem, arr[pos]);\n\n while (pos > 0) {\n pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n this._elements.unshift(arr[pos]);\n }\n\n if (this.dynamicProperties.length) {\n this.k = true;\n } else {\n this.getValue(true);\n }\n };\n\n RepeaterModifier.prototype.resetElements = function (elements) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._processed = false;\n\n if (elements[i].ty === 'gr') {\n this.resetElements(elements[i].it);\n }\n }\n };\n\n RepeaterModifier.prototype.cloneElements = function (elements) {\n var newElements = JSON.parse(JSON.stringify(elements));\n this.resetElements(newElements);\n return newElements;\n };\n\n RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n var i;\n var len = elements.length;\n\n for (i = 0; i < len; i += 1) {\n elements[i]._render = renderFlag;\n\n if (elements[i].ty === 'gr') {\n this.changeGroupRender(elements[i].it, renderFlag);\n }\n }\n };\n\n RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n var items;\n var itemsTransform;\n var i;\n var dir;\n var cont;\n var hasReloaded = false;\n\n if (this._mdf || _isFirstFrame) {\n var copies = Math.ceil(this.c.v);\n\n if (this._groups.length < copies) {\n while (this._groups.length < copies) {\n var group = {\n it: this.cloneElements(this._elements),\n ty: 'gr'\n };\n group.it.push({\n a: {\n a: 0,\n ix: 1,\n k: [0, 0]\n },\n nm: 'Transform',\n o: {\n a: 0,\n ix: 7,\n k: 100\n },\n p: {\n a: 0,\n ix: 2,\n k: [0, 0]\n },\n r: {\n a: 1,\n ix: 6,\n k: [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n s: {\n a: 0,\n ix: 3,\n k: [100, 100]\n },\n sa: {\n a: 0,\n ix: 5,\n k: 0\n },\n sk: {\n a: 0,\n ix: 4,\n k: 0\n },\n ty: 'tr'\n });\n this.arr.splice(0, 0, group);\n\n this._groups.splice(0, 0, group);\n\n this._currentCopies += 1;\n }\n\n this.elem.reloadShapes();\n hasReloaded = true;\n }\n\n cont = 0;\n var renderFlag;\n\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n renderFlag = cont < copies;\n this._groups[i]._render = renderFlag;\n this.changeGroupRender(this._groups[i].it, renderFlag);\n\n if (!renderFlag) {\n var elems = this.elemsData[i].it;\n var transformData = elems[elems.length - 1];\n\n if (transformData.transform.op.v !== 0) {\n transformData.transform.op._mdf = true;\n transformData.transform.op.v = 0;\n } else {\n transformData.transform.op._mdf = false;\n }\n }\n\n cont += 1;\n }\n\n this._currentCopies = copies; /// /\n\n var offset = this.o.v;\n var offsetModulo = offset % 1;\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n var pProps = this.pMatrix.props;\n var rProps = this.rMatrix.props;\n var sProps = this.sMatrix.props;\n this.pMatrix.reset();\n this.rMatrix.reset();\n this.sMatrix.reset();\n this.tMatrix.reset();\n this.matrix.reset();\n var iteration = 0;\n\n if (offset > 0) {\n while (iteration < roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n iteration += 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);\n iteration += offsetModulo;\n }\n } else if (offset < 0) {\n while (iteration > roundOffset) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\n iteration -= 1;\n }\n\n if (offsetModulo) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);\n iteration -= offsetModulo;\n }\n }\n\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\n dir = this.data.m === 1 ? 1 : -1;\n cont = this._currentCopies;\n var j;\n var jLen;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n jLen = itemsTransform.length;\n items[items.length - 1].transform.mProps._mdf = true;\n items[items.length - 1].transform.op._mdf = true;\n items[items.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\n\n if (iteration !== 0) {\n if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\n }\n\n this.matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n this.matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n this.matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n\n this.matrix.reset();\n } else {\n this.matrix.reset();\n\n for (j = 0; j < jLen; j += 1) {\n itemsTransform[j] = this.matrix.props[j];\n }\n }\n\n iteration += 1;\n cont -= 1;\n i += dir;\n }\n } else {\n cont = this._currentCopies;\n i = 0;\n dir = 1;\n\n while (cont) {\n items = this.elemsData[i].it;\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\n items[items.length - 1].transform.mProps._mdf = false;\n items[items.length - 1].transform.op._mdf = false;\n cont -= 1;\n i += dir;\n }\n }\n\n return hasReloaded;\n };\n\n RepeaterModifier.prototype.addShape = function () {};\n\n function RoundCornersModifier() {}\n\n extendPrototype([ShapeModifier], RoundCornersModifier);\n\n RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this._isAnimated = !!this.rd.effectsSequence.length;\n };\n\n RoundCornersModifier.prototype.processPath = function (path, round) {\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n var i;\n var len = path._length;\n var currentV;\n var currentI;\n var currentO;\n var closerV;\n var distance;\n var newPosPerc;\n var index = 0;\n var vX;\n var vY;\n var oX;\n var oY;\n var iX;\n var iY;\n\n for (i = 0; i < len; i += 1) {\n currentV = path.v[i];\n currentO = path.o[i];\n currentI = path.i[i];\n\n if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n if ((i === 0 || i === len - 1) && !path.c) {\n clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n /* clonedPath.v[index] = currentV;\r\n clonedPath.o[index] = currentO;\r\n clonedPath.i[index] = currentI; */\n\n index += 1;\n } else {\n if (i === 0) {\n closerV = path.v[len - 1];\n } else {\n closerV = path.v[i - 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = iX;\n iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n vY = iY;\n oX = vX - (vX - currentV[0]) * roundCorner;\n oY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n\n if (i === len - 1) {\n closerV = path.v[0];\n } else {\n closerV = path.v[i + 1];\n }\n\n distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n vX = oX;\n oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n vY = oY;\n iX = vX - (vX - currentV[0]) * roundCorner;\n iY = vY - (vY - currentV[1]) * roundCorner;\n clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n index += 1;\n }\n } else {\n clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n index += 1;\n }\n }\n\n return clonedPath;\n };\n\n RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var rd = this.rd.v;\n\n if (rd !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function floatEqual(a, b) {\n return Math.abs(a - b) * 100000 <= Math.min(Math.abs(a), Math.abs(b));\n }\n\n function floatZero(f) {\n return Math.abs(f) <= 0.00001;\n }\n\n function lerp(p0, p1, amount) {\n return p0 * (1 - amount) + p1 * amount;\n }\n\n function lerpPoint(p0, p1, amount) {\n return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)];\n }\n\n function quadRoots(a, b, c) {\n // no root\n if (a === 0) return [];\n var s = b * b - 4 * a * c; // Complex roots\n\n if (s < 0) return [];\n var singleRoot = -b / (2 * a); // 1 root\n\n if (s === 0) return [singleRoot];\n var delta = Math.sqrt(s) / (2 * a); // 2 roots\n\n return [singleRoot - delta, singleRoot + delta];\n }\n\n function polynomialCoefficients(p0, p1, p2, p3) {\n return [-p0 + 3 * p1 - 3 * p2 + p3, 3 * p0 - 6 * p1 + 3 * p2, -3 * p0 + 3 * p1, p0];\n }\n\n function singlePoint(p) {\n return new PolynomialBezier(p, p, p, p, false);\n }\n\n function PolynomialBezier(p0, p1, p2, p3, linearize) {\n if (linearize && pointEqual(p0, p1)) {\n p1 = lerpPoint(p0, p3, 1 / 3);\n }\n\n if (linearize && pointEqual(p2, p3)) {\n p2 = lerpPoint(p0, p3, 2 / 3);\n }\n\n var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]);\n var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]);\n this.a = [coeffx[0], coeffy[0]];\n this.b = [coeffx[1], coeffy[1]];\n this.c = [coeffx[2], coeffy[2]];\n this.d = [coeffx[3], coeffy[3]];\n this.points = [p0, p1, p2, p3];\n }\n\n PolynomialBezier.prototype.point = function (t) {\n return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];\n };\n\n PolynomialBezier.prototype.derivative = function (t) {\n return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];\n };\n\n PolynomialBezier.prototype.tangentAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[1], p[0]);\n };\n\n PolynomialBezier.prototype.normalAngle = function (t) {\n var p = this.derivative(t);\n return Math.atan2(p[0], p[1]);\n };\n\n PolynomialBezier.prototype.inflectionPoints = function () {\n var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n if (floatZero(denom)) return [];\n var tcusp = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom;\n var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom;\n if (square < 0) return [];\n var root = Math.sqrt(square);\n\n if (floatZero(root)) {\n if (root > 0 && root < 1) return [tcusp];\n return [];\n }\n\n return [tcusp - root, tcusp + root].filter(function (r) {\n return r > 0 && r < 1;\n });\n };\n\n PolynomialBezier.prototype.split = function (t) {\n if (t <= 0) return [singlePoint(this.points[0]), this];\n if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])];\n var p10 = lerpPoint(this.points[0], this.points[1], t);\n var p11 = lerpPoint(this.points[1], this.points[2], t);\n var p12 = lerpPoint(this.points[2], this.points[3], t);\n var p20 = lerpPoint(p10, p11, t);\n var p21 = lerpPoint(p11, p12, t);\n var p3 = lerpPoint(p20, p21, t);\n return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)];\n };\n\n function extrema(bez, comp) {\n var min = bez.points[0][comp];\n var max = bez.points[bez.points.length - 1][comp];\n\n if (min > max) {\n var e = max;\n max = min;\n min = e;\n } // Derivative roots to find min/max\n\n\n var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]);\n\n for (var i = 0; i < f.length; i += 1) {\n if (f[i] > 0 && f[i] < 1) {\n var val = bez.point(f[i])[comp];\n if (val < min) min = val;else if (val > max) max = val;\n }\n }\n\n return {\n min: min,\n max: max\n };\n }\n\n PolynomialBezier.prototype.bounds = function () {\n return {\n x: extrema(this, 0),\n y: extrema(this, 1)\n };\n };\n\n PolynomialBezier.prototype.boundingBox = function () {\n var bounds = this.bounds();\n return {\n left: bounds.x.min,\n right: bounds.x.max,\n top: bounds.y.min,\n bottom: bounds.y.max,\n width: bounds.x.max - bounds.x.min,\n height: bounds.y.max - bounds.y.min,\n cx: (bounds.x.max + bounds.x.min) / 2,\n cy: (bounds.y.max + bounds.y.min) / 2\n };\n };\n\n function intersectData(bez, t1, t2) {\n var box = bez.boundingBox();\n return {\n cx: box.cx,\n cy: box.cy,\n width: box.width,\n height: box.height,\n bez: bez,\n t: (t1 + t2) / 2,\n t1: t1,\n t2: t2\n };\n }\n\n function splitData(data) {\n var split = data.bez.split(0.5);\n return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)];\n }\n\n function boxIntersect(b1, b2) {\n return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height;\n }\n\n function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) {\n if (!boxIntersect(d1, d2)) return;\n\n if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) {\n intersections.push([d1.t, d2.t]);\n return;\n }\n\n var d1s = splitData(d1);\n var d2s = splitData(d2);\n intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion);\n intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion);\n }\n\n PolynomialBezier.prototype.intersections = function (other, tolerance, maxRecursion) {\n if (tolerance === undefined) tolerance = 2;\n if (maxRecursion === undefined) maxRecursion = 7;\n var intersections = [];\n intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion);\n return intersections;\n };\n\n PolynomialBezier.shapeSegment = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true);\n };\n\n PolynomialBezier.shapeSegmentInverted = function (shapePath, index) {\n var nextIndex = (index + 1) % shapePath.length();\n return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true);\n };\n\n function crossProduct(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n }\n\n function lineIntersection(start1, end1, start2, end2) {\n var v1 = [start1[0], start1[1], 1];\n var v2 = [end1[0], end1[1], 1];\n var v3 = [start2[0], start2[1], 1];\n var v4 = [end2[0], end2[1], 1];\n var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4));\n if (floatZero(r[2])) return null;\n return [r[0] / r[2], r[1] / r[2]];\n }\n\n function polarOffset(p, angle, length) {\n return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length];\n }\n\n function pointDistance(p1, p2) {\n return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]);\n }\n\n function pointEqual(p1, p2) {\n return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]);\n }\n\n function ZigZagModifier() {}\n\n extendPrototype([ShapeModifier], ZigZagModifier);\n\n ZigZagModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this);\n this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this);\n this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this);\n this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;\n };\n\n function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) {\n var angO = angle - Math.PI / 2;\n var angI = angle + Math.PI / 2;\n var px = point[0] + Math.cos(angle) * direction * amplitude;\n var py = point[1] - Math.sin(angle) * direction * amplitude;\n outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length());\n }\n\n function getPerpendicularVector(pt1, pt2) {\n var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]];\n var rot = -Math.PI * 0.5;\n var rotatedVector = [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]];\n return rotatedVector;\n }\n\n function getProjectingAngle(path, cur) {\n var prevIndex = cur === 0 ? path.length() - 1 : cur - 1;\n var nextIndex = (cur + 1) % path.length();\n var prevPoint = path.v[prevIndex];\n var nextPoint = path.v[nextIndex];\n var pVector = getPerpendicularVector(prevPoint, nextPoint);\n return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]);\n }\n\n function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) {\n var angle = getProjectingAngle(path, cur);\n var point = path.v[cur % path._length];\n var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1];\n var nextPoint = path.v[(cur + 1) % path._length];\n var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0;\n var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0;\n setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType);\n }\n\n function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) {\n for (var i = 0; i < frequency; i += 1) {\n var t = (i + 1) / (frequency + 1);\n var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0;\n var angle = segment.normalAngle(t);\n var point = segment.point(t);\n setPoint(outputBezier, point, angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType);\n direction = -direction;\n }\n\n return direction;\n }\n\n ZigZagModifier.prototype.processPath = function (path, amplitude, frequency, pointType) {\n var count = path._length;\n var clonedPath = shapePool.newElement();\n clonedPath.c = path.c;\n\n if (!path.c) {\n count -= 1;\n }\n\n if (count === 0) return clonedPath;\n var direction = -1;\n var segment = PolynomialBezier.shapeSegment(path, 0);\n zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction);\n\n for (var i = 0; i < count; i += 1) {\n direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction);\n\n if (i === count - 1 && !path.c) {\n segment = null;\n } else {\n segment = PolynomialBezier.shapeSegment(path, (i + 1) % count);\n }\n\n zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction);\n }\n\n return clonedPath;\n };\n\n ZigZagModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amplitude = this.amplitude.v;\n var frequency = Math.max(0, Math.round(this.frequency.v));\n var pointType = this.pointsType.v;\n\n if (amplitude !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amplitude, frequency, pointType));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function linearOffset(p1, p2, amount) {\n var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]);\n return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)];\n }\n\n function offsetSegment(segment, amount) {\n var p0;\n var p1a;\n var p1b;\n var p2b;\n var p2a;\n var p3;\n var e;\n e = linearOffset(segment.points[0], segment.points[1], amount);\n p0 = e[0];\n p1a = e[1];\n e = linearOffset(segment.points[1], segment.points[2], amount);\n p1b = e[0];\n p2b = e[1];\n e = linearOffset(segment.points[2], segment.points[3], amount);\n p2a = e[0];\n p3 = e[1];\n var p1 = lineIntersection(p0, p1a, p1b, p2b);\n if (p1 === null) p1 = p1a;\n var p2 = lineIntersection(p2a, p3, p1b, p2b);\n if (p2 === null) p2 = p2a;\n return new PolynomialBezier(p0, p1, p2, p3);\n }\n\n function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) {\n var p0 = seg1.points[3];\n var p1 = seg2.points[0]; // Bevel\n\n if (lineJoin === 3) return p0; // Connected, they don't need a joint\n\n if (pointEqual(p0, p1)) return p0; // Round\n\n if (lineJoin === 2) {\n var angleOut = -seg1.tangentAngle(1);\n var angleIn = -seg2.tangentAngle(0) + Math.PI;\n var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100));\n var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2;\n var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner);\n outputBezier.setXYAt(tan[0], tan[1], 'o', outputBezier.length() - 1);\n tan = polarOffset(p1, angleIn, 2 * radius * roundCorner);\n outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length());\n return p1;\n } // Miter\n\n\n var t0 = pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2];\n var t1 = pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1];\n var intersection = lineIntersection(t0, p0, p1, t1);\n\n if (intersection && pointDistance(intersection, p0) < miterLimit) {\n outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length());\n return intersection;\n }\n\n return p0;\n }\n\n function getIntersection(a, b) {\n var intersect = a.intersections(b);\n if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift();\n if (intersect.length) return intersect[0];\n return null;\n }\n\n function pruneSegmentIntersection(a, b) {\n var outa = a.slice();\n var outb = b.slice();\n var intersect = getIntersection(a[a.length - 1], b[0]);\n\n if (intersect) {\n outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0];\n outb[0] = b[0].split(intersect[1])[1];\n }\n\n if (a.length > 1 && b.length > 1) {\n intersect = getIntersection(a[0], b[b.length - 1]);\n\n if (intersect) {\n return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]];\n }\n }\n\n return [outa, outb];\n }\n\n function pruneIntersections(segments) {\n var e;\n\n for (var i = 1; i < segments.length; i += 1) {\n e = pruneSegmentIntersection(segments[i - 1], segments[i]);\n segments[i - 1] = e[0];\n segments[i] = e[1];\n }\n\n if (segments.length > 1) {\n e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]);\n segments[segments.length - 1] = e[0];\n segments[0] = e[1];\n }\n\n return segments;\n }\n\n function offsetSegmentSplit(segment, amount) {\n /*\r\n We split each bezier segment into smaller pieces based\r\n on inflection points, this ensures the control point\r\n polygon is convex.\r\n (A cubic bezier can have none, one, or two inflection points)\r\n */\n var flex = segment.inflectionPoints();\n var left;\n var right;\n var split;\n var mid;\n\n if (flex.length === 0) {\n return [offsetSegment(segment, amount)];\n }\n\n if (flex.length === 1 || floatEqual(flex[1], 1)) {\n split = segment.split(flex[0]);\n left = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(right, amount)];\n }\n\n split = segment.split(flex[0]);\n left = split[0];\n var t = (flex[1] - flex[0]) / (1 - flex[0]);\n split = split[1].split(t);\n mid = split[0];\n right = split[1];\n return [offsetSegment(left, amount), offsetSegment(mid, amount), offsetSegment(right, amount)];\n }\n\n function OffsetPathModifier() {}\n\n extendPrototype([ShapeModifier], OffsetPathModifier);\n\n OffsetPathModifier.prototype.initModifierProperties = function (elem, data) {\n this.getValue = this.processKeys;\n this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);\n this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this);\n this.lineJoin = data.lj;\n this._isAnimated = this.amount.effectsSequence.length !== 0;\n };\n\n OffsetPathModifier.prototype.processPath = function (inputBezier, amount, lineJoin, miterLimit) {\n var outputBezier = shapePool.newElement();\n outputBezier.c = inputBezier.c;\n var count = inputBezier.length();\n\n if (!inputBezier.c) {\n count -= 1;\n }\n\n var i;\n var j;\n var segment;\n var multiSegments = [];\n\n for (i = 0; i < count; i += 1) {\n segment = PolynomialBezier.shapeSegment(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n\n if (!inputBezier.c) {\n for (i = count - 1; i >= 0; i -= 1) {\n segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i);\n multiSegments.push(offsetSegmentSplit(segment, amount));\n }\n }\n\n multiSegments = pruneIntersections(multiSegments); // Add bezier segments to the output and apply line joints\n\n var lastPoint = null;\n var lastSeg = null;\n\n for (i = 0; i < multiSegments.length; i += 1) {\n var multiSegment = multiSegments[i];\n if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit);\n lastSeg = multiSegment[multiSegment.length - 1];\n\n for (j = 0; j < multiSegment.length; j += 1) {\n segment = multiSegment[j];\n\n if (lastPoint && pointEqual(segment.points[0], lastPoint)) {\n outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], 'o', outputBezier.length() - 1);\n } else {\n outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length());\n }\n\n outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length());\n lastPoint = segment.points[3];\n }\n }\n\n if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit);\n return outputBezier;\n };\n\n OffsetPathModifier.prototype.processShapes = function (_isFirstFrame) {\n var shapePaths;\n var i;\n var len = this.shapes.length;\n var j;\n var jLen;\n var amount = this.amount.v;\n var miterLimit = this.miterLimit.v;\n var lineJoin = this.lineJoin;\n\n if (amount !== 0) {\n var shapeData;\n var localShapeCollection;\n\n for (i = 0; i < len; i += 1) {\n shapeData = this.shapes[i];\n localShapeCollection = shapeData.localShapeCollection;\n\n if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {\n localShapeCollection.releaseShapes();\n shapeData.shape._mdf = true;\n shapePaths = shapeData.shape.paths.shapes;\n jLen = shapeData.shape.paths._length;\n\n for (j = 0; j < jLen; j += 1) {\n localShapeCollection.addShape(this.processPath(shapePaths[j], amount, lineJoin, miterLimit));\n }\n }\n\n shapeData.shape.paths = shapeData.localShapeCollection;\n }\n }\n\n if (!this.dynamicProperties.length) {\n this._mdf = false;\n }\n };\n\n function getFontProperties(fontData) {\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\n var fWeight = 'normal';\n var fStyle = 'normal';\n var len = styles.length;\n var styleName;\n\n for (var i = 0; i < len; i += 1) {\n styleName = styles[i].toLowerCase();\n\n switch (styleName) {\n case 'italic':\n fStyle = 'italic';\n break;\n\n case 'bold':\n fWeight = '700';\n break;\n\n case 'black':\n fWeight = '900';\n break;\n\n case 'medium':\n fWeight = '500';\n break;\n\n case 'regular':\n case 'normal':\n fWeight = '400';\n break;\n\n case 'light':\n case 'thin':\n fWeight = '200';\n break;\n\n default:\n break;\n }\n }\n\n return {\n style: fStyle,\n weight: fontData.fWeight || fWeight\n };\n }\n\n var FontManager = function () {\n var maxWaitingTime = 5000;\n var emptyChar = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n };\n var combinedCharacters = []; // Hindi characters\n\n combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n var BLACK_FLAG_CODE_POINT = 127988;\n var CANCEL_TAG_CODE_POINT = 917631;\n var A_TAG_CODE_POINT = 917601;\n var Z_TAG_CODE_POINT = 917626;\n var VARIATION_SELECTOR_16_CODE_POINT = 65039;\n var ZERO_WIDTH_JOINER_CODE_POINT = 8205;\n var REGIONAL_CHARACTER_A_CODE_POINT = 127462;\n var REGIONAL_CHARACTER_Z_CODE_POINT = 127487;\n var surrogateModifiers = ['d83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff'];\n\n function trimFontOptions(font) {\n var familyArray = font.split(',');\n var i;\n var len = familyArray.length;\n var enabledFamilies = [];\n\n for (i = 0; i < len; i += 1) {\n if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {\n enabledFamilies.push(familyArray[i]);\n }\n }\n\n return enabledFamilies.join(',');\n }\n\n function setUpNode(font, family) {\n var parentNode = createTag('span'); // Node is invisible to screen readers.\n\n parentNode.setAttribute('aria-hidden', true);\n parentNode.style.fontFamily = family;\n var node = createTag('span'); // Characters that vary significantly among different fonts\n\n node.innerText = 'giItT1WQy@!-/#'; // Visible - so we can measure it - but not on the screen\n\n parentNode.style.position = 'absolute';\n parentNode.style.left = '-10000px';\n parentNode.style.top = '-10000px'; // Large font size makes even subtle changes obvious\n\n parentNode.style.fontSize = '300px'; // Reset any font properties\n\n parentNode.style.fontVariant = 'normal';\n parentNode.style.fontStyle = 'normal';\n parentNode.style.fontWeight = 'normal';\n parentNode.style.letterSpacing = '0';\n parentNode.appendChild(node);\n document.body.appendChild(parentNode); // Remember width with no applied web font\n\n var width = node.offsetWidth;\n node.style.fontFamily = trimFontOptions(font) + ', ' + family;\n return {\n node: node,\n w: width,\n parent: parentNode\n };\n }\n\n function checkLoadedFonts() {\n var i;\n var len = this.fonts.length;\n var node;\n var w;\n var loadedCount = len;\n\n for (i = 0; i < len; i += 1) {\n if (this.fonts[i].loaded) {\n loadedCount -= 1;\n } else if (this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0) {\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].monoCase.node;\n w = this.fonts[i].monoCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n } else {\n node = this.fonts[i].sansCase.node;\n w = this.fonts[i].sansCase.w;\n\n if (node.offsetWidth !== w) {\n loadedCount -= 1;\n this.fonts[i].loaded = true;\n }\n }\n\n if (this.fonts[i].loaded) {\n this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);\n this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);\n }\n }\n }\n\n if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) {\n setTimeout(this.checkLoadedFontsBinded, 20);\n } else {\n setTimeout(this.setIsLoadedBinded, 10);\n }\n }\n\n function createHelper(fontData, def) {\n var engine = document.body && def ? 'svg' : 'canvas';\n var helper;\n var fontProps = getFontProperties(fontData);\n\n if (engine === 'svg') {\n var tHelper = createNS('text');\n tHelper.style.fontSize = '100px'; // tHelper.style.fontFamily = fontData.fFamily;\n\n tHelper.setAttribute('font-family', fontData.fFamily);\n tHelper.setAttribute('font-style', fontProps.style);\n tHelper.setAttribute('font-weight', fontProps.weight);\n tHelper.textContent = '1';\n\n if (fontData.fClass) {\n tHelper.style.fontFamily = 'inherit';\n tHelper.setAttribute('class', fontData.fClass);\n } else {\n tHelper.style.fontFamily = fontData.fFamily;\n }\n\n def.appendChild(tHelper);\n helper = tHelper;\n } else {\n var tCanvasHelper = new OffscreenCanvas(500, 500).getContext('2d');\n tCanvasHelper.font = fontProps.style + ' ' + fontProps.weight + ' 100px ' + fontData.fFamily;\n helper = tCanvasHelper;\n }\n\n function measure(text) {\n if (engine === 'svg') {\n helper.textContent = text;\n return helper.getComputedTextLength();\n }\n\n return helper.measureText(text).width;\n }\n\n return {\n measureText: measure\n };\n }\n\n function addFonts(fontData, defs) {\n if (!fontData) {\n this.isLoaded = true;\n return;\n }\n\n if (this.chars) {\n this.isLoaded = true;\n this.fonts = fontData.list;\n return;\n }\n\n if (!document.body) {\n this.isLoaded = true;\n fontData.list.forEach(function (data) {\n data.helper = createHelper(data);\n data.cache = {};\n });\n this.fonts = fontData.list;\n return;\n }\n\n var fontArr = fontData.list;\n var i;\n var len = fontArr.length;\n var _pendingFonts = len;\n\n for (i = 0; i < len; i += 1) {\n var shouldLoadFont = true;\n var loadedSelector;\n var j;\n fontArr[i].loaded = false;\n fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, 'monospace');\n fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, 'sans-serif');\n\n if (!fontArr[i].fPath) {\n fontArr[i].loaded = true;\n _pendingFonts -= 1;\n } else if (fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3) {\n loadedSelector = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + fontArr[i].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + fontArr[i].fFamily + '\"]');\n\n if (loadedSelector.length > 0) {\n shouldLoadFont = false;\n }\n\n if (shouldLoadFont) {\n var s = createTag('style');\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\n s.setAttribute('f-origin', fontArr[i].origin);\n s.setAttribute('f-family', fontArr[i].fFamily);\n s.type = 'text/css';\n s.innerText = '@font-face {font-family: ' + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n defs.appendChild(s);\n }\n } else if (fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1) {\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var l = createTag('link');\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\n l.setAttribute('f-origin', fontArr[i].origin);\n l.type = 'text/css';\n l.rel = 'stylesheet';\n l.href = fontArr[i].fPath;\n document.body.appendChild(l);\n }\n } else if (fontArr[i].fOrigin === 't' || fontArr[i].origin === 2) {\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\n\n for (j = 0; j < loadedSelector.length; j += 1) {\n if (fontArr[i].fPath === loadedSelector[j].src) {\n // Font is already loaded\n shouldLoadFont = false;\n }\n }\n\n if (shouldLoadFont) {\n var sc = createTag('link');\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\n sc.setAttribute('f-origin', fontArr[i].origin);\n sc.setAttribute('rel', 'stylesheet');\n sc.setAttribute('href', fontArr[i].fPath);\n defs.appendChild(sc);\n }\n }\n\n fontArr[i].helper = createHelper(fontArr[i], defs);\n fontArr[i].cache = {};\n this.fonts.push(fontArr[i]);\n }\n\n if (_pendingFonts === 0) {\n this.isLoaded = true;\n } else {\n // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n // Adding this timeout seems to fix it\n setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n }\n\n function addChars(chars) {\n if (!chars) {\n return;\n }\n\n if (!this.chars) {\n this.chars = [];\n }\n\n var i;\n var len = chars.length;\n var j;\n var jLen = this.chars.length;\n var found;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n found = false;\n\n while (j < jLen) {\n if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) {\n found = true;\n }\n\n j += 1;\n }\n\n if (!found) {\n this.chars.push(chars[i]);\n jLen += 1;\n }\n }\n }\n\n function getCharData(_char, style, font) {\n var i = 0;\n var len = this.chars.length;\n\n while (i < len) {\n if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) {\n return this.chars[i];\n }\n\n i += 1;\n }\n\n if ((typeof _char === 'string' && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn // eslint-disable-line no-console\n && !this._warned) {\n this._warned = true;\n console.warn('Missing character from exported characters list: ', _char, style, font); // eslint-disable-line no-console\n }\n\n return emptyChar;\n }\n\n function measureText(_char2, fontName, size) {\n var fontData = this.getFontByName(fontName); // Using the char instead of char.charCodeAt(0)\n // to avoid collisions between equal chars\n\n var index = _char2;\n\n if (!fontData.cache[index]) {\n var tHelper = fontData.helper;\n\n if (_char2 === ' ') {\n var doubleSize = tHelper.measureText('|' + _char2 + '|');\n var singleSize = tHelper.measureText('||');\n fontData.cache[index] = (doubleSize - singleSize) / 100;\n } else {\n fontData.cache[index] = tHelper.measureText(_char2) / 100;\n }\n }\n\n return fontData.cache[index] * size;\n }\n\n function getFontByName(name) {\n var i = 0;\n var len = this.fonts.length;\n\n while (i < len) {\n if (this.fonts[i].fName === name) {\n return this.fonts[i];\n }\n\n i += 1;\n }\n\n return this.fonts[0];\n }\n\n function getCodePoint(string) {\n var codePoint = 0;\n var first = string.charCodeAt(0);\n\n if (first >= 0xD800 && first <= 0xDBFF) {\n var second = string.charCodeAt(1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return codePoint;\n } // Skin tone modifiers\n\n\n function isModifier(firstCharCode, secondCharCode) {\n var sum = firstCharCode.toString(16) + secondCharCode.toString(16);\n return surrogateModifiers.indexOf(sum) !== -1;\n }\n\n function isZeroWidthJoiner(charCode) {\n return charCode === ZERO_WIDTH_JOINER_CODE_POINT;\n } // This codepoint may change the appearance of the preceding character.\n // If that is a symbol, dingbat or emoji, U+FE0F forces it to be rendered\n // as a colorful image as compared to a monochrome text variant.\n\n\n function isVariationSelector(charCode) {\n return charCode === VARIATION_SELECTOR_16_CODE_POINT;\n } // The regional indicator symbols are a set of 26 alphabetic Unicode\n /// characters (A–Z) intended to be used to encode ISO 3166-1 alpha-2\n // two-letter country codes in a way that allows optional special treatment.\n\n\n function isRegionalCode(string) {\n var codePoint = getCodePoint(string);\n\n if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) {\n return true;\n }\n\n return false;\n } // Some Emoji implementations represent combinations of\n // two “regional indicator” letters as a single flag symbol.\n\n\n function isFlagEmoji(string) {\n return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2));\n }\n\n function isCombinedCharacter(_char3) {\n return combinedCharacters.indexOf(_char3) !== -1;\n } // Regional flags start with a BLACK_FLAG_CODE_POINT\n // folowed by 5 chars in the TAG range\n // and end with a CANCEL_TAG_CODE_POINT\n\n\n function isRegionalFlag(text, index) {\n var codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint !== BLACK_FLAG_CODE_POINT) {\n return false;\n }\n\n var count = 0;\n index += 2;\n\n while (count < 5) {\n codePoint = getCodePoint(text.substr(index, 2));\n\n if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) {\n return false;\n }\n\n count += 1;\n index += 2;\n }\n\n return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT;\n }\n\n function setIsLoaded() {\n this.isLoaded = true;\n }\n\n var Font = function Font() {\n this.fonts = [];\n this.chars = null;\n this.typekitLoaded = 0;\n this.isLoaded = false;\n this._warned = false;\n this.initTime = Date.now();\n this.setIsLoadedBinded = this.setIsLoaded.bind(this);\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n Font.isModifier = isModifier;\n Font.isZeroWidthJoiner = isZeroWidthJoiner;\n Font.isFlagEmoji = isFlagEmoji;\n Font.isRegionalCode = isRegionalCode;\n Font.isCombinedCharacter = isCombinedCharacter;\n Font.isRegionalFlag = isRegionalFlag;\n Font.isVariationSelector = isVariationSelector;\n Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT;\n var fontPrototype = {\n addChars: addChars,\n addFonts: addFonts,\n getCharData: getCharData,\n getFontByName: getFontByName,\n measureText: measureText,\n checkLoadedFonts: checkLoadedFonts,\n setIsLoaded: setIsLoaded\n };\n Font.prototype = fontPrototype;\n return Font;\n }();\n\n function SlotManager(animationData) {\n this.animationData = animationData;\n }\n\n SlotManager.prototype.getProp = function (data) {\n if (this.animationData.slots && this.animationData.slots[data.sid]) {\n return Object.assign(data, this.animationData.slots[data.sid].p);\n }\n\n return data;\n };\n\n function slotFactory(animationData) {\n return new SlotManager(animationData);\n }\n\n function RenderableElement() {}\n\n RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n this.isInRange = false; // layer's display state\n\n this.hidden = false; // If layer's transparency equals 0, it can be hidden\n\n this.isTransparent = false; // list of animated components\n\n this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) === -1) {\n this.renderableComponents.push(component);\n }\n },\n removeRenderableComponent: function removeRenderableComponent(component) {\n if (this.renderableComponents.indexOf(component) !== -1) {\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\n }\n },\n prepareRenderableFrame: function prepareRenderableFrame(num) {\n this.checkLayerLimits(num);\n },\n checkTransparency: function checkTransparency() {\n if (this.finalTransform.mProp.o.v <= 0) {\n if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {\n this.isTransparent = true;\n this.hide();\n }\n } else if (this.isTransparent) {\n this.isTransparent = false;\n this.show();\n }\n },\n\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n *\r\n */\n checkLayerLimits: function checkLayerLimits(num) {\n if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {\n if (this.isInRange !== true) {\n this.globalData._mdf = true;\n this._mdf = true;\n this.isInRange = true;\n this.show();\n }\n } else if (this.isInRange !== false) {\n this.globalData._mdf = true;\n this.isInRange = false;\n this.hide();\n }\n },\n renderRenderable: function renderRenderable() {\n var i;\n var len = this.renderableComponents.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\n }\n /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n if (this.data.ty === 5) {\n return {\n w: this.data.textData.width,\n h: this.data.textData.height\n };\n }\n\n return {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n\n var getBlendMode = function () {\n var blendModeEnums = {\n 0: 'source-over',\n 1: 'multiply',\n 2: 'screen',\n 3: 'overlay',\n 4: 'darken',\n 5: 'lighten',\n 6: 'color-dodge',\n 7: 'color-burn',\n 8: 'hard-light',\n 9: 'soft-light',\n 10: 'difference',\n 11: 'exclusion',\n 12: 'hue',\n 13: 'saturation',\n 14: 'color',\n 15: 'luminosity'\n };\n return function (mode) {\n return blendModeEnums[mode] || '';\n };\n }();\n\n function SliderEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function AngleEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function ColorEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function PointEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n }\n\n function LayerIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function MaskIndexEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function CheckboxEffect(data, elem, container) {\n this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(data, element) {\n var effects = data.ef || [];\n this.effectElements = [];\n var i;\n var len = effects.length;\n var effectItem;\n\n for (i = 0; i < len; i += 1) {\n effectItem = new GroupEffect(effects[i], element);\n this.effectElements.push(effectItem);\n }\n }\n\n function GroupEffect(data, element) {\n this.init(data, element);\n }\n\n extendPrototype([DynamicPropertyContainer], GroupEffect);\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n GroupEffect.prototype.init = function (data, element) {\n this.data = data;\n this.effectElements = [];\n this.initDynamicPropertyContainer(element);\n var i;\n var len = this.data.ef.length;\n var eff;\n var effects = this.data.ef;\n\n for (i = 0; i < len; i += 1) {\n eff = null;\n\n switch (effects[i].ty) {\n case 0:\n eff = new SliderEffect(effects[i], element, this);\n break;\n\n case 1:\n eff = new AngleEffect(effects[i], element, this);\n break;\n\n case 2:\n eff = new ColorEffect(effects[i], element, this);\n break;\n\n case 3:\n eff = new PointEffect(effects[i], element, this);\n break;\n\n case 4:\n case 7:\n eff = new CheckboxEffect(effects[i], element, this);\n break;\n\n case 10:\n eff = new LayerIndexEffect(effects[i], element, this);\n break;\n\n case 11:\n eff = new MaskIndexEffect(effects[i], element, this);\n break;\n\n case 5:\n eff = new EffectsManager(effects[i], element, this);\n break;\n // case 6:\n\n default:\n eff = new NoValueEffect(effects[i], element, this);\n break;\n }\n\n if (eff) {\n this.effectElements.push(eff);\n }\n }\n };\n\n function BaseElement() {}\n\n BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) {\n return false;\n }\n\n var i = 0;\n var len = this.data.masksProperties.length;\n\n while (i < len) {\n if (this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false) {\n return true;\n }\n\n i += 1;\n }\n\n return false;\n },\n initExpressions: function initExpressions() {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var LayerExpressionInterface = expressionsInterfaces('layer');\n var EffectsExpressionInterface = expressionsInterfaces('effects');\n var ShapeExpressionInterface = expressionsInterfaces('shape');\n var TextExpressionInterface = expressionsInterfaces('text');\n var CompExpressionInterface = expressionsInterfaces('comp');\n this.layerInterface = LayerExpressionInterface(this);\n\n if (this.data.hasMask && this.maskManager) {\n this.layerInterface.registerMaskInterface(this.maskManager);\n }\n\n var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(effectsInterface);\n\n if (this.data.ty === 0 || this.data.xt) {\n this.compInterface = CompExpressionInterface(this);\n } else if (this.data.ty === 4) {\n this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);\n this.layerInterface.content = this.layerInterface.shapeInterface;\n } else if (this.data.ty === 5) {\n this.layerInterface.textInterface = TextExpressionInterface(this);\n this.layerInterface.text = this.layerInterface.textInterface;\n }\n },\n setBlendMode: function setBlendMode() {\n var blendModeValue = getBlendMode(this.data.bm);\n var elem = this.baseElement || this.layerElement;\n elem.style['mix-blend-mode'] = blendModeValue;\n },\n initBaseData: function initBaseData(data, globalData, comp) {\n this.globalData = globalData;\n this.comp = comp;\n this.data = data;\n this.layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n if (!this.data.sr) {\n this.data.sr = 1;\n } // effects manager\n\n\n this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n };\n\n /**\r\n * @file\r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\n function FrameElement() {}\n\n FrameElement.prototype = {\n /**\r\n * @function\r\n * Initializes frame related properties.\r\n *\r\n */\n initFrame: function initFrame() {\n // set to true when inpoint is rendered\n this._isFirstFrame = false; // list of animated properties\n\n this.dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n this._mdf = false;\n },\n\n /**\r\n * @function\r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n *\r\n */\n prepareProperties: function prepareProperties(num, isVisible) {\n var i;\n var len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (isVisible || this._isParent && this.dynamicProperties[i].propType === 'transform') {\n this.dynamicProperties[i].getValue();\n\n if (this.dynamicProperties[i]._mdf) {\n this.globalData._mdf = true;\n this._mdf = true;\n }\n }\n }\n },\n addDynamicProperty: function addDynamicProperty(prop) {\n if (this.dynamicProperties.indexOf(prop) === -1) {\n this.dynamicProperties.push(prop);\n }\n }\n };\n\n function FootageElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.footageData = globalData.imageLoader.getAsset(this.assetData);\n this.initBaseData(data, globalData, comp);\n }\n\n FootageElement.prototype.prepareFrame = function () {};\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n FootageElement.prototype.getBaseElement = function () {\n return null;\n };\n\n FootageElement.prototype.renderFrame = function () {};\n\n FootageElement.prototype.destroy = function () {};\n\n FootageElement.prototype.initExpressions = function () {\n var expressionsInterfaces = getExpressionInterfaces();\n\n if (!expressionsInterfaces) {\n return;\n }\n\n var FootageInterface = expressionsInterfaces('footage');\n this.layerInterface = FootageInterface(this);\n };\n\n FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n };\n\n function AudioElement(data, globalData, comp) {\n this.initFrame();\n this.initRenderable();\n this.assetData = globalData.getAssetData(data.refId);\n this.initBaseData(data, globalData, comp);\n this._isPlaying = false;\n this._canPlay = false;\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(assetPath);\n this._currentTime = 0;\n this.globalData.audioController.addAudio(this);\n this._volumeMultiplier = 1;\n this._volume = 1;\n this._previousVolume = null;\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : {\n k: [100]\n }, 1, 0.01, this);\n }\n\n AudioElement.prototype.prepareFrame = function (num) {\n this.prepareRenderableFrame(num, true);\n this.prepareProperties(num, true);\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n this._currentTime = timeRemapped;\n } else {\n this._currentTime = num / this.data.sr;\n }\n\n this._volume = this.lv.v[0];\n var totalVolume = this._volume * this._volumeMultiplier;\n\n if (this._previousVolume !== totalVolume) {\n this._previousVolume = totalVolume;\n this.audio.volume(totalVolume);\n }\n };\n\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n AudioElement.prototype.renderFrame = function () {\n if (this.isInRange && this._canPlay) {\n if (!this._isPlaying) {\n this.audio.play();\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n this._isPlaying = true;\n } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) {\n this.audio.seek(this._currentTime / this.globalData.frameRate);\n }\n }\n };\n\n AudioElement.prototype.show = function () {// this.audio.play()\n };\n\n AudioElement.prototype.hide = function () {\n this.audio.pause();\n this._isPlaying = false;\n };\n\n AudioElement.prototype.pause = function () {\n this.audio.pause();\n this._isPlaying = false;\n this._canPlay = false;\n };\n\n AudioElement.prototype.resume = function () {\n this._canPlay = true;\n };\n\n AudioElement.prototype.setRate = function (rateValue) {\n this.audio.rate(rateValue);\n };\n\n AudioElement.prototype.volume = function (volumeValue) {\n this._volumeMultiplier = volumeValue;\n this._previousVolume = volumeValue * this._volume;\n this.audio.volume(this._previousVolume);\n };\n\n AudioElement.prototype.getBaseElement = function () {\n return null;\n };\n\n AudioElement.prototype.destroy = function () {};\n\n AudioElement.prototype.sourceRectAtTime = function () {};\n\n AudioElement.prototype.initExpressions = function () {};\n\n function BaseRenderer() {}\n\n BaseRenderer.prototype.checkLayers = function (num) {\n var i;\n var len = this.layers.length;\n var data;\n this.completeLayers = true;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (!this.elements[i]) {\n data = this.layers[i];\n\n if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) {\n this.buildItem(i);\n }\n }\n\n this.completeLayers = this.elements[i] ? this.completeLayers : false;\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.createItem = function (layer) {\n switch (layer.ty) {\n case 2:\n return this.createImage(layer);\n\n case 0:\n return this.createComp(layer);\n\n case 1:\n return this.createSolid(layer);\n\n case 3:\n return this.createNull(layer);\n\n case 4:\n return this.createShape(layer);\n\n case 5:\n return this.createText(layer);\n\n case 6:\n return this.createAudio(layer);\n\n case 13:\n return this.createCamera(layer);\n\n case 15:\n return this.createFootage(layer);\n\n default:\n return this.createNull(layer);\n }\n };\n\n BaseRenderer.prototype.createCamera = function () {\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\n };\n\n BaseRenderer.prototype.createAudio = function (data) {\n return new AudioElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.createFootage = function (data) {\n return new FootageElement(data, this.globalData, this);\n };\n\n BaseRenderer.prototype.buildAllItems = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n this.buildItem(i);\n }\n\n this.checkPendingElements();\n };\n\n BaseRenderer.prototype.includeLayers = function (newLayers) {\n this.completeLayers = false;\n var i;\n var len = newLayers.length;\n var j;\n var jLen = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n j = 0;\n\n while (j < jLen) {\n if (this.layers[j].id === newLayers[i].id) {\n this.layers[j] = newLayers[i];\n break;\n }\n\n j += 1;\n }\n }\n };\n\n BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n this.globalData.projectInterface = pInterface;\n };\n\n BaseRenderer.prototype.initItems = function () {\n if (!this.globalData.progressiveLoad) {\n this.buildAllItems();\n }\n };\n\n BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n var elements = this.elements;\n var layers = this.layers;\n var i = 0;\n var len = layers.length;\n\n while (i < len) {\n if (layers[i].ind == parentName) {\n // eslint-disable-line eqeqeq\n if (!elements[i] || elements[i] === true) {\n this.buildItem(i);\n this.addPendingElement(element);\n } else {\n hierarchy.push(elements[i]);\n elements[i].setAsParent();\n\n if (layers[i].parent !== undefined) {\n this.buildElementParenting(element, layers[i].parent, hierarchy);\n } else {\n element.setHierarchy(hierarchy);\n }\n }\n }\n\n i += 1;\n }\n };\n\n BaseRenderer.prototype.addPendingElement = function (element) {\n this.pendingElements.push(element);\n };\n\n BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i]);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n BaseRenderer.prototype.getElementById = function (ind) {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.ind === ind) {\n return this.elements[i];\n }\n }\n\n return null;\n };\n\n BaseRenderer.prototype.getElementByPath = function (path) {\n var pathValue = path.shift();\n var element;\n\n if (typeof pathValue === 'number') {\n element = this.elements[pathValue];\n } else {\n var i;\n var len = this.elements.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i].data.nm === pathValue) {\n element = this.elements[i];\n break;\n }\n }\n }\n\n if (path.length === 0) {\n return element;\n }\n\n return element.getElementByPath(path);\n };\n\n BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n this.globalData.fontManager = new FontManager();\n this.globalData.slotManager = slotFactory(animData);\n this.globalData.fontManager.addChars(animData.chars);\n this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);\n this.globalData.imageLoader = this.animationItem.imagePreloader;\n this.globalData.audioController = this.animationItem.audioController;\n this.globalData.frameId = 0;\n this.globalData.frameRate = animData.fr;\n this.globalData.nm = animData.nm;\n this.globalData.compSize = {\n w: animData.w,\n h: animData.h\n };\n };\n\n var effectTypes = {\n TRANSFORM_EFFECT: 'transformEFfect'\n };\n\n function TransformElement() {}\n\n TransformElement.prototype = {\n initTransform: function initTransform() {\n var mat = new Matrix();\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: false,\n _localMatMdf: false,\n _opMdf: false,\n mat: mat,\n localMat: mat,\n localOpacity: 1\n };\n\n if (this.data.ao) {\n this.finalTransform.mProp.autoOriented = true;\n } // TODO: check TYPE 11: Guided elements\n\n\n if (this.data.ty !== 11) {// this.createElements();\n }\n },\n renderTransform: function renderTransform() {\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\n\n if (this.hierarchy) {\n var mat;\n var finalMat = this.finalTransform.mat;\n var i = 0;\n var len = this.hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n if (!this.finalTransform._matMdf) {\n while (i < len) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._matMdf) {\n mat = this.finalTransform.mProp.v.props;\n finalMat.cloneFromProps(mat);\n\n for (i = 0; i < len; i += 1) {\n finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v);\n }\n }\n }\n\n if (this.finalTransform._matMdf) {\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n }\n\n if (this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n }\n },\n renderLocalTransform: function renderLocalTransform() {\n if (this.localTransforms) {\n var i = 0;\n var len = this.localTransforms.length;\n this.finalTransform._localMatMdf = this.finalTransform._matMdf;\n\n if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) {\n while (i < len) {\n if (this.localTransforms[i]._mdf) {\n this.finalTransform._localMatMdf = true;\n }\n\n if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) {\n this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;\n this.finalTransform._opMdf = true;\n }\n\n i += 1;\n }\n }\n\n if (this.finalTransform._localMatMdf) {\n var localMat = this.finalTransform.localMat;\n this.localTransforms[0].matrix.clone(localMat);\n\n for (i = 1; i < len; i += 1) {\n var lmat = this.localTransforms[i].matrix;\n localMat.multiply(lmat);\n }\n\n localMat.multiply(this.finalTransform.mat);\n }\n\n if (this.finalTransform._opMdf) {\n var localOp = this.finalTransform.localOpacity;\n\n for (i = 0; i < len; i += 1) {\n localOp *= this.localTransforms[i].opacity * 0.01;\n }\n\n this.finalTransform.localOpacity = localOp;\n }\n }\n },\n searchEffectTransforms: function searchEffectTransforms() {\n if (this.renderableEffectsManager) {\n var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n\n if (transformEffects.length) {\n this.localTransforms = [];\n this.finalTransform.localMat = new Matrix();\n var i = 0;\n var len = transformEffects.length;\n\n for (i = 0; i < len; i += 1) {\n this.localTransforms.push(transformEffects[i]);\n }\n }\n }\n },\n globalToLocal: function globalToLocal(pt) {\n var transforms = [];\n transforms.push(this.finalTransform);\n var flag = true;\n var comp = this.comp;\n\n while (flag) {\n if (comp.finalTransform) {\n if (comp.data.hasMask) {\n transforms.splice(0, 0, comp.finalTransform);\n }\n\n comp = comp.comp;\n } else {\n flag = false;\n }\n }\n\n var i;\n var len = transforms.length;\n var ptNew;\n\n for (i = 0; i < len; i += 1) {\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n }\n\n return pt;\n },\n mHelper: new Matrix()\n };\n\n function MaskElement(data, element, globalData) {\n this.data = data;\n this.element = element;\n this.globalData = globalData;\n this.storedData = [];\n this.masksProperties = this.data.masksProperties || [];\n this.maskElement = null;\n var defs = this.globalData.defs;\n var i;\n var len = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(len);\n this.solidPath = '';\n var path;\n var properties = this.masksProperties;\n var count = 0;\n var currentMasks = [];\n var j;\n var jLen;\n var layerId = createElementID();\n var rect;\n var expansor;\n var feMorph;\n var x;\n var maskType = 'clipPath';\n var maskRef = 'clip-path';\n\n for (i = 0; i < len; i += 1) {\n if (properties[i].mode !== 'a' && properties[i].mode !== 'n' || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n maskType = 'mask';\n maskRef = 'mask';\n }\n\n if ((properties[i].mode === 's' || properties[i].mode === 'i') && count === 0) {\n rect = createNS('rect');\n rect.setAttribute('fill', '#ffffff');\n rect.setAttribute('width', this.element.comp.data.w || 0);\n rect.setAttribute('height', this.element.comp.data.h || 0);\n currentMasks.push(rect);\n } else {\n rect = null;\n }\n\n path = createNS('path');\n\n if (properties[i].mode === 'n') {\n // TODO move this to a factory or to a constructor\n this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n elem: path,\n lastPath: ''\n };\n defs.appendChild(path);\n } else {\n count += 1;\n path.setAttribute('fill', properties[i].mode === 's' ? '#000000' : '#ffffff');\n path.setAttribute('clip-rule', 'nonzero');\n var filterID;\n\n if (properties[i].x.k !== 0) {\n maskType = 'mask';\n maskRef = 'mask';\n x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);\n filterID = createElementID();\n expansor = createNS('filter');\n expansor.setAttribute('id', filterID);\n feMorph = createNS('feMorphology');\n feMorph.setAttribute('operator', 'erode');\n feMorph.setAttribute('in', 'SourceGraphic');\n feMorph.setAttribute('radius', '0');\n expansor.appendChild(feMorph);\n defs.appendChild(expansor);\n path.setAttribute('stroke', properties[i].mode === 's' ? '#000000' : '#ffffff');\n } else {\n feMorph = null;\n x = null;\n } // TODO move this to a factory or to a constructor\n\n\n this.storedData[i] = {\n elem: path,\n x: x,\n expan: feMorph,\n lastPath: '',\n lastOperator: '',\n filterId: filterID,\n lastRadius: 0\n };\n\n if (properties[i].mode === 'i') {\n jLen = currentMasks.length;\n var g = createNS('g');\n\n for (j = 0; j < jLen; j += 1) {\n g.appendChild(currentMasks[j]);\n }\n\n var mask = createNS('mask');\n mask.setAttribute('mask-type', 'alpha');\n mask.setAttribute('id', layerId + '_' + count);\n mask.appendChild(path);\n defs.appendChild(mask);\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + layerId + '_' + count + ')');\n currentMasks.length = 0;\n currentMasks.push(g);\n } else {\n currentMasks.push(path);\n }\n\n if (properties[i].inv && !this.solidPath) {\n this.solidPath = this.createLayerSolidPath();\n } // TODO move this to a factory or to a constructor\n\n\n this.viewData[i] = {\n elem: path,\n lastPath: '',\n op: PropertyFactory.getProp(this.element, properties[i].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),\n invRect: rect\n };\n\n if (!this.viewData[i].prop.k) {\n this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n }\n\n this.maskElement = createNS(maskType);\n len = currentMasks.length;\n\n for (i = 0; i < len; i += 1) {\n this.maskElement.appendChild(currentMasks[i]);\n }\n\n if (count > 0) {\n this.maskElement.setAttribute('id', layerId);\n this.element.maskedElement.setAttribute(maskRef, 'url(' + getLocationHref() + '#' + layerId + ')');\n defs.appendChild(this.maskElement);\n }\n\n if (this.viewData.length) {\n this.element.addRenderableComponent(this);\n }\n }\n\n MaskElement.prototype.getMaskProperty = function (pos) {\n return this.viewData[pos].prop;\n };\n\n MaskElement.prototype.renderFrame = function (isFirstFrame) {\n var finalMat = this.element.finalTransform.mat;\n var i;\n var len = this.masksProperties.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.viewData[i].prop._mdf || isFirstFrame) {\n this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n\n if (this.viewData[i].op._mdf || isFirstFrame) {\n this.viewData[i].elem.setAttribute('fill-opacity', this.viewData[i].op.v);\n }\n\n if (this.masksProperties[i].mode !== 'n') {\n if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) {\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS());\n }\n\n if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {\n var feMorph = this.storedData[i].expan;\n\n if (this.storedData[i].x.v < 0) {\n if (this.storedData[i].lastOperator !== 'erode') {\n this.storedData[i].lastOperator = 'erode';\n this.storedData[i].elem.setAttribute('filter', 'url(' + getLocationHref() + '#' + this.storedData[i].filterId + ')');\n }\n\n feMorph.setAttribute('radius', -this.storedData[i].x.v);\n } else {\n if (this.storedData[i].lastOperator !== 'dilate') {\n this.storedData[i].lastOperator = 'dilate';\n this.storedData[i].elem.setAttribute('filter', null);\n }\n\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v * 2);\n }\n }\n }\n }\n };\n\n MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n };\n\n MaskElement.prototype.createLayerSolidPath = function () {\n var path = 'M0,0 ';\n path += ' h' + this.globalData.compSize.w;\n path += ' v' + this.globalData.compSize.h;\n path += ' h-' + this.globalData.compSize.w;\n path += ' v-' + this.globalData.compSize.h + ' ';\n return path;\n };\n\n MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n var i;\n var len;\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[i][0] + ',' + pathNodes.i[i][1] + ' ' + pathNodes.v[i][0] + ',' + pathNodes.v[i][1];\n } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n if (pathNodes.c && len > 1) {\n pathString += ' C' + pathNodes.o[i - 1][0] + ',' + pathNodes.o[i - 1][1] + ' ' + pathNodes.i[0][0] + ',' + pathNodes.i[0][1] + ' ' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];\n } // pathNodes.__renderedString = pathString;\n\n\n if (viewData.lastPath !== pathString) {\n var pathShapeValue = '';\n\n if (viewData.elem) {\n if (pathNodes.c) {\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\n }\n\n viewData.elem.setAttribute('d', pathShapeValue);\n }\n\n viewData.lastPath = pathString;\n }\n };\n\n MaskElement.prototype.destroy = function () {\n this.element = null;\n this.globalData = null;\n this.maskElement = null;\n this.data = null;\n this.masksProperties = null;\n };\n\n var filtersFactory = function () {\n var ob = {};\n ob.createFilter = createFilter;\n ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n function createFilter(filId, skipCoordinates) {\n var fil = createNS('filter');\n fil.setAttribute('id', filId);\n\n if (skipCoordinates !== true) {\n fil.setAttribute('filterUnits', 'objectBoundingBox');\n fil.setAttribute('x', '0%');\n fil.setAttribute('y', '0%');\n fil.setAttribute('width', '100%');\n fil.setAttribute('height', '100%');\n }\n\n return fil;\n }\n\n function createAlphaToLuminanceFilter() {\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\n return feColorMatrix;\n }\n\n return ob;\n }();\n\n var featureSupport = function () {\n var ob = {\n maskType: true,\n svgLumaHidden: true,\n offscreenCanvas: typeof OffscreenCanvas !== 'undefined'\n };\n\n if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n ob.maskType = false;\n }\n\n if (/firefox/i.test(navigator.userAgent)) {\n ob.svgLumaHidden = false;\n }\n\n return ob;\n }();\n\n var registeredEffects$1 = {};\n var idPrefix = 'filter_result_';\n\n function SVGEffects(elem) {\n var i;\n var source = 'SourceGraphic';\n var len = elem.data.ef ? elem.data.ef.length : 0;\n var filId = createElementID();\n var fil = filtersFactory.createFilter(filId, true);\n var count = 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects$1[type]) {\n var Effect = registeredEffects$1[type].effect;\n filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);\n source = idPrefix + count;\n\n if (registeredEffects$1[type].countsAsEffect) {\n count += 1;\n }\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (count) {\n elem.globalData.defs.appendChild(fil);\n elem.layerElement.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n SVGEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect$1(id, effect, countsAsEffect) {\n registeredEffects$1[id] = {\n effect: effect,\n countsAsEffect: countsAsEffect\n };\n }\n\n function SVGBaseElement() {}\n\n SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS('g');\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS('g');\n this.transformedElement = this.layerElement;\n this.maskedElement = this.layerElement;\n this._sizeChanged = false;\n var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n if (this.data.td) {\n this.matteMasks = {};\n var gg = createNS('g');\n gg.setAttribute('id', this.layerId);\n gg.appendChild(this.layerElement);\n layerElementParent = gg;\n this.globalData.defs.appendChild(gg);\n } else if (this.data.tt) {\n this.matteElement.appendChild(this.layerElement);\n layerElementParent = this.matteElement;\n this.baseElement = this.matteElement;\n } else {\n this.baseElement = this.layerElement;\n }\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n if (this.data.ty === 0 && !this.data.hd) {\n var cp = createNS('clipPath');\n var pt = createNS('path');\n pt.setAttribute('d', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');\n var clipId = createElementID();\n cp.setAttribute('id', clipId);\n cp.appendChild(pt);\n this.globalData.defs.appendChild(cp);\n\n if (this.checkMasks()) {\n var cpGroup = createNS('g');\n cpGroup.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n cpGroup.appendChild(this.layerElement);\n this.transformedElement = cpGroup;\n\n if (layerElementParent) {\n layerElementParent.appendChild(this.transformedElement);\n } else {\n this.baseElement = this.transformedElement;\n }\n } else {\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + clipId + ')');\n }\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n if (this.finalTransform._localMatMdf) {\n this.transformedElement.setAttribute('transform', this.finalTransform.localMat.to2dCSS());\n }\n\n if (this.finalTransform._opMdf) {\n this.transformedElement.setAttribute('opacity', this.finalTransform.localOpacity);\n }\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null;\n this.matteElement = null;\n this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n if (this.data.hd) {\n return null;\n }\n\n return this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n this.renderableEffectsManager = new SVGEffects(this);\n this.searchEffectTransforms();\n },\n getMatte: function getMatte(matteType) {\n // This should not be a common case. But for backward compatibility, we'll create the matte object.\n // It solves animations that have two consecutive layers marked as matte masks.\n // Which is an undefined behavior in AE.\n if (!this.matteMasks) {\n this.matteMasks = {};\n }\n\n if (!this.matteMasks[matteType]) {\n var id = this.layerId + '_' + matteType;\n var filId;\n var fil;\n var useElement;\n var gg;\n\n if (matteType === 1 || matteType === 3) {\n var masker = createNS('mask');\n masker.setAttribute('id', id);\n masker.setAttribute('mask-type', matteType === 3 ? 'luminance' : 'alpha');\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n masker.appendChild(useElement);\n this.globalData.defs.appendChild(masker);\n\n if (!featureSupport.maskType && matteType === 1) {\n masker.setAttribute('mask-type', 'luminance');\n filId = createElementID();\n fil = filtersFactory.createFilter(filId);\n this.globalData.defs.appendChild(fil);\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n gg.appendChild(useElement);\n masker.appendChild(gg);\n gg.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n }\n } else if (matteType === 2) {\n var maskGroup = createNS('mask');\n maskGroup.setAttribute('id', id);\n maskGroup.setAttribute('mask-type', 'alpha');\n var maskGrouper = createNS('g');\n maskGroup.appendChild(maskGrouper);\n filId = createElementID();\n fil = filtersFactory.createFilter(filId); /// /\n\n var feCTr = createNS('feComponentTransfer');\n feCTr.setAttribute('in', 'SourceGraphic');\n fil.appendChild(feCTr);\n var feFunc = createNS('feFuncA');\n feFunc.setAttribute('type', 'table');\n feFunc.setAttribute('tableValues', '1.0 0.0');\n feCTr.appendChild(feFunc); /// /\n\n this.globalData.defs.appendChild(fil);\n var alphaRect = createNS('rect');\n alphaRect.setAttribute('width', this.comp.data.w);\n alphaRect.setAttribute('height', this.comp.data.h);\n alphaRect.setAttribute('x', '0');\n alphaRect.setAttribute('y', '0');\n alphaRect.setAttribute('fill', '#ffffff');\n alphaRect.setAttribute('opacity', '0');\n maskGrouper.setAttribute('filter', 'url(' + getLocationHref() + '#' + filId + ')');\n maskGrouper.appendChild(alphaRect);\n useElement = createNS('use');\n useElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', '#' + this.layerId);\n maskGrouper.appendChild(useElement);\n\n if (!featureSupport.maskType) {\n maskGroup.setAttribute('mask-type', 'luminance');\n fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n gg = createNS('g');\n maskGrouper.appendChild(alphaRect);\n gg.appendChild(this.layerElement);\n maskGrouper.appendChild(gg);\n }\n\n this.globalData.defs.appendChild(maskGroup);\n }\n\n this.matteMasks[matteType] = id;\n }\n\n return this.matteMasks[matteType];\n },\n setMatte: function setMatte(id) {\n if (!this.matteElement) {\n return;\n }\n\n this.matteElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n }\n };\n\n /**\r\n * @file\r\n * Handles AE's layer parenting property.\r\n *\r\n */\n function HierarchyElement() {}\n\n HierarchyElement.prototype = {\n /**\r\n * @function\r\n * Initializes hierarchy properties\r\n *\r\n */\n initHierarchy: function initHierarchy() {\n // element's parent list\n this.hierarchy = []; // if element is parent of another layer _isParent will be true\n\n this._isParent = false;\n this.checkParenting();\n },\n\n /**\r\n * @function\r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */\n setHierarchy: function setHierarchy(hierarchy) {\n this.hierarchy = hierarchy;\n },\n\n /**\r\n * @function\r\n * Sets layer as parent.\r\n *\r\n */\n setAsParent: function setAsParent() {\n this._isParent = true;\n },\n\n /**\r\n * @function\r\n * Searches layer's parenting chain\r\n *\r\n */\n checkParenting: function checkParenting() {\n if (this.data.parent !== undefined) {\n this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }\n };\n\n function RenderableDOMElement() {}\n\n (function () {\n var _prototype = {\n initElement: function initElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n },\n hide: function hide() {\n // console.log('HIDE', this);\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'none';\n this.hidden = true;\n }\n },\n show: function show() {\n // console.log('SHOW', this);\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var elem = this.baseElement || this.layerElement;\n elem.style.display = 'block';\n }\n\n this.hidden = false;\n this._isFirstFrame = true;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null;\n this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n })();\n\n function IImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n\n if (this.assetData && this.assetData.sid) {\n this.assetData = globalData.slotManager.getProp(this.assetData);\n }\n\n this.initElement(data, globalData, comp);\n this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n IImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS('image');\n this.innerElem.setAttribute('width', this.assetData.w + 'px');\n this.innerElem.setAttribute('height', this.assetData.h + 'px');\n this.innerElem.setAttribute('preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.innerElem);\n };\n\n IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n };\n\n function ProcessedElement(element, position) {\n this.elem = element;\n this.pos = position;\n }\n\n function IShapeElement() {}\n\n IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(data) {\n var i;\n var len = this.shapeModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapeModifiers[i].addShape(data);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {\n var i = 0;\n var len = this.shapeModifiers.length;\n\n while (i < len) {\n if (this.shapeModifiers[i].isAnimatedWithShape(data)) {\n return true;\n }\n }\n\n return false;\n },\n renderModifiers: function renderModifiers() {\n if (!this.shapeModifiers.length) {\n return;\n }\n\n var i;\n var len = this.shapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.shapes[i].sh.reset();\n }\n\n len = this.shapeModifiers.length;\n var shouldBreakProcess;\n\n for (i = len - 1; i >= 0; i -= 1) {\n shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n // TODO: find a better solution for this\n\n if (shouldBreakProcess) {\n break;\n }\n }\n },\n searchProcessedElement: function searchProcessedElement(elem) {\n var elements = this.processedElements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i].elem === elem) {\n return elements[i].pos;\n }\n\n i += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(elem, pos) {\n var elements = this.processedElements;\n var i = elements.length;\n\n while (i) {\n i -= 1;\n\n if (elements[i].elem === elem) {\n elements[i].pos = pos;\n return;\n }\n }\n\n elements.push(new ProcessedElement(elem, pos));\n },\n prepareFrame: function prepareFrame(num) {\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n }\n };\n\n var lineCapEnum = {\n 1: 'butt',\n 2: 'round',\n 3: 'square'\n };\n var lineJoinEnum = {\n 1: 'miter',\n 2: 'round',\n 3: 'bevel'\n };\n\n function SVGShapeData(transformers, level, shape) {\n this.caches = [];\n this.styles = [];\n this.transformers = transformers;\n this.lStr = '';\n this.sh = shape;\n this.lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n // For now, since shapes add up with other shapes. They have to be calculated every time.\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n this._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n var i = 0;\n var len = transformers.length;\n\n while (i < len) {\n if (transformers[i].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n\n i += 1;\n }\n }\n\n SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = true;\n };\n\n function SVGStyleData(data, level) {\n this.data = data;\n this.type = data.ty;\n this.d = '';\n this.lvl = level;\n this._mdf = false;\n this.closed = data.hd === true;\n this.pElem = createNS('path');\n this.msElem = null;\n }\n\n SVGStyleData.prototype.reset = function () {\n this.d = '';\n this._mdf = false;\n };\n\n function DashProperty(elem, data, renderer, container) {\n this.elem = elem;\n this.frameId = -1;\n this.dataProps = createSizedArray(data.length);\n this.renderer = renderer;\n this.k = false;\n this.dashStr = '';\n this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);\n this.dashoffset = createTypedArray('float32', 1);\n this.initDynamicPropertyContainer(container);\n var i;\n var len = data.length || 0;\n var prop;\n\n for (i = 0; i < len; i += 1) {\n prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);\n this.k = prop.k || this.k;\n this.dataProps[i] = {\n n: data[i].n,\n p: prop\n };\n }\n\n if (!this.k) {\n this.getValue(true);\n }\n\n this._isAnimated = this.k;\n }\n\n DashProperty.prototype.getValue = function (forceRender) {\n if (this.elem.globalData.frameId === this.frameId && !forceRender) {\n return;\n }\n\n this.frameId = this.elem.globalData.frameId;\n this.iterateDynamicProperties();\n this._mdf = this._mdf || forceRender;\n\n if (this._mdf) {\n var i = 0;\n var len = this.dataProps.length;\n\n if (this.renderer === 'svg') {\n this.dashStr = '';\n }\n\n for (i = 0; i < len; i += 1) {\n if (this.dataProps[i].n !== 'o') {\n if (this.renderer === 'svg') {\n this.dashStr += ' ' + this.dataProps[i].p.v;\n } else {\n this.dashArray[i] = this.dataProps[i].p.v;\n }\n } else {\n this.dashoffset[0] = this.dataProps[i].p.v;\n }\n }\n }\n };\n\n extendPrototype([DynamicPropertyContainer], DashProperty);\n\n function SVGStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n\n function SVGFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n\n function SVGNoStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.style = styleOb;\n }\n\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n\n function GradientProperty(elem, data, container) {\n this.data = data;\n this.c = createTypedArray('uint8c', data.p * 4);\n var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n this.o = createTypedArray('float32', cLength);\n this._cmdf = false;\n this._omdf = false;\n this._collapsable = this.checkCollapsable();\n this._hasOpacity = cLength;\n this.initDynamicPropertyContainer(container);\n this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);\n this.k = this.prop.k;\n this.getValue(true);\n }\n\n GradientProperty.prototype.comparePoints = function (values, points) {\n var i = 0;\n var len = this.o.length / 2;\n var diff;\n\n while (i < len) {\n diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n if (diff > 0.01) {\n return false;\n }\n\n i += 1;\n }\n\n return true;\n };\n\n GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 !== this.c.length / 4) {\n return false;\n }\n\n if (this.data.k.k[0].s) {\n var i = 0;\n var len = this.data.k.k.length;\n\n while (i < len) {\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\n return false;\n }\n\n i += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) {\n return false;\n }\n\n return true;\n };\n\n GradientProperty.prototype.getValue = function (forceRender) {\n this.prop.getValue();\n this._mdf = false;\n this._cmdf = false;\n this._omdf = false;\n\n if (this.prop._mdf || forceRender) {\n var i;\n var len = this.data.p * 4;\n var mult;\n var val;\n\n for (i = 0; i < len; i += 1) {\n mult = i % 4 === 0 ? 100 : 255;\n val = Math.round(this.prop.v[i] * mult);\n\n if (this.c[i] !== val) {\n this.c[i] = val;\n this._cmdf = !forceRender;\n }\n }\n\n if (this.o.length) {\n len = this.prop.v.length;\n\n for (i = this.data.p * 4; i < len; i += 1) {\n mult = i % 2 === 0 ? 100 : 1;\n val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];\n\n if (this.o[i - this.data.p * 4] !== val) {\n this.o[i - this.data.p * 4] = val;\n this._omdf = !forceRender;\n }\n }\n }\n\n this._mdf = !forceRender;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n function SVGGradientFillStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.initGradientData(elem, data, styleOb);\n }\n\n SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n this.o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this);\n this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);\n this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);\n this.h = PropertyFactory.getProp(elem, data.h || {\n k: 0\n }, 0, 0.01, this);\n this.a = PropertyFactory.getProp(elem, data.a || {\n k: 0\n }, 0, degToRads, this);\n this.g = new GradientProperty(elem, data.g, this);\n this.style = styleOb;\n this.stops = [];\n this.setGradientData(styleOb.pElem, data);\n this.setGradientOpacity(data, styleOb);\n this._isAnimated = !!this._isAnimated;\n };\n\n SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n var gradientId = createElementID();\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n gfill.setAttribute('id', gradientId);\n gfill.setAttribute('spreadMethod', 'pad');\n gfill.setAttribute('gradientUnits', 'userSpaceOnUse');\n var stops = [];\n var stop;\n var j;\n var jLen;\n jLen = data.g.p * 4;\n\n for (j = 0; j < jLen; j += 4) {\n stop = createNS('stop');\n gfill.appendChild(stop);\n stops.push(stop);\n }\n\n pathElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + gradientId + ')');\n this.gf = gfill;\n this.cst = stops;\n };\n\n SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var stop;\n var j;\n var jLen;\n var mask = createNS('mask');\n var maskElement = createNS('path');\n mask.appendChild(maskElement);\n var opacityId = createElementID();\n var maskId = createElementID();\n mask.setAttribute('id', maskId);\n var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\n opFill.setAttribute('id', opacityId);\n opFill.setAttribute('spreadMethod', 'pad');\n opFill.setAttribute('gradientUnits', 'userSpaceOnUse');\n jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n var stops = this.stops;\n\n for (j = data.g.p * 4; j < jLen; j += 2) {\n stop = createNS('stop');\n stop.setAttribute('stop-color', 'rgb(255,255,255)');\n opFill.appendChild(stop);\n stops.push(stop);\n }\n\n maskElement.setAttribute(data.ty === 'gf' ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + opacityId + ')');\n\n if (data.ty === 'gs') {\n maskElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n maskElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n\n if (data.lj === 1) {\n maskElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n this.of = opFill;\n this.ms = mask;\n this.ost = stops;\n this.maskId = maskId;\n styleOb.msElem = maskElement;\n }\n };\n\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n\n function SVGGradientStrokeStyleData(elem, data, styleOb) {\n this.initDynamicPropertyContainer(elem);\n this.getValue = this.iterateDynamicProperties;\n this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);\n this.d = new DashProperty(elem, data.d || {}, 'svg', this);\n this.initGradientData(elem, data, styleOb);\n this._isAnimated = !!this._isAnimated;\n }\n\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n function ShapeGroupData() {\n this.it = [];\n this.prevViewData = [];\n this.gr = createNS('g');\n }\n\n function SVGTransformData(mProps, op, container) {\n this.transform = {\n mProps: mProps,\n op: op,\n container: container\n };\n this.elements = [];\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {\n if (length === 0) {\n return '';\n }\n\n var _o = pathNodes.o;\n var _i = pathNodes.i;\n var _v = pathNodes.v;\n var i;\n var shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n for (i = 1; i < length; i += 1) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n }\n\n if (closed && length) {\n shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[0][0], _i[0][1]) + ' ' + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n shapeString += 'z';\n }\n\n return shapeString;\n };\n\n var SVGElementsRenderer = function () {\n var _identityMatrix = new Matrix();\n\n var _matrixHelper = new Matrix();\n\n var ob = {\n createRenderFunction: createRenderFunction\n };\n\n function createRenderFunction(data) {\n switch (data.ty) {\n case 'fl':\n return renderFill;\n\n case 'gf':\n return renderGradient;\n\n case 'gs':\n return renderGradientStroke;\n\n case 'st':\n return renderStroke;\n\n case 'sh':\n case 'el':\n case 'rc':\n case 'sr':\n return renderPath;\n\n case 'tr':\n return renderContentTransform;\n\n case 'no':\n return renderNoop;\n\n default:\n return null;\n }\n }\n\n function renderContentTransform(styleData, itemData, isFirstFrame) {\n if (isFirstFrame || itemData.transform.op._mdf) {\n itemData.transform.container.setAttribute('opacity', itemData.transform.op.v);\n }\n\n if (isFirstFrame || itemData.transform.mProps._mdf) {\n itemData.transform.container.setAttribute('transform', itemData.transform.mProps.v.to2dCSS());\n }\n }\n\n function renderNoop() {}\n\n function renderPath(styleData, itemData, isFirstFrame) {\n var j;\n var jLen;\n var pathStringTransformed;\n var redraw;\n var pathNodes;\n var l;\n var lLen = itemData.styles.length;\n var lvl = itemData.lvl;\n var paths;\n var mat;\n var iterations;\n var k;\n\n for (l = 0; l < lLen; l += 1) {\n redraw = itemData.sh._mdf || isFirstFrame;\n\n if (itemData.styles[l].lvl < lvl) {\n mat = _matrixHelper.reset();\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (!redraw && iterations > 0) {\n redraw = itemData.transformers[k].mProps._mdf || redraw;\n iterations -= 1;\n k -= 1;\n }\n\n if (redraw) {\n iterations = lvl - itemData.styles[l].lvl;\n k = itemData.transformers.length - 1;\n\n while (iterations > 0) {\n mat.multiply(itemData.transformers[k].mProps.v);\n iterations -= 1;\n k -= 1;\n }\n }\n } else {\n mat = _identityMatrix;\n }\n\n paths = itemData.sh.paths;\n jLen = paths._length;\n\n if (redraw) {\n pathStringTransformed = '';\n\n for (j = 0; j < jLen; j += 1) {\n pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes._length) {\n pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n }\n }\n\n itemData.caches[l] = pathStringTransformed;\n } else {\n pathStringTransformed = itemData.caches[l];\n }\n\n itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;\n itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n }\n }\n\n function renderFill(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('fill-opacity', itemData.o.v);\n }\n }\n\n function renderGradientStroke(styleData, itemData, isFirstFrame) {\n renderGradient(styleData, itemData, isFirstFrame);\n renderStroke(styleData, itemData, isFirstFrame);\n }\n\n function renderGradient(styleData, itemData, isFirstFrame) {\n var gfill = itemData.gf;\n var hasOpacity = itemData.g._hasOpacity;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (itemData.o._mdf || isFirstFrame) {\n var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';\n itemData.style.pElem.setAttribute(attr, itemData.o.v);\n }\n\n if (itemData.s._mdf || isFirstFrame) {\n var attr1 = styleData.t === 1 ? 'x1' : 'cx';\n var attr2 = attr1 === 'x1' ? 'y1' : 'cy';\n gfill.setAttribute(attr1, pt1[0]);\n gfill.setAttribute(attr2, pt1[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute(attr1, pt1[0]);\n itemData.of.setAttribute(attr2, pt1[1]);\n }\n }\n\n var stops;\n var i;\n var len;\n var stop;\n\n if (itemData.g._cmdf || isFirstFrame) {\n stops = itemData.cst;\n var cValues = itemData.g.c;\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n stop.setAttribute('offset', cValues[i * 4] + '%');\n stop.setAttribute('stop-color', 'rgb(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ')');\n }\n }\n\n if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n var oValues = itemData.g.o;\n\n if (itemData.g._collapsable) {\n stops = itemData.cst;\n } else {\n stops = itemData.ost;\n }\n\n len = stops.length;\n\n for (i = 0; i < len; i += 1) {\n stop = stops[i];\n\n if (!itemData.g._collapsable) {\n stop.setAttribute('offset', oValues[i * 2] + '%');\n }\n\n stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);\n }\n }\n\n if (styleData.t === 1) {\n if (itemData.e._mdf || isFirstFrame) {\n gfill.setAttribute('x2', pt2[0]);\n gfill.setAttribute('y2', pt2[1]);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('x2', pt2[0]);\n itemData.of.setAttribute('y2', pt2[1]);\n }\n }\n } else {\n var rad;\n\n if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n gfill.setAttribute('r', rad);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('r', rad);\n }\n }\n\n if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n if (!rad) {\n rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n }\n\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n gfill.setAttribute('fx', x);\n gfill.setAttribute('fy', y);\n\n if (hasOpacity && !itemData.g._collapsable) {\n itemData.of.setAttribute('fx', x);\n itemData.of.setAttribute('fy', y);\n }\n } // gfill.setAttribute('fy','200');\n\n }\n }\n\n function renderStroke(styleData, itemData, isFirstFrame) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\n styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\n }\n\n if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n styleElem.pElem.setAttribute('stroke', 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')');\n }\n\n if (itemData.o._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\n }\n\n if (itemData.w._mdf || isFirstFrame) {\n styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\n\n if (styleElem.msElem) {\n styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\n }\n }\n }\n\n return ob;\n }();\n\n function SVGShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n };\n /*\r\n This method searches for multiple shapes that affect a single element and one of them is animated\r\n */\n\n\n SVGShapeElement.prototype.filterUniqueShapes = function () {\n var i;\n var len = this.shapes.length;\n var shape;\n var j;\n var jLen = this.stylesList.length;\n var style;\n var tempShapes = [];\n var areAnimated = false;\n\n for (j = 0; j < jLen; j += 1) {\n style = this.stylesList[j];\n areAnimated = false;\n tempShapes.length = 0;\n\n for (i = 0; i < len; i += 1) {\n shape = this.shapes[i];\n\n if (shape.styles.indexOf(style) !== -1) {\n tempShapes.push(shape);\n areAnimated = shape._isAnimated || areAnimated;\n }\n }\n\n if (tempShapes.length > 1 && areAnimated) {\n this.setShapesAsAnimated(tempShapes);\n }\n }\n };\n\n SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n var i;\n var len = shapes.length;\n\n for (i = 0; i < len; i += 1) {\n shapes[i].setAsAnimated();\n }\n };\n\n SVGShapeElement.prototype.createStyleElement = function (data, level) {\n // TODO: prevent drawing of hidden styles\n var elementData;\n var styleOb = new SVGStyleData(data, level);\n var pathElement = styleOb.pElem;\n\n if (data.ty === 'st') {\n elementData = new SVGStrokeStyleData(this, data, styleOb);\n } else if (data.ty === 'fl') {\n elementData = new SVGFillStyleData(this, data, styleOb);\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n var GradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n elementData = new GradientConstructor(this, data, styleOb);\n this.globalData.defs.appendChild(elementData.gf);\n\n if (elementData.maskId) {\n this.globalData.defs.appendChild(elementData.ms);\n this.globalData.defs.appendChild(elementData.of);\n pathElement.setAttribute('mask', 'url(' + getLocationHref() + '#' + elementData.maskId + ')');\n }\n } else if (data.ty === 'no') {\n elementData = new SVGNoStyleData(this, data, styleOb);\n }\n\n if (data.ty === 'st' || data.ty === 'gs') {\n pathElement.setAttribute('stroke-linecap', lineCapEnum[data.lc || 2]);\n pathElement.setAttribute('stroke-linejoin', lineJoinEnum[data.lj || 2]);\n pathElement.setAttribute('fill-opacity', '0');\n\n if (data.lj === 1) {\n pathElement.setAttribute('stroke-miterlimit', data.ml);\n }\n }\n\n if (data.r === 2) {\n pathElement.setAttribute('fill-rule', 'evenodd');\n }\n\n if (data.ln) {\n pathElement.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n pathElement.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n this.stylesList.push(styleOb);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createGroupElement = function (data) {\n var elementData = new ShapeGroupData();\n\n if (data.ln) {\n elementData.gr.setAttribute('id', data.ln);\n }\n\n if (data.cl) {\n elementData.gr.setAttribute('class', data.cl);\n }\n\n if (data.bm) {\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\n }\n\n return elementData;\n };\n\n SVGShapeElement.prototype.createTransformElement = function (data, container) {\n var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n var shapeProperty = ShapePropertyFactory.getShapeProp(this, data, ty, this);\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n this.addToAnimatedContents(data, elementData);\n return elementData;\n };\n\n SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n var i = 0;\n var len = this.animatedContents.length;\n\n while (i < len) {\n if (this.animatedContents[i].element === element) {\n return;\n }\n\n i += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(data),\n element: element,\n data: data\n });\n };\n\n SVGShapeElement.prototype.setElementStyles = function (elementData) {\n var arr = elementData.styles;\n var j;\n var jLen = this.stylesList.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (!this.stylesList[j].closed) {\n arr.push(this.stylesList[j]);\n }\n }\n };\n\n SVGShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);\n this.filterUniqueShapes();\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n };\n\n SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n var ownTransformers = [].concat(transformers);\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var currentTransform;\n var modifier;\n var processedPos;\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._render = render;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs' || arr[i].ty === 'no') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], level);\n } else {\n itemsData[i].style.closed = false;\n }\n\n if (arr[i]._render) {\n if (itemsData[i].style.pElem.parentNode !== container) {\n container.appendChild(itemsData[i].style.pElem);\n }\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n if (arr[i]._render) {\n if (itemsData[i].gr.parentNode !== container) {\n container.appendChild(itemsData[i].gr);\n }\n }\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n itemsData[i] = this.createTransformElement(arr[i], container);\n }\n\n currentTransform = itemsData[i].transform;\n ownTransformers.push(currentTransform);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n }\n\n this.setElementStyles(itemsData[i]);\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'ms' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n render = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n len = ownStyles.length;\n\n for (i = 0; i < len; i += 1) {\n ownStyles[i].closed = true;\n }\n\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n SVGShapeElement.prototype.renderInnerContent = function () {\n this.renderModifiers();\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n this.stylesList[i].reset();\n }\n\n this.renderShape();\n\n for (i = 0; i < len; i += 1) {\n if (this.stylesList[i]._mdf || this._isFirstFrame) {\n if (this.stylesList[i].msElem) {\n this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;\n }\n\n this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');\n }\n }\n };\n\n SVGShapeElement.prototype.renderShape = function () {\n var i;\n var len = this.animatedContents.length;\n var animatedContent;\n\n for (i = 0; i < len; i += 1) {\n animatedContent = this.animatedContents[i];\n\n if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);\n }\n }\n };\n\n SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement();\n this.shapesData = null;\n this.itemsData = null;\n };\n\n function LetterProps(o, sw, sc, fc, m, p) {\n this.o = o;\n this.sw = sw;\n this.sc = sc;\n this.fc = fc;\n this.m = m;\n this.p = p;\n this._mdf = {\n o: true,\n sw: !!sw,\n sc: !!sc,\n fc: !!fc,\n m: true,\n p: true\n };\n }\n\n LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n this._mdf.o = false;\n this._mdf.sw = false;\n this._mdf.sc = false;\n this._mdf.fc = false;\n this._mdf.m = false;\n this._mdf.p = false;\n var updated = false;\n\n if (this.o !== o) {\n this.o = o;\n this._mdf.o = true;\n updated = true;\n }\n\n if (this.sw !== sw) {\n this.sw = sw;\n this._mdf.sw = true;\n updated = true;\n }\n\n if (this.sc !== sc) {\n this.sc = sc;\n this._mdf.sc = true;\n updated = true;\n }\n\n if (this.fc !== fc) {\n this.fc = fc;\n this._mdf.fc = true;\n updated = true;\n }\n\n if (this.m !== m) {\n this.m = m;\n this._mdf.m = true;\n updated = true;\n }\n\n if (p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {\n this.p = p;\n this._mdf.p = true;\n updated = true;\n }\n\n return updated;\n };\n\n function TextProperty(elem, data) {\n this._frameId = initialDefaultFrame;\n this.pv = '';\n this.v = '';\n this.kf = false;\n this._isFirstFrame = true;\n this._mdf = false;\n\n if (data.d && data.d.sid) {\n data.d = elem.globalData.slotManager.getProp(data.d);\n }\n\n this.data = data;\n this.elem = elem;\n this.comp = this.elem.comp;\n this.keysIndex = 0;\n this.canResize = false;\n this.minimumFontSize = 1;\n this.effectsSequence = [];\n this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: '',\n fStyle: '',\n fWeight: '',\n fc: '',\n j: '',\n justifyOffset: '',\n l: [],\n lh: 0,\n lineWidths: [],\n ls: '',\n of: '',\n s: '',\n sc: '',\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: false,\n strokeColorAnim: false,\n strokeWidthAnim: false,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: false\n };\n this.copyData(this.currentData, this.data.d.k[0].s);\n\n if (!this.searchProperty()) {\n this.completeTextData(this.currentData);\n }\n }\n\n TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n TextProperty.prototype.copyData = function (obj, data) {\n for (var s in data) {\n if (Object.prototype.hasOwnProperty.call(data, s)) {\n obj[s] = data[s];\n }\n }\n\n return obj;\n };\n\n TextProperty.prototype.setCurrentData = function (data) {\n if (!data.__complete) {\n this.completeTextData(data);\n }\n\n this.currentData = data;\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;\n this._mdf = true;\n };\n\n TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n };\n\n TextProperty.prototype.searchKeyframes = function () {\n this.kf = this.data.d.k.length > 1;\n\n if (this.kf) {\n this.addEffect(this.getKeyframeValue.bind(this));\n }\n\n return this.kf;\n };\n\n TextProperty.prototype.addEffect = function (effectFunction) {\n this.effectsSequence.push(effectFunction);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.getValue = function (_finalValue) {\n if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\n return;\n }\n\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var currentValue = this.currentData;\n var currentIndex = this.keysIndex;\n\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n\n this.lock = true;\n this._mdf = false;\n var i;\n var len = this.effectsSequence.length;\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < len; i += 1) {\n // Checking if index changed to prevent creating a new object every time the expression updates.\n if (currentIndex !== this.keysIndex) {\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\n } else {\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\n }\n }\n\n if (currentValue !== finalValue) {\n this.setCurrentData(finalValue);\n }\n\n this.v = this.currentData;\n this.pv = this.v;\n this.lock = false;\n this.frameId = this.elem.globalData.frameId;\n };\n\n TextProperty.prototype.getKeyframeValue = function () {\n var textKeys = this.data.d.k;\n var frameNum = this.elem.comp.renderedFrame;\n var i = 0;\n var len = textKeys.length;\n\n while (i <= len - 1) {\n if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n break;\n }\n\n i += 1;\n }\n\n if (this.keysIndex !== i) {\n this.keysIndex = i;\n }\n\n return this.data.d.k[this.keysIndex].s;\n };\n\n TextProperty.prototype.buildFinalText = function (text) {\n var charactersArray = [];\n var i = 0;\n var len = text.length;\n var charCode;\n var secondCharCode;\n var shouldCombine = false;\n var shouldCombineNext = false;\n var currentChars = '';\n\n while (i < len) {\n shouldCombine = shouldCombineNext;\n shouldCombineNext = false;\n charCode = text.charCodeAt(i);\n currentChars = text.charAt(i);\n\n if (FontManager.isCombinedCharacter(charCode)) {\n shouldCombine = true; // It's a potential surrogate pair (this is the High surrogate)\n } else if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n if (FontManager.isRegionalFlag(text, i)) {\n currentChars = text.substr(i, 14);\n } else {\n secondCharCode = text.charCodeAt(i + 1); // It's a surrogate pair (this is the Low surrogate)\n\n if (secondCharCode >= 0xDC00 && secondCharCode <= 0xDFFF) {\n if (FontManager.isModifier(charCode, secondCharCode)) {\n currentChars = text.substr(i, 2);\n shouldCombine = true;\n } else if (FontManager.isFlagEmoji(text.substr(i, 4))) {\n currentChars = text.substr(i, 4);\n } else {\n currentChars = text.substr(i, 2);\n }\n }\n }\n } else if (charCode > 0xDBFF) {\n secondCharCode = text.charCodeAt(i + 1);\n\n if (FontManager.isVariationSelector(charCode)) {\n shouldCombine = true;\n }\n } else if (FontManager.isZeroWidthJoiner(charCode)) {\n shouldCombine = true;\n shouldCombineNext = true;\n }\n\n if (shouldCombine) {\n charactersArray[charactersArray.length - 1] += currentChars;\n shouldCombine = false;\n } else {\n charactersArray.push(currentChars);\n }\n\n i += currentChars.length;\n }\n\n return charactersArray;\n };\n\n TextProperty.prototype.completeTextData = function (documentData) {\n documentData.__complete = true;\n var fontManager = this.elem.globalData.fontManager;\n var data = this.data;\n var letters = [];\n var i;\n var len;\n var newLineFlag;\n var index = 0;\n var val;\n var anchorGrouping = data.m.g;\n var currentSize = 0;\n var currentPos = 0;\n var currentLine = 0;\n var lineWidths = [];\n var lineWidth = 0;\n var maxLineWidth = 0;\n var j;\n var jLen;\n var fontData = fontManager.getFontByName(documentData.f);\n var charData;\n var cLength = 0;\n var fontProps = getFontProperties(fontData);\n documentData.fWeight = fontProps.weight;\n documentData.fStyle = fontProps.style;\n documentData.finalSize = documentData.s;\n documentData.finalText = this.buildFinalText(documentData.t);\n len = documentData.finalText.length;\n documentData.finalLineHeight = documentData.lh;\n var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var charCode;\n\n if (documentData.sz) {\n var flag = true;\n var boxWidth = documentData.sz[0];\n var boxHeight = documentData.sz[1];\n var currentHeight;\n var finalText;\n\n while (flag) {\n finalText = this.buildFinalText(documentData.t);\n currentHeight = 0;\n lineWidth = 0;\n len = finalText.length;\n trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n var lastSpaceIndex = -1;\n\n for (i = 0; i < len; i += 1) {\n charCode = finalText[i].charCodeAt(0);\n newLineFlag = false;\n\n if (finalText[i] === ' ') {\n lastSpaceIndex = i;\n } else if (charCode === 13 || charCode === 3) {\n lineWidth = 0;\n newLineFlag = true;\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n }\n\n if (lineWidth + cLength > boxWidth && finalText[i] !== ' ') {\n if (lastSpaceIndex === -1) {\n len += 1;\n } else {\n i = lastSpaceIndex;\n }\n\n currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0, '\\r'); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n lastSpaceIndex = -1;\n lineWidth = 0;\n } else {\n lineWidth += cLength;\n lineWidth += trackingOffset;\n }\n }\n\n currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\n documentData.finalSize -= 1;\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n } else {\n documentData.finalText = finalText;\n len = documentData.finalText.length;\n flag = false;\n }\n }\n }\n\n lineWidth = -trackingOffset;\n cLength = 0;\n var uncollapsedSpaces = 0;\n var currentChar;\n\n for (i = 0; i < len; i += 1) {\n newLineFlag = false;\n currentChar = documentData.finalText[i];\n charCode = currentChar.charCodeAt(0);\n\n if (charCode === 13 || charCode === 3) {\n uncollapsedSpaces = 0;\n lineWidths.push(lineWidth);\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidth = -2 * trackingOffset;\n val = '';\n newLineFlag = true;\n currentLine += 1;\n } else {\n val = currentChar;\n }\n\n if (fontManager.chars) {\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n } else {\n // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n } //\n\n\n if (currentChar === ' ') {\n uncollapsedSpaces += cLength + trackingOffset;\n } else {\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n uncollapsedSpaces = 0;\n }\n\n letters.push({\n l: cLength,\n an: cLength,\n add: currentSize,\n n: newLineFlag,\n anIndexes: [],\n val: val,\n line: currentLine,\n animatorJustifyOffset: 0\n });\n\n if (anchorGrouping == 2) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || val === ' ' || i === len - 1) {\n if (val === '' || val === ' ') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n index += 1;\n currentSize = 0;\n }\n } else if (anchorGrouping == 3) {\n // eslint-disable-line eqeqeq\n currentSize += cLength;\n\n if (val === '' || i === len - 1) {\n if (val === '') {\n currentSize -= cLength;\n }\n\n while (currentPos <= i) {\n letters[currentPos].an = currentSize;\n letters[currentPos].ind = index;\n letters[currentPos].extra = cLength;\n currentPos += 1;\n }\n\n currentSize = 0;\n index += 1;\n }\n } else {\n letters[index].ind = index;\n letters[index].extra = 0;\n index += 1;\n }\n }\n\n documentData.l = letters;\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n lineWidths.push(lineWidth);\n\n if (documentData.sz) {\n documentData.boxWidth = documentData.sz[0];\n documentData.justifyOffset = 0;\n } else {\n documentData.boxWidth = maxLineWidth;\n\n switch (documentData.j) {\n case 1:\n documentData.justifyOffset = -documentData.boxWidth;\n break;\n\n case 2:\n documentData.justifyOffset = -documentData.boxWidth / 2;\n break;\n\n default:\n documentData.justifyOffset = 0;\n }\n }\n\n documentData.lineWidths = lineWidths;\n var animators = data.a;\n var animatorData;\n var letterData;\n jLen = animators.length;\n var based;\n var ind;\n var indexes = [];\n\n for (j = 0; j < jLen; j += 1) {\n animatorData = animators[j];\n\n if (animatorData.a.sc) {\n documentData.strokeColorAnim = true;\n }\n\n if (animatorData.a.sw) {\n documentData.strokeWidthAnim = true;\n }\n\n if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n documentData.fillColorAnim = true;\n }\n\n ind = 0;\n based = animatorData.s.b;\n\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n letterData.anIndexes[j] = ind;\n\n if (based == 1 && letterData.val !== '' || based == 2 && letterData.val !== '' && letterData.val !== ' ' || based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n // eslint-disable-line eqeqeq\n if (animatorData.s.rn === 1) {\n indexes.push(ind);\n }\n\n ind += 1;\n }\n }\n\n data.a[j].s.totalChars = ind;\n var currentInd = -1;\n var newInd;\n\n if (animatorData.s.rn === 1) {\n for (i = 0; i < len; i += 1) {\n letterData = letters[i];\n\n if (currentInd != letterData.anIndexes[j]) {\n // eslint-disable-line eqeqeq\n currentInd = letterData.anIndexes[j];\n newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n }\n\n letterData.anIndexes[j] = newInd;\n }\n }\n }\n\n documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n documentData.ls = documentData.ls || 0;\n documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n };\n\n TextProperty.prototype.updateDocumentData = function (newData, index) {\n index = index === undefined ? this.keysIndex : index;\n var dData = this.copyData({}, this.data.d.k[index].s);\n dData = this.copyData(dData, newData);\n this.data.d.k[index].s = dData;\n this.recalculate(index);\n this.setCurrentData(dData);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.recalculate = function (index) {\n var dData = this.data.d.k[index].s;\n dData.__complete = false;\n this.keysIndex = 0;\n this._isFirstFrame = true;\n this.getValue(dData);\n };\n\n TextProperty.prototype.canResizeFont = function (_canResize) {\n this.canResize = _canResize;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n this.minimumFontSize = Math.floor(_fontValue) || 1;\n this.recalculate(this.keysIndex);\n this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var max = Math.max;\n var min = Math.min;\n var floor = Math.floor;\n\n function TextSelectorPropFactory(elem, data) {\n this._currentTextLength = -1;\n this.k = false;\n this.data = data;\n this.elem = elem;\n this.comp = elem.comp;\n this.finalS = 0;\n this.finalE = 0;\n this.initDynamicPropertyContainer(elem);\n this.s = PropertyFactory.getProp(elem, data.s || {\n k: 0\n }, 0, 0, this);\n\n if ('e' in data) {\n this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);\n } else {\n this.e = {\n v: 100\n };\n }\n\n this.o = PropertyFactory.getProp(elem, data.o || {\n k: 0\n }, 0, 0, this);\n this.xe = PropertyFactory.getProp(elem, data.xe || {\n k: 0\n }, 0, 0, this);\n this.ne = PropertyFactory.getProp(elem, data.ne || {\n k: 0\n }, 0, 0, this);\n this.sm = PropertyFactory.getProp(elem, data.sm || {\n k: 100\n }, 0, 0, this);\n this.a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this);\n\n if (!this.dynamicProperties.length) {\n this.getValue();\n }\n }\n\n TextSelectorPropFactory.prototype = {\n getMult: function getMult(ind) {\n if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) {\n this.getValue();\n }\n\n var x1 = 0;\n var y1 = 0;\n var x2 = 1;\n var y2 = 1;\n\n if (this.ne.v > 0) {\n x1 = this.ne.v / 100.0;\n } else {\n y1 = -this.ne.v / 100.0;\n }\n\n if (this.xe.v > 0) {\n x2 = 1.0 - this.xe.v / 100.0;\n } else {\n y2 = 1.0 + this.xe.v / 100.0;\n }\n\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n var mult = 0;\n var s = this.finalS;\n var e = this.finalE;\n var type = this.data.sh;\n\n if (type === 2) {\n if (e === s) {\n mult = ind >= e ? 1 : 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 3) {\n if (e === s) {\n mult = ind >= e ? 0 : 1;\n } else {\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n }\n\n mult = easer(mult);\n } else if (type === 4) {\n if (e === s) {\n mult = 0;\n } else {\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n if (mult < 0.5) {\n mult *= 2;\n } else {\n mult = 1 - 2 * (mult - 0.5);\n }\n }\n\n mult = easer(mult);\n } else if (type === 5) {\n if (e === s) {\n mult = 0;\n } else {\n var tot = e - s;\n /* ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n ind = min(max(0, ind + 0.5 - s), e - s);\n var x = -tot / 2 + ind;\n var a = tot / 2;\n mult = Math.sqrt(1 - x * x / (a * a));\n }\n\n mult = easer(mult);\n } else if (type === 6) {\n if (e === s) {\n mult = 0;\n } else {\n ind = min(max(0, ind + 0.5 - s), e - s);\n mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n }\n\n mult = easer(mult);\n } else {\n if (ind >= floor(s)) {\n if (ind - s < 0) {\n mult = max(0, min(min(e, 1) - (s - ind), 1));\n } else {\n mult = max(0, min(e - ind, 1));\n }\n }\n\n mult = easer(mult);\n } // Smoothness implementation.\n // The smoothness represents a reduced range of the original [0; 1] range.\n // if smoothness is 25%, the new range will be [0.375; 0.625]\n // Steps are:\n // - find the lower value of the new range (threshold)\n // - if multiplier is smaller than that value, floor it to 0\n // - if it is larger,\n // - subtract the threshold\n // - divide it by the smoothness (this will return the range to [0; 1])\n // Note: If it doesn't work on some scenarios, consider applying it before the easer.\n\n\n if (this.sm.v !== 100) {\n var smoothness = this.sm.v * 0.01;\n\n if (smoothness === 0) {\n smoothness = 0.00000001;\n }\n\n var threshold = 0.5 - smoothness * 0.5;\n\n if (mult < threshold) {\n mult = 0;\n } else {\n mult = (mult - threshold) / smoothness;\n\n if (mult > 1) {\n mult = 1;\n }\n }\n }\n\n return mult * this.a.v;\n },\n getValue: function getValue(newCharsFlag) {\n this.iterateDynamicProperties();\n this._mdf = newCharsFlag || this._mdf;\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\n\n if (newCharsFlag && this.data.r === 2) {\n this.e.v = this._currentTextLength;\n }\n\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\n var o = this.o.v / divisor;\n var s = this.s.v / divisor + o;\n var e = this.e.v / divisor + o;\n\n if (s > e) {\n var _s = s;\n s = e;\n e = _s;\n }\n\n this.finalS = s;\n this.finalE = e;\n }\n };\n extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n function getTextSelectorProp(elem, data, arr) {\n return new TextSelectorPropFactory(elem, data, arr);\n }\n\n return {\n getTextSelectorProp: getTextSelectorProp\n };\n }();\n\n function TextAnimatorDataProperty(elem, animatorProps, container) {\n var defaultData = {\n propType: false\n };\n var getProp = PropertyFactory.getProp;\n var textAnimatorAnimatables = animatorProps.a;\n this.a = {\n r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n };\n this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n this.s.t = animatorProps.s.t;\n }\n\n function TextAnimatorProperty(textData, renderType, elem) {\n this._isFirstFrame = true;\n this._hasMaskedPath = false;\n this._frameId = -1;\n this._textData = textData;\n this._renderType = renderType;\n this._elem = elem;\n this._animatorsData = createSizedArray(this._textData.a.length);\n this._pathData = {};\n this._moreOptions = {\n alignment: {}\n };\n this.renderedLetters = [];\n this.lettersChangedFlag = false;\n this.initDynamicPropertyContainer(elem);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var i;\n var len = this._textData.a.length;\n var animatorProps;\n var getProp = PropertyFactory.getProp;\n\n for (i = 0; i < len; i += 1) {\n animatorProps = this._textData.a[i];\n this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);\n }\n\n if (this._textData.p && 'm' in this._textData.p) {\n this._pathData = {\n a: getProp(this._elem, this._textData.p.a, 0, 0, this),\n f: getProp(this._elem, this._textData.p.f, 0, 0, this),\n l: getProp(this._elem, this._textData.p.l, 0, 0, this),\n r: getProp(this._elem, this._textData.p.r, 0, 0, this),\n p: getProp(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n };\n this._hasMaskedPath = true;\n } else {\n this._hasMaskedPath = false;\n }\n\n this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);\n };\n\n TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n this.lettersChangedFlag = lettersChangedFlag;\n\n if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {\n return;\n }\n\n this._isFirstFrame = false;\n var alignment = this._moreOptions.alignment.v;\n var animators = this._animatorsData;\n var textData = this._textData;\n var matrixHelper = this.mHelper;\n var renderType = this._renderType;\n var renderedLettersCount = this.renderedLetters.length;\n var xPos;\n var yPos;\n var i;\n var len;\n var letters = documentData.l;\n var pathInfo;\n var currentLength;\n var currentPoint;\n var segmentLength;\n var flag;\n var pointInd;\n var segmentInd;\n var prevPoint;\n var points;\n var segments;\n var partialLength;\n var totalLength;\n var perc;\n var tanAngle;\n var mask;\n\n if (this._hasMaskedPath) {\n mask = this._pathData.m;\n\n if (!this._pathData.n || this._pathData._mdf) {\n var paths = mask.v;\n\n if (this._pathData.r.v) {\n paths = paths.reverse();\n } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n pathInfo = {\n tLength: 0,\n segments: []\n };\n len = paths._length - 1;\n var bezierData;\n totalLength = 0;\n\n for (i = 0; i < len; i += 1) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n i = len;\n\n if (mask.v.c) {\n bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n pathInfo.tLength += bezierData.segmentLength;\n pathInfo.segments.push(bezierData);\n totalLength += bezierData.segmentLength;\n }\n\n this._pathData.pi = pathInfo;\n }\n\n pathInfo = this._pathData.pi;\n currentLength = this._pathData.f.v;\n segmentInd = 0;\n pointInd = 1;\n segmentLength = 0;\n flag = true;\n segments = pathInfo.segments;\n\n if (currentLength < 0 && mask.v.c) {\n if (pathInfo.tLength < Math.abs(currentLength)) {\n currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n }\n\n segmentInd = segments.length - 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n\n while (currentLength < 0) {\n currentLength += points[pointInd].partialLength;\n pointInd -= 1;\n\n if (pointInd < 0) {\n segmentInd -= 1;\n points = segments[segmentInd].points;\n pointInd = points.length - 1;\n }\n }\n }\n\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n\n len = letters.length;\n xPos = 0;\n yPos = 0;\n var yOff = documentData.finalSize * 1.2 * 0.714;\n var firstLine = true;\n var animatorProps;\n var animatorSelector;\n var j;\n var jLen;\n var letterValue;\n jLen = animators.length;\n var mult;\n var ind = -1;\n var offf;\n var xPathPos;\n var yPathPos;\n var initPathPos = currentLength;\n var initSegmentInd = segmentInd;\n var initPointInd = pointInd;\n var currentLine = -1;\n var elemOpacity;\n var sc;\n var sw;\n var fc;\n var k;\n var letterSw;\n var letterSc;\n var letterFc;\n var letterM = '';\n var letterP = this.defaultPropsArray;\n var letterO; //\n\n if (documentData.j === 2 || documentData.j === 1) {\n var animatorJustifyOffset = 0;\n var animatorFirstCharOffset = 0;\n var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n var lastIndex = 0;\n var isNewLine = true;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n\n animatorJustifyOffset = 0;\n isNewLine = true;\n } else {\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n if (isNewLine && documentData.j === 2) {\n animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n }\n\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n } else {\n animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n }\n }\n }\n\n isNewLine = false;\n }\n }\n\n if (animatorJustifyOffset) {\n animatorJustifyOffset += animatorFirstCharOffset;\n }\n\n while (lastIndex < i) {\n letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n lastIndex += 1;\n }\n } //\n\n\n for (i = 0; i < len; i += 1) {\n matrixHelper.reset();\n elemOpacity = 1;\n\n if (letters[i].n) {\n xPos = 0;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n currentLength = initPathPos;\n firstLine = false;\n\n if (this._hasMaskedPath) {\n segmentInd = initSegmentInd;\n pointInd = initPointInd;\n points = segments[segmentInd].points;\n prevPoint = points[pointInd - 1];\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n segmentLength = 0;\n }\n\n letterM = '';\n letterFc = '';\n letterSw = '';\n letterO = '';\n letterP = this.defaultPropsArray;\n } else {\n if (this._hasMaskedPath) {\n if (currentLine !== letters[i].line) {\n switch (documentData.j) {\n case 1:\n currentLength += totalLength - documentData.lineWidths[letters[i].line];\n break;\n\n case 2:\n currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n break;\n\n default:\n break;\n }\n\n currentLine = letters[i].line;\n }\n\n if (ind !== letters[i].ind) {\n if (letters[ind]) {\n currentLength += letters[ind].extra;\n }\n\n currentLength += letters[i].an / 2;\n ind = letters[i].ind;\n }\n\n currentLength += alignment[0] * letters[i].an * 0.005;\n var animatorOffset = 0;\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.p.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.p.v[0] * mult;\n }\n }\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n animatorOffset += animatorProps.a.v[0] * mult[0];\n } else {\n animatorOffset += animatorProps.a.v[0] * mult;\n }\n }\n }\n\n flag = true; // Force alignment only works with a single line for now\n\n if (this._pathData.a.v) {\n currentLength = letters[0].an * 0.5 + (totalLength - this._pathData.f.v - letters[0].an * 0.5 - letters[letters.length - 1].an * 0.5) * ind / (len - 1);\n currentLength += this._pathData.f.v;\n }\n\n while (flag) {\n if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n flag = false;\n } else if (points) {\n segmentLength += currentPoint.partialLength;\n pointInd += 1;\n\n if (pointInd >= points.length) {\n pointInd = 0;\n segmentInd += 1;\n\n if (!segments[segmentInd]) {\n if (mask.v.c) {\n pointInd = 0;\n segmentInd = 0;\n points = segments[segmentInd].points;\n } else {\n segmentLength -= currentPoint.partialLength;\n points = null;\n }\n } else {\n points = segments[segmentInd].points;\n }\n }\n\n if (points) {\n prevPoint = currentPoint;\n currentPoint = points[pointInd];\n partialLength = currentPoint.partialLength;\n }\n }\n }\n\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0);\n } else {\n offf = letters[i].an / 2 - letters[i].add;\n matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.t.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n if (xPos !== 0 || documentData.j !== 0) {\n if (this._hasMaskedPath) {\n if (mult.length) {\n currentLength += animatorProps.t.v * mult[0];\n } else {\n currentLength += animatorProps.t.v * mult;\n }\n } else if (mult.length) {\n xPos += animatorProps.t.v * mult[0];\n } else {\n xPos += animatorProps.t.v * mult;\n }\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n sw = documentData.sw || 0;\n }\n\n if (documentData.strokeColorAnim) {\n if (documentData.sc) {\n sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n } else {\n sc = [0, 0, 0];\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.a.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n } else {\n matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.s.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (mult.length) {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n } else {\n matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (animatorProps.sk.propType) {\n if (mult.length) {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n } else {\n matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n }\n }\n\n if (animatorProps.r.propType) {\n if (mult.length) {\n matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n } else {\n matrixHelper.rotateZ(-animatorProps.r.v * mult);\n }\n }\n\n if (animatorProps.ry.propType) {\n if (mult.length) {\n matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n } else {\n matrixHelper.rotateY(animatorProps.ry.v * mult);\n }\n }\n\n if (animatorProps.rx.propType) {\n if (mult.length) {\n matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n } else {\n matrixHelper.rotateX(animatorProps.rx.v * mult);\n }\n }\n\n if (animatorProps.o.propType) {\n if (mult.length) {\n elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n } else {\n elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n }\n }\n\n if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n if (mult.length) {\n sw += animatorProps.sw.v * mult[0];\n } else {\n sw += animatorProps.sw.v * mult;\n }\n }\n\n if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n } else {\n sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n }\n }\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n if (animatorProps.fc.propType) {\n for (k = 0; k < 3; k += 1) {\n if (mult.length) {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n } else {\n fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n }\n }\n }\n\n if (animatorProps.fh.propType) {\n if (mult.length) {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n } else {\n fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n }\n }\n\n if (animatorProps.fs.propType) {\n if (mult.length) {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n } else {\n fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n }\n }\n\n if (animatorProps.fb.propType) {\n if (mult.length) {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n } else {\n fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n }\n }\n }\n }\n\n for (j = 0; j < jLen; j += 1) {\n animatorProps = animators[j].a;\n\n if (animatorProps.p.propType) {\n animatorSelector = animators[j].s;\n mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n if (this._hasMaskedPath) {\n if (mult.length) {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n } else {\n matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n } else if (mult.length) {\n matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n } else {\n matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n }\n }\n }\n\n if (documentData.strokeWidthAnim) {\n letterSw = sw < 0 ? 0 : sw;\n }\n\n if (documentData.strokeColorAnim) {\n letterSc = 'rgb(' + Math.round(sc[0] * 255) + ',' + Math.round(sc[1] * 255) + ',' + Math.round(sc[2] * 255) + ')';\n }\n\n if (documentData.fillColorAnim && documentData.fc) {\n letterFc = 'rgb(' + Math.round(fc[0] * 255) + ',' + Math.round(fc[1] * 255) + ',' + Math.round(fc[2] * 255) + ')';\n }\n\n if (this._hasMaskedPath) {\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n if (this._pathData.p.v) {\n tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n if (currentPoint.point[0] < prevPoint.point[0]) {\n rot += 180;\n }\n\n matrixHelper.rotate(-rot * Math.PI / 180);\n }\n\n matrixHelper.translate(xPathPos, yPathPos, 0);\n currentLength -= alignment[0] * letters[i].an * 0.005;\n\n if (letters[i + 1] && ind !== letters[i + 1].ind) {\n currentLength += letters[i].an / 2;\n currentLength += documentData.tr * 0.001 * documentData.finalSize;\n }\n } else {\n matrixHelper.translate(xPos, yPos, 0);\n\n if (documentData.ps) {\n // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(0, -documentData.ls);\n matrixHelper.translate(offf, 0, 0);\n matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n }\n\n if (renderType === 'html') {\n letterM = matrixHelper.toCSS();\n } else if (renderType === 'svg') {\n letterM = matrixHelper.to2dCSS();\n } else {\n letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n }\n\n letterO = elemOpacity;\n }\n\n if (renderedLettersCount <= i) {\n letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n this.renderedLetters.push(letterValue);\n renderedLettersCount += 1;\n this.lettersChangedFlag = true;\n } else {\n letterValue = this.renderedLetters[i];\n this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;\n }\n }\n };\n\n TextAnimatorProperty.prototype.getValue = function () {\n if (this._elem.globalData.frameId === this._frameId) {\n return;\n }\n\n this._frameId = this._elem.globalData.frameId;\n this.iterateDynamicProperties();\n };\n\n TextAnimatorProperty.prototype.mHelper = new Matrix();\n TextAnimatorProperty.prototype.defaultPropsArray = [];\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n\n function ITextElement() {}\n\n ITextElement.prototype.initElement = function (data, globalData, comp) {\n this.lettersChangedFlag = true;\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n this.initRenderable();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n this.createContent();\n this.hide();\n this.textAnimator.searchProperties(this.dynamicProperties);\n };\n\n ITextElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n };\n\n ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n var j;\n var jLen = shapes.length;\n var pathNodes;\n var shapeStr = '';\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n pathNodes = shapes[j].ks.k;\n shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n }\n }\n\n return shapeStr;\n };\n\n ITextElement.prototype.updateDocumentData = function (newData, index) {\n this.textProperty.updateDocumentData(newData, index);\n };\n\n ITextElement.prototype.canResizeFont = function (_canResize) {\n this.textProperty.canResizeFont(_canResize);\n };\n\n ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n this.textProperty.setMinimumFontSize(_fontSize);\n };\n\n ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n if (documentData.ps) {\n matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n }\n\n matrixHelper.translate(0, -documentData.ls, 0);\n\n switch (documentData.j) {\n case 1:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n break;\n\n case 2:\n matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n break;\n\n default:\n break;\n }\n\n matrixHelper.translate(xPos, yPos, 0);\n };\n\n ITextElement.prototype.buildColor = function (colorData) {\n return 'rgb(' + Math.round(colorData[0] * 255) + ',' + Math.round(colorData[1] * 255) + ',' + Math.round(colorData[2] * 255) + ')';\n };\n\n ITextElement.prototype.emptyProp = new LetterProps();\n\n ITextElement.prototype.destroy = function () {};\n\n ITextElement.prototype.validateText = function () {\n if (this.textProperty._mdf || this.textProperty._isFirstFrame) {\n this.buildNewText();\n this.textProperty._isFirstFrame = false;\n this.textProperty._mdf = false;\n }\n };\n\n var emptyShapeData = {\n shapes: []\n };\n\n function SVGTextLottieElement(data, globalData, comp) {\n this.textSpans = [];\n this.renderType = 'svg';\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n SVGTextLottieElement.prototype.createContent = function () {\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\n this.textContainer = createNS('text');\n }\n };\n\n SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n var i = 0;\n var len = textArray.length;\n var textContents = [];\n var currentTextContent = '';\n\n while (i < len) {\n if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n textContents.push(currentTextContent);\n currentTextContent = '';\n } else {\n currentTextContent += textArray[i];\n }\n\n i += 1;\n }\n\n textContents.push(currentTextContent);\n return textContents;\n };\n\n SVGTextLottieElement.prototype.buildShapeData = function (data, scale) {\n // data should probably be cloned to apply scale separately to each instance of a text on different layers\n // but since text internal content gets only rendered once and then it's never rerendered,\n // it's probably safe not to clone data and reuse always the same instance even if the object is mutated.\n // Avoiding cloning is preferred since cloning each character shape data is expensive\n if (data.shapes && data.shapes.length) {\n var shape = data.shapes[0];\n\n if (shape.it) {\n var shapeItem = shape.it[shape.it.length - 1];\n\n if (shapeItem.s) {\n shapeItem.s.k[0] = scale;\n shapeItem.s.k[1] = scale;\n }\n }\n }\n\n return data;\n };\n\n SVGTextLottieElement.prototype.buildNewText = function () {\n this.addDynamicProperty(this);\n var i;\n var len;\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n if (documentData.fc) {\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\n } else {\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\n }\n\n if (documentData.sc) {\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\n this.layerElement.setAttribute('stroke-width', documentData.sw);\n }\n\n this.layerElement.setAttribute('font-size', documentData.finalSize);\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (fontData.fClass) {\n this.layerElement.setAttribute('class', fontData.fClass);\n } else {\n this.layerElement.setAttribute('font-family', fontData.fFamily);\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n this.layerElement.setAttribute('font-style', fStyle);\n this.layerElement.setAttribute('font-weight', fWeight);\n }\n\n this.layerElement.setAttribute('aria-label', documentData.t);\n var letters = documentData.l || [];\n var usesGlyphs = !!this.globalData.fontManager.chars;\n len = letters.length;\n var tSpan;\n var matrixHelper = this.mHelper;\n var shapeStr = '';\n var singleShape = this.data.singleShape;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n if (singleShape && !usesGlyphs && !documentData.sz) {\n var tElement = this.textContainer;\n var justify = 'start';\n\n switch (documentData.j) {\n case 1:\n justify = 'end';\n break;\n\n case 2:\n justify = 'middle';\n break;\n\n default:\n justify = 'start';\n break;\n }\n\n tElement.setAttribute('text-anchor', justify);\n tElement.setAttribute('letter-spacing', trackingOffset);\n var textContent = this.buildTextContents(documentData.finalText);\n len = textContent.length;\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n for (i = 0; i < len; i += 1) {\n tSpan = this.textSpans[i].span || createNS('tspan');\n tSpan.textContent = textContent[i];\n tSpan.setAttribute('x', 0);\n tSpan.setAttribute('y', yPos);\n tSpan.style.display = 'inherit';\n tElement.appendChild(tSpan);\n\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n glyph: null\n };\n }\n\n this.textSpans[i].span = tSpan;\n yPos += documentData.finalLineHeight;\n }\n\n this.layerElement.appendChild(tElement);\n } else {\n var cachedSpansLength = this.textSpans.length;\n var charData;\n\n for (i = 0; i < len; i += 1) {\n if (!this.textSpans[i]) {\n this.textSpans[i] = {\n span: null,\n childSpan: null,\n glyph: null\n };\n }\n\n if (!usesGlyphs || !singleShape || i === 0) {\n tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? 'g' : 'text');\n\n if (cachedSpansLength <= i) {\n tSpan.setAttribute('stroke-linecap', 'butt');\n tSpan.setAttribute('stroke-linejoin', 'round');\n tSpan.setAttribute('stroke-miterlimit', '4');\n this.textSpans[i].span = tSpan;\n\n if (usesGlyphs) {\n var childSpan = createNS('g');\n tSpan.appendChild(childSpan);\n this.textSpans[i].childSpan = childSpan;\n }\n\n this.textSpans[i].span = tSpan;\n this.layerElement.appendChild(tSpan);\n }\n\n tSpan.style.display = 'inherit';\n }\n\n matrixHelper.reset();\n\n if (singleShape) {\n if (letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n xPos += trackingOffset;\n }\n\n if (usesGlyphs) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var glyphElement; // t === 1 means the character has been replaced with an animated shaped\n\n if (charData.t === 1) {\n glyphElement = new SVGCompElement(charData.data, this.globalData, this);\n } else {\n var data = emptyShapeData;\n\n if (charData.data && charData.data.shapes) {\n data = this.buildShapeData(charData.data, documentData.finalSize);\n }\n\n glyphElement = new SVGShapeElement(data, this.globalData, this);\n }\n\n if (this.textSpans[i].glyph) {\n var glyph = this.textSpans[i].glyph;\n this.textSpans[i].childSpan.removeChild(glyph.layerElement);\n glyph.destroy();\n }\n\n this.textSpans[i].glyph = glyphElement;\n glyphElement._debug = true;\n glyphElement.prepareFrame(0);\n glyphElement.renderFrame();\n this.textSpans[i].childSpan.appendChild(glyphElement.layerElement); // when using animated shapes, the layer will be scaled instead of replacing the internal scale\n // this might have issues with strokes and might need a different solution\n\n if (charData.t === 1) {\n this.textSpans[i].childSpan.setAttribute('transform', 'scale(' + documentData.finalSize / 100 + ',' + documentData.finalSize / 100 + ')');\n }\n } else {\n if (singleShape) {\n tSpan.setAttribute('transform', 'translate(' + matrixHelper.props[12] + ',' + matrixHelper.props[13] + ')');\n }\n\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n } //\n\n }\n\n if (singleShape && tSpan) {\n tSpan.setAttribute('d', shapeStr);\n }\n }\n\n while (i < this.textSpans.length) {\n this.textSpans[i].span.style.display = 'none';\n i += 1;\n }\n\n this._sizeChanged = true;\n };\n\n SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\n this.renderInnerContent();\n\n if (this._sizeChanged) {\n this._sizeChanged = false;\n var textBox = this.layerElement.getBBox();\n this.bbox = {\n top: textBox.y,\n left: textBox.x,\n width: textBox.width,\n height: textBox.height\n };\n }\n\n return this.bbox;\n };\n\n SVGTextLottieElement.prototype.getValue = function () {\n var i;\n var len = this.textSpans.length;\n var glyphElement;\n this.renderedFrame = this.comp.renderedFrame;\n\n for (i = 0; i < len; i += 1) {\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);\n\n if (glyphElement._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n SVGTextLottieElement.prototype.renderInnerContent = function () {\n this.validateText();\n\n if (!this.data.singleShape || this._mdf) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n this._sizeChanged = true;\n var i;\n var len;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var glyphElement;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n textSpan = this.textSpans[i].span;\n glyphElement = this.textSpans[i].glyph;\n\n if (glyphElement) {\n glyphElement.renderFrame();\n }\n\n if (renderedLetter._mdf.m) {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n\n if (renderedLetter._mdf.o) {\n textSpan.setAttribute('opacity', renderedLetter.o);\n }\n\n if (renderedLetter._mdf.sw) {\n textSpan.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter._mdf.sc) {\n textSpan.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter._mdf.fc) {\n textSpan.setAttribute('fill', renderedLetter.fc);\n }\n }\n }\n }\n }\n };\n\n function ISolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([IImageElement], ISolidElement);\n\n ISolidElement.prototype.createContent = function () {\n var rect = createNS('rect'); /// /rect.style.width = this.data.sw;\n /// /rect.style.height = this.data.sh;\n /// /rect.style.fill = this.data.sc;\n\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.layerElement.appendChild(rect);\n };\n\n function NullElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initFrame();\n this.initTransform(data, globalData, comp);\n this.initHierarchy();\n }\n\n NullElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n NullElement.prototype.renderFrame = function () {};\n\n NullElement.prototype.getBaseElement = function () {\n return null;\n };\n\n NullElement.prototype.destroy = function () {};\n\n NullElement.prototype.sourceRectAtTime = function () {};\n\n NullElement.prototype.hide = function () {};\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n\n function SVGRendererBase() {}\n\n extendPrototype([BaseRenderer], SVGRendererBase);\n\n SVGRendererBase.prototype.createNull = function (data) {\n return new NullElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createShape = function (data) {\n return new SVGShapeElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createText = function (data) {\n return new SVGTextLottieElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createImage = function (data) {\n return new IImageElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.createSolid = function (data) {\n return new ISolidElement(data, this.globalData, this);\n };\n\n SVGRendererBase.prototype.configAnimation = function (animData) {\n this.svgElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n this.svgElement.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');\n\n if (this.renderConfig.viewBoxSize) {\n this.svgElement.setAttribute('viewBox', this.renderConfig.viewBoxSize);\n } else {\n this.svgElement.setAttribute('viewBox', '0 0 ' + animData.w + ' ' + animData.h);\n }\n\n if (!this.renderConfig.viewBoxOnly) {\n this.svgElement.setAttribute('width', animData.w);\n this.svgElement.setAttribute('height', animData.h);\n this.svgElement.style.width = '100%';\n this.svgElement.style.height = '100%';\n this.svgElement.style.transform = 'translate3d(0,0,0)';\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;\n }\n\n if (this.renderConfig.width) {\n this.svgElement.setAttribute('width', this.renderConfig.width);\n }\n\n if (this.renderConfig.height) {\n this.svgElement.setAttribute('height', this.renderConfig.height);\n }\n\n if (this.renderConfig.className) {\n this.svgElement.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.svgElement.setAttribute('id', this.renderConfig.id);\n }\n\n if (this.renderConfig.focusable !== undefined) {\n this.svgElement.setAttribute('focusable', this.renderConfig.focusable);\n }\n\n this.svgElement.setAttribute('preserveAspectRatio', this.renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n this.animationItem.wrapper.appendChild(this.svgElement); // Mask animation\n\n var defs = this.globalData.defs;\n this.setupGlobalData(animData, defs);\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.data = animData;\n var maskElement = createNS('clipPath');\n var rect = createNS('rect');\n rect.setAttribute('width', animData.w);\n rect.setAttribute('height', animData.h);\n rect.setAttribute('x', 0);\n rect.setAttribute('y', 0);\n var maskId = createElementID();\n maskElement.setAttribute('id', maskId);\n maskElement.appendChild(rect);\n this.layerElement.setAttribute('clip-path', 'url(' + getLocationHref() + '#' + maskId + ')');\n defs.appendChild(maskElement);\n this.layers = animData.layers;\n this.elements = createSizedArray(animData.layers.length);\n };\n\n SVGRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.layerElement = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n SVGRendererBase.prototype.updateContainerSize = function () {};\n\n SVGRendererBase.prototype.findIndexByInd = function (ind) {\n var i = 0;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ind === ind) {\n return i;\n }\n }\n\n return -1;\n };\n\n SVGRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n elements[pos] = true;\n var element = this.createItem(this.layers[pos]);\n elements[pos] = element;\n\n if (getExpressionsPlugin()) {\n if (this.layers[pos].ty === 0) {\n this.globalData.projectInterface.registerComposition(element);\n }\n\n element.initExpressions();\n }\n\n this.appendElementInPos(element, pos);\n\n if (this.layers[pos].tt) {\n var elementIndex = 'tp' in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1;\n\n if (elementIndex === -1) {\n return;\n }\n\n if (!this.elements[elementIndex] || this.elements[elementIndex] === true) {\n this.buildItem(elementIndex);\n this.addPendingElement(element);\n } else {\n var matteElement = elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[pos].tt);\n element.setMatte(matteMask);\n }\n }\n };\n\n SVGRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n\n if (element.data.tt) {\n var i = 0;\n var len = this.elements.length;\n\n while (i < len) {\n if (this.elements[i] === element) {\n var elementIndex = 'tp' in element.data ? this.findIndexByInd(element.data.tp) : i - 1;\n var matteElement = this.elements[elementIndex];\n var matteMask = matteElement.getMatte(this.layers[i].tt);\n element.setMatte(matteMask);\n break;\n }\n\n i += 1;\n }\n }\n }\n };\n\n SVGRendererBase.prototype.renderFrame = function (num) {\n if (this.renderedFrame === num || this.destroyed) {\n return;\n }\n\n if (num === null) {\n num = this.renderedFrame;\n } else {\n this.renderedFrame = num;\n } // console.log('-------');\n // console.log('FRAME ',num);\n\n\n this.globalData.frameNum = num;\n this.globalData.frameId += 1;\n this.globalData.projectInterface.currentFrame = num;\n this.globalData._mdf = false;\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n }\n };\n\n SVGRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newElement = element.getBaseElement();\n\n if (!newElement) {\n return;\n }\n\n var i = 0;\n var nextElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) {\n nextElement = this.elements[i].getBaseElement();\n }\n\n i += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(newElement, nextElement);\n } else {\n this.layerElement.appendChild(newElement);\n }\n };\n\n SVGRendererBase.prototype.hide = function () {\n this.layerElement.style.display = 'none';\n };\n\n SVGRendererBase.prototype.show = function () {\n this.layerElement.style.display = 'block';\n };\n\n function ICompElement() {}\n\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n ICompElement.prototype.initElement = function (data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initTransform(data, globalData, comp);\n this.initRenderable();\n this.initHierarchy();\n this.initRendererElement();\n this.createContainerElements();\n this.createRenderableComponents();\n\n if (this.data.xt || !globalData.progressiveLoad) {\n this.buildAllItems();\n }\n\n this.hide();\n };\n /* ICompElement.prototype.hide = function(){\r\n if(!this.hidden){\r\n this.hideElement();\r\n var i,len = this.elements.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].hide();\r\n }\r\n }\r\n }\r\n }; */\n\n\n ICompElement.prototype.prepareFrame = function (num) {\n this._mdf = false;\n this.prepareRenderableFrame(num);\n this.prepareProperties(num, this.isInRange);\n\n if (!this.isInRange && !this.data.xt) {\n return;\n }\n\n if (!this.tm._placeholder) {\n var timeRemapped = this.tm.v;\n\n if (timeRemapped === this.data.op) {\n timeRemapped = this.data.op - 1;\n }\n\n this.renderedFrame = timeRemapped;\n } else {\n this.renderedFrame = num / this.data.sr;\n }\n\n var i;\n var len = this.elements.length;\n\n if (!this.completeLayers) {\n this.checkLayers(this.renderedFrame);\n } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\n\n if (this.elements[i]._mdf) {\n this._mdf = true;\n }\n }\n }\n };\n\n ICompElement.prototype.renderInnerContent = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n ICompElement.prototype.setElements = function (elems) {\n this.elements = elems;\n };\n\n ICompElement.prototype.getElements = function () {\n return this.elements;\n };\n\n ICompElement.prototype.destroyElements = function () {\n var i;\n var len = this.layers.length;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n };\n\n ICompElement.prototype.destroy = function () {\n this.destroyElements();\n this.destroyBaseElement();\n };\n\n function SVGCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = true;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement);\n\n SVGCompElement.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function SVGRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.svgElement = createNS('svg');\n var ariaLabel = '';\n\n if (config && config.title) {\n var titleElement = createNS('title');\n var titleId = createElementID();\n titleElement.setAttribute('id', titleId);\n titleElement.textContent = config.title;\n this.svgElement.appendChild(titleElement);\n ariaLabel += titleId;\n }\n\n if (config && config.description) {\n var descElement = createNS('desc');\n var descId = createElementID();\n descElement.setAttribute('id', descId);\n descElement.textContent = config.description;\n this.svgElement.appendChild(descElement);\n ariaLabel += ' ' + descId;\n }\n\n if (ariaLabel) {\n this.svgElement.setAttribute('aria-labelledby', ariaLabel);\n }\n\n var defs = createNS('defs');\n this.svgElement.appendChild(defs);\n var maskElement = createNS('g');\n this.svgElement.appendChild(maskElement);\n this.layerElement = maskElement;\n this.renderConfig = {\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n progressiveLoad: config && config.progressiveLoad || false,\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n viewBoxOnly: config && config.viewBoxOnly || false,\n viewBoxSize: config && config.viewBoxSize || false,\n className: config && config.className || '',\n id: config && config.id || '',\n focusable: config && config.focusable,\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '100%',\n height: config && config.filterSize && config.filterSize.height || '100%',\n x: config && config.filterSize && config.filterSize.x || '0%',\n y: config && config.filterSize && config.filterSize.y || '0%'\n },\n width: config && config.width,\n height: config && config.height,\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n defs: defs,\n renderConfig: this.renderConfig\n };\n this.elements = [];\n this.pendingElements = [];\n this.destroyed = false;\n this.rendererType = 'svg';\n }\n\n extendPrototype([SVGRendererBase], SVGRenderer);\n\n SVGRenderer.prototype.createComp = function (data) {\n return new SVGCompElement(data, this.globalData, this);\n };\n\n function ShapeTransformManager() {\n this.sequences = {};\n this.sequenceList = [];\n this.transform_key_count = 0;\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(transforms) {\n var i;\n var len = transforms.length;\n var key = '_';\n\n for (i = 0; i < len; i += 1) {\n key += transforms[i].transform.key + '_';\n }\n\n var sequence = this.sequences[key];\n\n if (!sequence) {\n sequence = {\n transforms: [].concat(transforms),\n finalTransform: new Matrix(),\n _mdf: false\n };\n this.sequences[key] = sequence;\n this.sequenceList.push(sequence);\n }\n\n return sequence;\n },\n processSequence: function processSequence(sequence, isFirstFrame) {\n var i = 0;\n var len = sequence.transforms.length;\n var _mdf = isFirstFrame;\n\n while (i < len && !isFirstFrame) {\n if (sequence.transforms[i].transform.mProps._mdf) {\n _mdf = true;\n break;\n }\n\n i += 1;\n }\n\n if (_mdf) {\n sequence.finalTransform.reset();\n\n for (i = len - 1; i >= 0; i -= 1) {\n sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v);\n }\n }\n\n sequence._mdf = _mdf;\n },\n processSequences: function processSequences(isFirstFrame) {\n var i;\n var len = this.sequenceList.length;\n\n for (i = 0; i < len; i += 1) {\n this.processSequence(this.sequenceList[i], isFirstFrame);\n }\n },\n getNewKey: function getNewKey() {\n this.transform_key_count += 1;\n return '_' + this.transform_key_count;\n }\n };\n\n var lumaLoader = function lumaLoader() {\n var id = '__lottie_element_luma_buffer';\n var lumaBuffer = null;\n var lumaBufferCtx = null;\n var svg = null; // This alternate solution has a slight delay before the filter is applied, resulting in a flicker on the first frame.\n // Keeping this here for reference, and in the future, if offscreen canvas supports url filters, this can be used.\n // For now, neither of them work for offscreen canvas, so canvas workers can't support the luma track matte mask.\n // Naming it solution 2 to mark the extra comment lines.\n\n /*\r\n var svgString = [\r\n '',\r\n '',\r\n '',\r\n '',\r\n '',\r\n ].join('');\r\n var blob = new Blob([svgString], { type: 'image/svg+xml' });\r\n var url = URL.createObjectURL(blob);\r\n */\n\n function createLumaSvgFilter() {\n var _svg = createNS('svg');\n\n var fil = createNS('filter');\n var matrix = createNS('feColorMatrix');\n fil.setAttribute('id', id);\n matrix.setAttribute('type', 'matrix');\n matrix.setAttribute('color-interpolation-filters', 'sRGB');\n matrix.setAttribute('values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0');\n fil.appendChild(matrix);\n\n _svg.appendChild(fil);\n\n _svg.setAttribute('id', id + '_svg');\n\n if (featureSupport.svgLumaHidden) {\n _svg.style.display = 'none';\n }\n\n return _svg;\n }\n\n function loadLuma() {\n if (!lumaBuffer) {\n svg = createLumaSvgFilter();\n document.body.appendChild(svg);\n lumaBuffer = createTag('canvas');\n lumaBufferCtx = lumaBuffer.getContext('2d'); // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n lumaBufferCtx.fillStyle = 'rgba(0,0,0,0)';\n lumaBufferCtx.fillRect(0, 0, 1, 1);\n }\n }\n\n function getLuma(canvas) {\n if (!lumaBuffer) {\n loadLuma();\n }\n\n lumaBuffer.width = canvas.width;\n lumaBuffer.height = canvas.height; // lumaBufferCtx.filter = `url('${url}#__lottie_element_luma_buffer')`; // part of solution 2\n\n lumaBufferCtx.filter = 'url(#' + id + ')';\n return lumaBuffer;\n }\n\n return {\n load: loadLuma,\n get: getLuma\n };\n };\n\n function createCanvas(width, height) {\n if (featureSupport.offscreenCanvas) {\n return new OffscreenCanvas(width, height);\n }\n\n var canvas = createTag('canvas');\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n var assetLoader = function () {\n return {\n loadLumaCanvas: lumaLoader.load,\n getLumaCanvas: lumaLoader.get,\n createCanvas: createCanvas\n };\n }();\n\n var registeredEffects = {};\n\n function CVEffects(elem) {\n var i;\n var len = elem.data.ef ? elem.data.ef.length : 0;\n this.filters = [];\n var filterManager;\n\n for (i = 0; i < len; i += 1) {\n filterManager = null;\n var type = elem.data.ef[i].ty;\n\n if (registeredEffects[type]) {\n var Effect = registeredEffects[type].effect;\n filterManager = new Effect(elem.effectsManager.effectElements[i], elem);\n }\n\n if (filterManager) {\n this.filters.push(filterManager);\n }\n }\n\n if (this.filters.length) {\n elem.addRenderableComponent(this);\n }\n }\n\n CVEffects.prototype.renderFrame = function (_isFirstFrame) {\n var i;\n var len = this.filters.length;\n\n for (i = 0; i < len; i += 1) {\n this.filters[i].renderFrame(_isFirstFrame);\n }\n };\n\n CVEffects.prototype.getEffects = function (type) {\n var i;\n var len = this.filters.length;\n var effects = [];\n\n for (i = 0; i < len; i += 1) {\n if (this.filters[i].type === type) {\n effects.push(this.filters[i]);\n }\n }\n\n return effects;\n };\n\n function registerEffect(id, effect) {\n registeredEffects[id] = {\n effect: effect\n };\n }\n\n function CVMaskElement(data, element) {\n this.data = data;\n this.element = element;\n this.masksProperties = this.data.masksProperties || [];\n this.viewData = createSizedArray(this.masksProperties.length);\n var i;\n var len = this.masksProperties.length;\n var hasMasks = false;\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n hasMasks = true;\n }\n\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);\n }\n\n this.hasMasks = hasMasks;\n\n if (hasMasks) {\n this.element.addRenderableComponent(this);\n }\n }\n\n CVMaskElement.prototype.renderFrame = function () {\n if (!this.hasMasks) {\n return;\n }\n\n var transform = this.element.finalTransform.mat;\n var ctx = this.element.canvasContext;\n var i;\n var len = this.masksProperties.length;\n var pt;\n var pts;\n var data;\n ctx.beginPath();\n\n for (i = 0; i < len; i += 1) {\n if (this.masksProperties[i].mode !== 'n') {\n if (this.masksProperties[i].inv) {\n ctx.moveTo(0, 0);\n ctx.lineTo(this.element.globalData.compSize.w, 0);\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\n ctx.lineTo(0, this.element.globalData.compSize.h);\n ctx.lineTo(0, 0);\n }\n\n data = this.viewData[i].v;\n pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n ctx.moveTo(pt[0], pt[1]);\n var j;\n var jLen = data._length;\n\n for (j = 1; j < jLen; j += 1) {\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n }\n }\n\n this.element.globalData.renderer.save(true);\n ctx.clip();\n };\n\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n CVMaskElement.prototype.destroy = function () {\n this.element = null;\n };\n\n function CVBaseElement() {}\n\n var operationsMap = {\n 1: 'source-in',\n 2: 'source-out',\n 3: 'source-in',\n 4: 'source-out'\n };\n CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n // If the layer is masked we will use two buffers to store each different states of the drawing\n // This solution is not ideal for several reason. But unfortunately, because of the recursive\n // nature of the render tree, it's the only simple way to make sure one inner mask doesn't override an outer mask.\n // TODO: try to reduce the size of these buffers to the size of the composition contaning the layer\n // It might be challenging because the layer most likely is transformed in some way\n if (this.data.tt >= 1) {\n this.buffers = [];\n var canvasContext = this.globalData.canvasContext;\n var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas);\n var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);\n this.buffers.push(bufferCanvas2);\n\n if (this.data.tt >= 3 && !document._isProxy) {\n assetLoader.loadLumaCanvas();\n }\n }\n\n this.canvasContext = this.globalData.canvasContext;\n this.transformCanvas = this.globalData.transformCanvas;\n this.renderableEffectsManager = new CVEffects(this);\n this.searchEffectTransforms();\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var globalData = this.globalData;\n\n if (globalData.blendMode !== this.data.bm) {\n globalData.blendMode = this.data.bm;\n var blendModeValue = getBlendMode(this.data.bm);\n globalData.canvasContext.globalCompositeOperation = blendModeValue;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n },\n hideElement: function hideElement() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n this.hidden = true;\n }\n },\n showElement: function showElement() {\n if (this.isInRange && !this.isTransparent) {\n this.hidden = false;\n this._isFirstFrame = true;\n this.maskManager._isFirstFrame = true;\n }\n },\n clearCanvas: function clearCanvas(canvasContext) {\n canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n },\n prepareLayer: function prepareLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[0];\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx); // on the first buffer we store the current state of the global drawing\n\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // The next four lines are to clear the canvas\n // TODO: Check if there is a way to clear the canvas without resetting the transform\n\n this.currentTransform = this.canvasContext.getTransform();\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform);\n }\n },\n exitLayer: function exitLayer() {\n if (this.data.tt >= 1) {\n var buffer = this.buffers[1]; // On the second buffer we store the current state of the global drawing\n // that only contains the content of this layer\n // (if it is a composition, it also includes the nested layers)\n\n var bufferCtx = buffer.getContext('2d');\n this.clearCanvas(bufferCtx);\n bufferCtx.drawImage(this.canvasContext.canvas, 0, 0); // We clear the canvas again\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);\n this.clearCanvas(this.canvasContext);\n this.canvasContext.setTransform(this.currentTransform); // We draw the mask\n\n var mask = this.comp.getElementById('tp' in this.data ? this.data.tp : this.data.ind - 1);\n mask.renderFrame(true); // We draw the second buffer (that contains the content of this layer)\n\n this.canvasContext.setTransform(1, 0, 0, 1, 0, 0); // If the mask is a Luma matte, we need to do two extra painting operations\n // the _isProxy check is to avoid drawing a fake canvas in workers that will throw an error\n\n if (this.data.tt >= 3 && !document._isProxy) {\n // We copy the painted mask to a buffer that has a color matrix filter applied to it\n // that applies the rgb values to the alpha channel\n var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas);\n var lumaBufferCtx = lumaBuffer.getContext('2d');\n lumaBufferCtx.drawImage(this.canvasContext.canvas, 0, 0);\n this.clearCanvas(this.canvasContext); // we repaint the context with the mask applied to it\n\n this.canvasContext.drawImage(lumaBuffer, 0, 0);\n }\n\n this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt];\n this.canvasContext.drawImage(buffer, 0, 0); // We finally draw the first buffer (that contains the content of the global drawing)\n // We use destination-over to draw the global drawing below the current layer\n\n this.canvasContext.globalCompositeOperation = 'destination-over';\n this.canvasContext.drawImage(this.buffers[0], 0, 0);\n this.canvasContext.setTransform(this.currentTransform); // We reset the globalCompositeOperation to source-over, the standard type of operation\n\n this.canvasContext.globalCompositeOperation = 'source-over';\n }\n },\n renderFrame: function renderFrame(forceRender) {\n if (this.hidden || this.data.hd) {\n return;\n }\n\n if (this.data.td === 1 && !forceRender) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderLocalTransform();\n this.setBlendMode();\n var forceRealStack = this.data.ty === 0;\n this.prepareLayer();\n this.globalData.renderer.save(forceRealStack);\n this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props);\n this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity);\n this.renderInnerContent();\n this.globalData.renderer.restore(forceRealStack);\n this.exitLayer();\n\n if (this.maskManager.hasMasks) {\n this.globalData.renderer.restore(true);\n }\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.canvasContext = null;\n this.data = null;\n this.globalData = null;\n this.maskManager.destroy();\n },\n mHelper: new Matrix()\n };\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n\n function CVShapeData(element, data, styles, transformsManager) {\n this.styledShapes = [];\n this.tr = [0, 0, 0, 0, 0, 0];\n var ty = 4;\n\n if (data.ty === 'rc') {\n ty = 5;\n } else if (data.ty === 'el') {\n ty = 6;\n } else if (data.ty === 'sr') {\n ty = 7;\n }\n\n this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n var i;\n var len = styles.length;\n var styledShape;\n\n for (i = 0; i < len; i += 1) {\n if (!styles[i].closed) {\n styledShape = {\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\n trNodes: []\n };\n this.styledShapes.push(styledShape);\n styles[i].elements.push(styledShape);\n }\n }\n }\n\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n\n function CVShapeElement(data, globalData, comp) {\n this.shapes = [];\n this.shapesData = data.shapes;\n this.stylesList = [];\n this.itemsData = [];\n this.prevViewData = [];\n this.shapeModifiers = [];\n this.processedElements = [];\n this.transformsManager = new ShapeTransformManager();\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: false\n };\n CVShapeElement.prototype.dashResetter = [];\n\n CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n };\n\n CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n var styleElem = {\n data: data,\n type: data.ty,\n preTransforms: this.transformsManager.addTransformSequence(transforms),\n transforms: [],\n elements: [],\n closed: data.hd === true\n };\n var elementData = {};\n\n if (data.ty === 'fl' || data.ty === 'st') {\n elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);\n\n if (!elementData.c.k) {\n styleElem.co = 'rgb(' + bmFloor(elementData.c.v[0]) + ',' + bmFloor(elementData.c.v[1]) + ',' + bmFloor(elementData.c.v[2]) + ')';\n }\n } else if (data.ty === 'gf' || data.ty === 'gs') {\n elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);\n elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);\n elementData.h = PropertyFactory.getProp(this, data.h || {\n k: 0\n }, 0, 0.01, this);\n elementData.a = PropertyFactory.getProp(this, data.a || {\n k: 0\n }, 0, degToRads, this);\n elementData.g = new GradientProperty(this, data.g, this);\n }\n\n elementData.o = PropertyFactory.getProp(this, data.o, 0, 0.01, this);\n\n if (data.ty === 'st' || data.ty === 'gs') {\n styleElem.lc = lineCapEnum[data.lc || 2];\n styleElem.lj = lineJoinEnum[data.lj || 2];\n\n if (data.lj == 1) {\n // eslint-disable-line eqeqeq\n styleElem.ml = data.ml;\n }\n\n elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);\n\n if (!elementData.w.k) {\n styleElem.wi = elementData.w.v;\n }\n\n if (data.d) {\n var d = new DashProperty(this, data.d, 'canvas', this);\n elementData.d = d;\n\n if (!elementData.d.k) {\n styleElem.da = elementData.d.dashArray;\n styleElem[\"do\"] = elementData.d.dashoffset[0];\n }\n }\n } else {\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\n }\n\n this.stylesList.push(styleElem);\n elementData.style = styleElem;\n return elementData;\n };\n\n CVShapeElement.prototype.createGroupElement = function () {\n var elementData = {\n it: [],\n prevViewData: []\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createTransformElement = function (data) {\n var elementData = {\n transform: {\n opacity: 1,\n _opMdf: false,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, data.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, data, this)\n }\n };\n return elementData;\n };\n\n CVShapeElement.prototype.createShapeElement = function (data) {\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\n this.shapes.push(elementData);\n this.addShapeToModifiers(elementData);\n return elementData;\n };\n\n CVShapeElement.prototype.reloadShapes = function () {\n this._isFirstFrame = true;\n var i;\n var len = this.itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n this.prevViewData[i] = this.itemsData[i];\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n len = this.dynamicProperties.length;\n\n for (i = 0; i < len; i += 1) {\n this.dynamicProperties[i].getValue();\n }\n\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n };\n\n CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.push(transform);\n }\n }\n };\n\n CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var i;\n var len = this.stylesList.length;\n\n for (i = 0; i < len; i += 1) {\n if (!this.stylesList[i].closed) {\n this.stylesList[i].transforms.pop();\n }\n }\n };\n\n CVShapeElement.prototype.closeStyles = function (styles) {\n var i;\n var len = styles.length;\n\n for (i = 0; i < len; i += 1) {\n styles[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n var i;\n var len = arr.length - 1;\n var j;\n var jLen;\n var ownStyles = [];\n var ownModifiers = [];\n var processedPos;\n var modifier;\n var currentTransform;\n var ownTransforms = [].concat(transforms);\n\n for (i = len; i >= 0; i -= 1) {\n processedPos = this.searchProcessedElement(arr[i]);\n\n if (!processedPos) {\n arr[i]._shouldRender = shouldRender;\n } else {\n itemsData[i] = prevViewData[processedPos - 1];\n }\n\n if (arr[i].ty === 'fl' || arr[i].ty === 'st' || arr[i].ty === 'gf' || arr[i].ty === 'gs') {\n if (!processedPos) {\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n } else {\n itemsData[i].style.closed = false;\n }\n\n ownStyles.push(itemsData[i].style);\n } else if (arr[i].ty === 'gr') {\n if (!processedPos) {\n itemsData[i] = this.createGroupElement(arr[i]);\n } else {\n jLen = itemsData[i].it.length;\n\n for (j = 0; j < jLen; j += 1) {\n itemsData[i].prevViewData[j] = itemsData[i].it[j];\n }\n }\n\n this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n } else if (arr[i].ty === 'tr') {\n if (!processedPos) {\n currentTransform = this.createTransformElement(arr[i]);\n itemsData[i] = currentTransform;\n }\n\n ownTransforms.push(itemsData[i]);\n this.addTransformToStyleList(itemsData[i]);\n } else if (arr[i].ty === 'sh' || arr[i].ty === 'rc' || arr[i].ty === 'el' || arr[i].ty === 'sr') {\n if (!processedPos) {\n itemsData[i] = this.createShapeElement(arr[i]);\n }\n } else if (arr[i].ty === 'tm' || arr[i].ty === 'rd' || arr[i].ty === 'pb' || arr[i].ty === 'zz' || arr[i].ty === 'op') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n modifier.init(this, arr[i]);\n itemsData[i] = modifier;\n this.shapeModifiers.push(modifier);\n } else {\n modifier = itemsData[i];\n modifier.closed = false;\n }\n\n ownModifiers.push(modifier);\n } else if (arr[i].ty === 'rp') {\n if (!processedPos) {\n modifier = ShapeModifiers.getModifier(arr[i].ty);\n itemsData[i] = modifier;\n modifier.init(this, arr, i, itemsData);\n this.shapeModifiers.push(modifier);\n shouldRender = false;\n } else {\n modifier = itemsData[i];\n modifier.closed = true;\n }\n\n ownModifiers.push(modifier);\n }\n\n this.addProcessedElement(arr[i], i + 1);\n }\n\n this.removeTransformFromStyleList();\n this.closeStyles(ownStyles);\n len = ownModifiers.length;\n\n for (i = 0; i < len; i += 1) {\n ownModifiers[i].closed = true;\n }\n };\n\n CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1;\n this.transformHelper._opMdf = false;\n this.renderModifiers();\n this.transformsManager.processSequences(this._isFirstFrame);\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n };\n\n CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {\n groupTransform.opacity = parentTransform.opacity;\n groupTransform.opacity *= groupTransform.op.v;\n groupTransform._opMdf = true;\n }\n };\n\n CVShapeElement.prototype.drawLayer = function () {\n var i;\n var len = this.stylesList.length;\n var j;\n var jLen;\n var k;\n var kLen;\n var elems;\n var nodes;\n var renderer = this.globalData.renderer;\n var ctx = this.globalData.canvasContext;\n var type;\n var currentStyle;\n\n for (i = 0; i < len; i += 1) {\n currentStyle = this.stylesList[i];\n type = currentStyle.type; // Skipping style when\n // Stroke width equals 0\n // style should not be rendered (extra unused repeaters)\n // current opacity equals 0\n // global opacity equals 0\n\n if (!((type === 'st' || type === 'gs') && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n renderer.save();\n elems = currentStyle.elements;\n\n if (type === 'st' || type === 'gs') {\n renderer.ctxStrokeStyle(type === 'st' ? currentStyle.co : currentStyle.grd); // ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;\n\n renderer.ctxLineWidth(currentStyle.wi); // ctx.lineWidth = currentStyle.wi;\n\n renderer.ctxLineCap(currentStyle.lc); // ctx.lineCap = currentStyle.lc;\n\n renderer.ctxLineJoin(currentStyle.lj); // ctx.lineJoin = currentStyle.lj;\n\n renderer.ctxMiterLimit(currentStyle.ml || 0); // ctx.miterLimit = currentStyle.ml || 0;\n } else {\n renderer.ctxFillStyle(type === 'fl' ? currentStyle.co : currentStyle.grd); // ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;\n }\n\n renderer.ctxOpacity(currentStyle.coOp);\n\n if (type !== 'st' && type !== 'gs') {\n ctx.beginPath();\n }\n\n renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n jLen = elems.length;\n\n for (j = 0; j < jLen; j += 1) {\n if (type === 'st' || type === 'gs') {\n ctx.beginPath();\n\n if (currentStyle.da) {\n ctx.setLineDash(currentStyle.da);\n ctx.lineDashOffset = currentStyle[\"do\"];\n }\n }\n\n nodes = elems[j].trNodes;\n kLen = nodes.length;\n\n for (k = 0; k < kLen; k += 1) {\n if (nodes[k].t === 'm') {\n ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n } else if (nodes[k].t === 'c') {\n ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n } else {\n ctx.closePath();\n }\n }\n\n if (type === 'st' || type === 'gs') {\n // ctx.stroke();\n renderer.ctxStroke();\n\n if (currentStyle.da) {\n ctx.setLineDash(this.dashResetter);\n }\n }\n }\n\n if (type !== 'st' && type !== 'gs') {\n // ctx.fill(currentStyle.r);\n this.globalData.renderer.ctxFill(currentStyle.r);\n }\n\n renderer.restore();\n }\n }\n };\n\n CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n var i;\n var len = items.length - 1;\n var groupTransform;\n groupTransform = parentTransform;\n\n for (i = len; i >= 0; i -= 1) {\n if (items[i].ty === 'tr') {\n groupTransform = data[i].transform;\n this.renderShapeTransform(parentTransform, groupTransform);\n } else if (items[i].ty === 'sh' || items[i].ty === 'el' || items[i].ty === 'rc' || items[i].ty === 'sr') {\n this.renderPath(items[i], data[i]);\n } else if (items[i].ty === 'fl') {\n this.renderFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'st') {\n this.renderStroke(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gf' || items[i].ty === 'gs') {\n this.renderGradientFill(items[i], data[i], groupTransform);\n } else if (items[i].ty === 'gr') {\n this.renderShape(groupTransform, items[i].it, data[i].it);\n } else if (items[i].ty === 'tm') {//\n }\n }\n\n if (isMain) {\n this.drawLayer();\n }\n };\n\n CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n var shapeNodes = styledShape.trNodes;\n var paths = shape.paths;\n var i;\n var len;\n var j;\n var jLen = paths._length;\n shapeNodes.length = 0;\n var groupTransformMat = styledShape.transforms.finalTransform;\n\n for (j = 0; j < jLen; j += 1) {\n var pathNodes = paths.shapes[j];\n\n if (pathNodes && pathNodes.v) {\n len = pathNodes._length;\n\n for (i = 1; i < len; i += 1) {\n if (i === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n });\n }\n\n if (len === 1) {\n shapeNodes.push({\n t: 'm',\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n });\n }\n\n if (pathNodes.c && len) {\n shapeNodes.push({\n t: 'c',\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n });\n shapeNodes.push({\n t: 'z'\n });\n }\n }\n }\n\n styledShape.trNodes = shapeNodes;\n }\n };\n\n CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n if (pathData.hd !== true && pathData._shouldRender) {\n var i;\n var len = itemData.styledShapes.length;\n\n for (i = 0; i < len; i += 1) {\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n }\n }\n };\n\n CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n };\n\n CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var grd;\n\n if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n var ctx = this.globalData.canvasContext;\n var pt1 = itemData.s.v;\n var pt2 = itemData.e.v;\n\n if (styleData.t === 1) {\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n } else {\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n var percent = itemData.h.v;\n\n if (percent >= 1) {\n percent = 0.99;\n } else if (percent <= -1) {\n percent = -0.99;\n }\n\n var dist = rad * percent;\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n }\n\n var i;\n var len = styleData.g.p;\n var cValues = itemData.g.c;\n var opacity = 1;\n\n for (i = 0; i < len; i += 1) {\n if (itemData.g._hasOpacity && itemData.g._collapsable) {\n opacity = itemData.g.o[i * 2 + 1];\n }\n\n grd.addColorStop(cValues[i * 4] / 100, 'rgba(' + cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ',' + cValues[i * 4 + 3] + ',' + opacity + ')');\n }\n\n styleElem.grd = grd;\n }\n\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n };\n\n CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n var styleElem = itemData.style;\n var d = itemData.d;\n\n if (d && (d._mdf || this._isFirstFrame)) {\n styleElem.da = d.dashArray;\n styleElem[\"do\"] = d.dashoffset[0];\n }\n\n if (itemData.c._mdf || this._isFirstFrame) {\n styleElem.co = 'rgb(' + bmFloor(itemData.c.v[0]) + ',' + bmFloor(itemData.c.v[1]) + ',' + bmFloor(itemData.c.v[2]) + ')';\n }\n\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\n }\n\n if (itemData.w._mdf || this._isFirstFrame) {\n styleElem.wi = itemData.w.v;\n }\n };\n\n CVShapeElement.prototype.destroy = function () {\n this.shapesData = null;\n this.globalData = null;\n this.canvasContext = null;\n this.stylesList.length = 0;\n this.itemsData.length = 0;\n };\n\n function CVTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.yOffset = 0;\n this.fillColorAnim = false;\n this.strokeColorAnim = false;\n this.strokeWidthAnim = false;\n this.stroke = false;\n this.fill = false;\n this.justifyOffset = 0;\n this.currentRender = null;\n this.renderType = 'canvas';\n this.values = {\n fill: 'rgba(0,0,0,0)',\n stroke: 'rgba(0,0,0,0)',\n sWidth: 0,\n fValue: ''\n };\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\n\n CVTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var hasFill = false;\n\n if (documentData.fc) {\n hasFill = true;\n this.values.fill = this.buildColor(documentData.fc);\n } else {\n this.values.fill = 'rgba(0,0,0,0)';\n }\n\n this.fill = hasFill;\n var hasStroke = false;\n\n if (documentData.sc) {\n hasStroke = true;\n this.values.stroke = this.buildColor(documentData.sc);\n this.values.sWidth = documentData.sw;\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n var i;\n var len;\n var letters = documentData.l;\n var matrixHelper = this.mHelper;\n this.stroke = hasStroke;\n this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;\n len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n var charData;\n var shapeData;\n var k;\n var kLen;\n var shapes;\n var j;\n var jLen;\n var pathNodes;\n var commands;\n var pathArr;\n var singleShape = this.data.singleShape;\n var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n var xPos = 0;\n var yPos = 0;\n var firstLine = true;\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n shapeData = charData && charData.data || {};\n matrixHelper.reset();\n\n if (singleShape && letters[i].n) {\n xPos = -trackingOffset;\n yPos += documentData.yOffset;\n yPos += firstLine ? 1 : 0;\n firstLine = false;\n }\n\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n jLen = shapes.length;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n if (singleShape) {\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n }\n\n commands = createSizedArray(jLen - 1);\n var commandsCounter = 0;\n\n for (j = 0; j < jLen; j += 1) {\n if (shapes[j].ty === 'sh') {\n kLen = shapes[j].ks.k.i.length;\n pathNodes = shapes[j].ks.k;\n pathArr = [];\n\n for (k = 1; k < kLen; k += 1) {\n if (k === 1) {\n pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n }\n\n pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n commands[commandsCounter] = pathArr;\n commandsCounter += 1;\n }\n }\n\n if (singleShape) {\n xPos += letters[i].l;\n xPos += trackingOffset;\n }\n\n if (this.textSpans[cnt]) {\n this.textSpans[cnt].elem = commands;\n } else {\n this.textSpans[cnt] = {\n elem: commands\n };\n }\n\n cnt += 1;\n }\n };\n\n CVTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var ctx = this.canvasContext;\n ctx.font = this.values.fValue;\n this.globalData.renderer.ctxLineCap('butt'); // ctx.lineCap = 'butt';\n\n this.globalData.renderer.ctxLineJoin('miter'); // ctx.lineJoin = 'miter';\n\n this.globalData.renderer.ctxMiterLimit(4); // ctx.miterLimit = 4;\n\n if (!this.data.singleShape) {\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n }\n\n var i;\n var len;\n var j;\n var jLen;\n var k;\n var kLen;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var lastFill = null;\n var lastStroke = null;\n var lastStrokeW = null;\n var commands;\n var pathArr;\n var renderer = this.globalData.renderer;\n\n for (i = 0; i < len; i += 1) {\n if (!letters[i].n) {\n renderedLetter = renderedLetters[i];\n\n if (renderedLetter) {\n renderer.save();\n renderer.ctxTransform(renderedLetter.p);\n renderer.ctxOpacity(renderedLetter.o);\n }\n\n if (this.fill) {\n if (renderedLetter && renderedLetter.fc) {\n if (lastFill !== renderedLetter.fc) {\n renderer.ctxFillStyle(renderedLetter.fc);\n lastFill = renderedLetter.fc; // ctx.fillStyle = renderedLetter.fc;\n }\n } else if (lastFill !== this.values.fill) {\n lastFill = this.values.fill;\n renderer.ctxFillStyle(this.values.fill); // ctx.fillStyle = this.values.fill;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxFill(); // this.globalData.canvasContext.fill();\n /// ctx.fillText(this.textSpans[i].val,0,0);\n }\n\n if (this.stroke) {\n if (renderedLetter && renderedLetter.sw) {\n if (lastStrokeW !== renderedLetter.sw) {\n lastStrokeW = renderedLetter.sw;\n renderer.ctxLineWidth(renderedLetter.sw); // ctx.lineWidth = renderedLetter.sw;\n }\n } else if (lastStrokeW !== this.values.sWidth) {\n lastStrokeW = this.values.sWidth;\n renderer.ctxLineWidth(this.values.sWidth); // ctx.lineWidth = this.values.sWidth;\n }\n\n if (renderedLetter && renderedLetter.sc) {\n if (lastStroke !== renderedLetter.sc) {\n lastStroke = renderedLetter.sc;\n renderer.ctxStrokeStyle(renderedLetter.sc); // ctx.strokeStyle = renderedLetter.sc;\n }\n } else if (lastStroke !== this.values.stroke) {\n lastStroke = this.values.stroke;\n renderer.ctxStrokeStyle(this.values.stroke); // ctx.strokeStyle = this.values.stroke;\n }\n\n commands = this.textSpans[i].elem;\n jLen = commands.length;\n this.globalData.canvasContext.beginPath();\n\n for (j = 0; j < jLen; j += 1) {\n pathArr = commands[j];\n kLen = pathArr.length;\n this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n for (k = 2; k < kLen; k += 6) {\n this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath();\n renderer.ctxStroke(); // this.globalData.canvasContext.stroke();\n /// ctx.strokeText(letters[i].val,0,0);\n }\n\n if (renderedLetter) {\n this.globalData.renderer.restore();\n }\n }\n }\n };\n\n function CVImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.img = globalData.imageLoader.getAsset(this.assetData);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var canvas = createTag('canvas');\n canvas.width = this.assetData.w;\n canvas.height = this.assetData.h;\n var ctx = canvas.getContext('2d');\n var imgW = this.img.width;\n var imgH = this.img.height;\n var imgRel = imgW / imgH;\n var canvasRel = this.assetData.w / this.assetData.h;\n var widthCrop;\n var heightCrop;\n var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n\n if (imgRel > canvasRel && par === 'xMidYMid slice' || imgRel < canvasRel && par !== 'xMidYMid slice') {\n heightCrop = imgH;\n widthCrop = heightCrop * canvasRel;\n } else {\n widthCrop = imgW;\n heightCrop = widthCrop / canvasRel;\n }\n\n ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);\n this.img = canvas;\n }\n };\n\n CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n };\n\n CVImageElement.prototype.destroy = function () {\n this.img = null;\n };\n\n function CVSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n CVSolidElement.prototype.renderInnerContent = function () {\n // var ctx = this.canvasContext;\n this.globalData.renderer.ctxFillStyle(this.data.sc); // ctx.fillStyle = this.data.sc;\n\n this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh); // ctx.fillRect(0, 0, this.data.sw, this.data.sh);\n //\n };\n\n function CanvasRendererBase() {}\n\n extendPrototype([BaseRenderer], CanvasRendererBase);\n\n CanvasRendererBase.prototype.createShape = function (data) {\n return new CVShapeElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createText = function (data) {\n return new CVTextElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createImage = function (data) {\n return new CVImageElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createSolid = function (data) {\n return new CVSolidElement(data, this.globalData, this);\n };\n\n CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n CanvasRendererBase.prototype.ctxTransform = function (props) {\n if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n return;\n }\n\n this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n };\n\n CanvasRendererBase.prototype.ctxOpacity = function (op) {\n this.canvasContext.globalAlpha *= op < 0 ? 0 : op;\n };\n\n CanvasRendererBase.prototype.ctxFillStyle = function (value) {\n this.canvasContext.fillStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxStrokeStyle = function (value) {\n this.canvasContext.strokeStyle = value;\n };\n\n CanvasRendererBase.prototype.ctxLineWidth = function (value) {\n this.canvasContext.lineWidth = value;\n };\n\n CanvasRendererBase.prototype.ctxLineCap = function (value) {\n this.canvasContext.lineCap = value;\n };\n\n CanvasRendererBase.prototype.ctxLineJoin = function (value) {\n this.canvasContext.lineJoin = value;\n };\n\n CanvasRendererBase.prototype.ctxMiterLimit = function (value) {\n this.canvasContext.miterLimit = value;\n };\n\n CanvasRendererBase.prototype.ctxFill = function (rule) {\n this.canvasContext.fill(rule);\n };\n\n CanvasRendererBase.prototype.ctxFillRect = function (x, y, w, h) {\n this.canvasContext.fillRect(x, y, w, h);\n };\n\n CanvasRendererBase.prototype.ctxStroke = function () {\n this.canvasContext.stroke();\n };\n\n CanvasRendererBase.prototype.reset = function () {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n this.contextData.reset();\n };\n\n CanvasRendererBase.prototype.save = function () {\n this.canvasContext.save();\n };\n\n CanvasRendererBase.prototype.restore = function (actionFlag) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n\n if (actionFlag) {\n this.globalData.blendMode = 'source-over';\n }\n\n this.contextData.restore(actionFlag);\n };\n\n CanvasRendererBase.prototype.configAnimation = function (animData) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag('canvas');\n var containerStyle = this.animationItem.container.style;\n containerStyle.width = '100%';\n containerStyle.height = '100%';\n var origin = '0px 0px 0px';\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n containerStyle['-webkit-transform'] = origin;\n containerStyle.contentVisibility = this.renderConfig.contentVisibility;\n this.animationItem.wrapper.appendChild(this.animationItem.container);\n this.canvasContext = this.animationItem.container.getContext('2d');\n\n if (this.renderConfig.className) {\n this.animationItem.container.setAttribute('class', this.renderConfig.className);\n }\n\n if (this.renderConfig.id) {\n this.animationItem.container.setAttribute('id', this.renderConfig.id);\n }\n } else {\n this.canvasContext = this.renderConfig.context;\n }\n\n this.contextData.setContext(this.canvasContext);\n this.data = animData;\n this.layers = animData.layers;\n this.transformCanvas = {\n w: animData.w,\n h: animData.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n };\n this.setupGlobalData(animData, document.body);\n this.globalData.canvasContext = this.canvasContext;\n this.globalData.renderer = this;\n this.globalData.isDashed = false;\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;\n this.globalData.transformCanvas = this.transformCanvas;\n this.elements = createSizedArray(animData.layers.length);\n this.updateContainerSize();\n };\n\n CanvasRendererBase.prototype.updateContainerSize = function (width, height) {\n this.reset();\n var elementWidth;\n var elementHeight;\n\n if (width) {\n elementWidth = width;\n elementHeight = height;\n this.canvasContext.canvas.width = elementWidth;\n this.canvasContext.canvas.height = elementHeight;\n } else {\n if (this.animationItem.wrapper && this.animationItem.container) {\n elementWidth = this.animationItem.wrapper.offsetWidth;\n elementHeight = this.animationItem.wrapper.offsetHeight;\n } else {\n elementWidth = this.canvasContext.canvas.width;\n elementHeight = this.canvasContext.canvas.height;\n }\n\n this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr;\n this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr;\n }\n\n var elementRel;\n var animationRel;\n\n if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {\n var par = this.renderConfig.preserveAspectRatio.split(' ');\n var fillType = par[1] || 'meet';\n var pos = par[0] || 'xMidYMid';\n var xPos = pos.substr(0, 4);\n var yPos = pos.substr(4);\n elementRel = elementWidth / elementHeight;\n animationRel = this.transformCanvas.w / this.transformCanvas.h;\n\n if (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n } else {\n this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n }\n\n if (xPos === 'xMid' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;\n } else if (xPos === 'xMax' && (animationRel < elementRel && fillType === 'meet' || animationRel > elementRel && fillType === 'slice')) {\n this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.tx = 0;\n }\n\n if (yPos === 'YMid' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;\n } else if (yPos === 'YMax' && (animationRel > elementRel && fillType === 'meet' || animationRel < elementRel && fillType === 'slice')) {\n this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;\n } else {\n this.transformCanvas.ty = 0;\n }\n } else if (this.renderConfig.preserveAspectRatio === 'none') {\n this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);\n this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n } else {\n this.transformCanvas.sx = this.renderConfig.dpr;\n this.transformCanvas.sy = this.renderConfig.dpr;\n this.transformCanvas.tx = 0;\n this.transformCanvas.ty = 0;\n }\n\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1];\n /* var i, len = this.elements.length;\r\n for(i=0;i= 0; i -= 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.globalData.canvasContext = null;\n this.animationItem.container = null;\n this.destroyed = true;\n };\n\n CanvasRendererBase.prototype.renderFrame = function (num, forceRender) {\n if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) {\n return;\n }\n\n this.renderedFrame = num;\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\n this.globalData.frameId += 1;\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\n this.globalData.projectInterface.currentFrame = num; // console.log('--------');\n // console.log('NEW: ',num);\n\n var i;\n var len = this.layers.length;\n\n if (!this.completeLayers) {\n this.checkLayers(num);\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].prepareFrame(num - this.layers[i].st);\n }\n }\n\n if (this.globalData._mdf) {\n if (this.renderConfig.clearCanvas === true) {\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\n } else {\n this.save();\n }\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n\n if (this.renderConfig.clearCanvas !== true) {\n this.restore();\n }\n }\n };\n\n CanvasRendererBase.prototype.buildItem = function (pos) {\n var elements = this.elements;\n\n if (elements[pos] || this.layers[pos].ty === 99) {\n return;\n }\n\n var element = this.createItem(this.layers[pos], this, this.globalData);\n elements[pos] = element;\n element.initExpressions();\n /* if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n } */\n };\n\n CanvasRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n CanvasRendererBase.prototype.hide = function () {\n this.animationItem.container.style.display = 'none';\n };\n\n CanvasRendererBase.prototype.show = function () {\n this.animationItem.container.style.display = 'block';\n };\n\n function CanvasContext() {\n this.opacity = -1;\n this.transform = createTypedArray('float32', 16);\n this.fillStyle = '';\n this.strokeStyle = '';\n this.lineWidth = '';\n this.lineCap = '';\n this.lineJoin = '';\n this.miterLimit = '';\n this.id = Math.random();\n }\n\n function CVContextData() {\n this.stack = [];\n this.cArrPos = 0;\n this.cTr = new Matrix();\n var i;\n var len = 15;\n\n for (i = 0; i < len; i += 1) {\n var canvasContext = new CanvasContext();\n this.stack[i] = canvasContext;\n }\n\n this._length = len;\n this.nativeContext = null;\n this.transformMat = new Matrix();\n this.currentOpacity = 1; //\n\n this.currentFillStyle = '';\n this.appliedFillStyle = ''; //\n\n this.currentStrokeStyle = '';\n this.appliedStrokeStyle = ''; //\n\n this.currentLineWidth = '';\n this.appliedLineWidth = ''; //\n\n this.currentLineCap = '';\n this.appliedLineCap = ''; //\n\n this.currentLineJoin = '';\n this.appliedLineJoin = ''; //\n\n this.appliedMiterLimit = '';\n this.currentMiterLimit = '';\n }\n\n CVContextData.prototype.duplicate = function () {\n var newLength = this._length * 2;\n var i = 0;\n\n for (i = this._length; i < newLength; i += 1) {\n this.stack[i] = new CanvasContext();\n }\n\n this._length = newLength;\n };\n\n CVContextData.prototype.reset = function () {\n this.cArrPos = 0;\n this.cTr.reset();\n this.stack[this.cArrPos].opacity = 1;\n };\n\n CVContextData.prototype.restore = function (forceRestore) {\n this.cArrPos -= 1;\n var currentContext = this.stack[this.cArrPos];\n var transform = currentContext.transform;\n var i;\n var arr = this.cTr.props;\n\n for (i = 0; i < 16; i += 1) {\n arr[i] = transform[i];\n }\n\n if (forceRestore) {\n this.nativeContext.restore();\n var prevStack = this.stack[this.cArrPos + 1];\n this.appliedFillStyle = prevStack.fillStyle;\n this.appliedStrokeStyle = prevStack.strokeStyle;\n this.appliedLineWidth = prevStack.lineWidth;\n this.appliedLineCap = prevStack.lineCap;\n this.appliedLineJoin = prevStack.lineJoin;\n this.appliedMiterLimit = prevStack.miterLimit;\n }\n\n this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]);\n\n if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) {\n this.nativeContext.globalAlpha = currentContext.opacity;\n this.currentOpacity = currentContext.opacity;\n }\n\n this.currentFillStyle = currentContext.fillStyle;\n this.currentStrokeStyle = currentContext.strokeStyle;\n this.currentLineWidth = currentContext.lineWidth;\n this.currentLineCap = currentContext.lineCap;\n this.currentLineJoin = currentContext.lineJoin;\n this.currentMiterLimit = currentContext.miterLimit;\n };\n\n CVContextData.prototype.save = function (saveOnNativeFlag) {\n if (saveOnNativeFlag) {\n this.nativeContext.save();\n }\n\n var props = this.cTr.props;\n\n if (this._length <= this.cArrPos) {\n this.duplicate();\n }\n\n var currentStack = this.stack[this.cArrPos];\n var i;\n\n for (i = 0; i < 16; i += 1) {\n currentStack.transform[i] = props[i];\n }\n\n this.cArrPos += 1;\n var newStack = this.stack[this.cArrPos];\n newStack.opacity = currentStack.opacity;\n newStack.fillStyle = currentStack.fillStyle;\n newStack.strokeStyle = currentStack.strokeStyle;\n newStack.lineWidth = currentStack.lineWidth;\n newStack.lineCap = currentStack.lineCap;\n newStack.lineJoin = currentStack.lineJoin;\n newStack.miterLimit = currentStack.miterLimit;\n };\n\n CVContextData.prototype.setOpacity = function (value) {\n this.stack[this.cArrPos].opacity = value;\n };\n\n CVContextData.prototype.setContext = function (value) {\n this.nativeContext = value;\n };\n\n CVContextData.prototype.fillStyle = function (value) {\n if (this.stack[this.cArrPos].fillStyle !== value) {\n this.currentFillStyle = value;\n this.stack[this.cArrPos].fillStyle = value;\n }\n };\n\n CVContextData.prototype.strokeStyle = function (value) {\n if (this.stack[this.cArrPos].strokeStyle !== value) {\n this.currentStrokeStyle = value;\n this.stack[this.cArrPos].strokeStyle = value;\n }\n };\n\n CVContextData.prototype.lineWidth = function (value) {\n if (this.stack[this.cArrPos].lineWidth !== value) {\n this.currentLineWidth = value;\n this.stack[this.cArrPos].lineWidth = value;\n }\n };\n\n CVContextData.prototype.lineCap = function (value) {\n if (this.stack[this.cArrPos].lineCap !== value) {\n this.currentLineCap = value;\n this.stack[this.cArrPos].lineCap = value;\n }\n };\n\n CVContextData.prototype.lineJoin = function (value) {\n if (this.stack[this.cArrPos].lineJoin !== value) {\n this.currentLineJoin = value;\n this.stack[this.cArrPos].lineJoin = value;\n }\n };\n\n CVContextData.prototype.miterLimit = function (value) {\n if (this.stack[this.cArrPos].miterLimit !== value) {\n this.currentMiterLimit = value;\n this.stack[this.cArrPos].miterLimit = value;\n }\n };\n\n CVContextData.prototype.transform = function (props) {\n this.transformMat.cloneFromProps(props); // Taking the last transform value from the stored stack of transforms\n\n var currentTransform = this.cTr; // Applying the last transform value after the new transform to respect the order of transformations\n\n this.transformMat.multiply(currentTransform); // Storing the new transformed value in the stored transform\n\n currentTransform.cloneFromProps(this.transformMat.props);\n var trProps = currentTransform.props; // Applying the new transform to the canvas\n\n this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n };\n\n CVContextData.prototype.opacity = function (op) {\n var currentOpacity = this.stack[this.cArrPos].opacity;\n currentOpacity *= op < 0 ? 0 : op;\n\n if (this.stack[this.cArrPos].opacity !== currentOpacity) {\n if (this.currentOpacity !== op) {\n this.nativeContext.globalAlpha = op;\n this.currentOpacity = op;\n }\n\n this.stack[this.cArrPos].opacity = currentOpacity;\n }\n };\n\n CVContextData.prototype.fill = function (rule) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fill(rule);\n };\n\n CVContextData.prototype.fillRect = function (x, y, w, h) {\n if (this.appliedFillStyle !== this.currentFillStyle) {\n this.appliedFillStyle = this.currentFillStyle;\n this.nativeContext.fillStyle = this.appliedFillStyle;\n }\n\n this.nativeContext.fillRect(x, y, w, h);\n };\n\n CVContextData.prototype.stroke = function () {\n if (this.appliedStrokeStyle !== this.currentStrokeStyle) {\n this.appliedStrokeStyle = this.currentStrokeStyle;\n this.nativeContext.strokeStyle = this.appliedStrokeStyle;\n }\n\n if (this.appliedLineWidth !== this.currentLineWidth) {\n this.appliedLineWidth = this.currentLineWidth;\n this.nativeContext.lineWidth = this.appliedLineWidth;\n }\n\n if (this.appliedLineCap !== this.currentLineCap) {\n this.appliedLineCap = this.currentLineCap;\n this.nativeContext.lineCap = this.appliedLineCap;\n }\n\n if (this.appliedLineJoin !== this.currentLineJoin) {\n this.appliedLineJoin = this.currentLineJoin;\n this.nativeContext.lineJoin = this.appliedLineJoin;\n }\n\n if (this.appliedMiterLimit !== this.currentMiterLimit) {\n this.appliedMiterLimit = this.currentMiterLimit;\n this.nativeContext.miterLimit = this.appliedMiterLimit;\n }\n\n this.nativeContext.stroke();\n };\n\n function CVCompElement(data, globalData, comp) {\n this.completeLayers = false;\n this.layers = data.layers;\n this.pendingElements = [];\n this.elements = createSizedArray(this.layers.length);\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement);\n\n CVCompElement.prototype.renderInnerContent = function () {\n var ctx = this.canvasContext;\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.data.w, 0);\n ctx.lineTo(this.data.w, this.data.h);\n ctx.lineTo(0, this.data.h);\n ctx.lineTo(0, 0);\n ctx.clip();\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.completeLayers || this.elements[i]) {\n this.elements[i].renderFrame();\n }\n }\n };\n\n CVCompElement.prototype.destroy = function () {\n var i;\n var len = this.layers.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n if (this.elements[i]) {\n this.elements[i].destroy();\n }\n }\n\n this.layers = null;\n this.elements = null;\n };\n\n CVCompElement.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function CanvasRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.renderConfig = {\n clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n context: config && config.context || null,\n progressiveLoad: config && config.progressiveLoad || false,\n preserveAspectRatio: config && config.preserveAspectRatio || 'xMidYMid meet',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n contentVisibility: config && config.contentVisibility || 'visible',\n className: config && config.className || '',\n id: config && config.id || '',\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.renderConfig.dpr = config && config.dpr || 1;\n\n if (this.animationItem.wrapper) {\n this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n }\n\n this.renderedFrame = -1;\n this.globalData = {\n frameNum: -1,\n _mdf: false,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n };\n this.contextData = new CVContextData();\n this.elements = [];\n this.pendingElements = [];\n this.transformMat = new Matrix();\n this.completeLayers = false;\n this.rendererType = 'canvas';\n\n if (this.renderConfig.clearCanvas) {\n this.ctxTransform = this.contextData.transform.bind(this.contextData);\n this.ctxOpacity = this.contextData.opacity.bind(this.contextData);\n this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData);\n this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData);\n this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData);\n this.ctxLineCap = this.contextData.lineCap.bind(this.contextData);\n this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData);\n this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData);\n this.ctxFill = this.contextData.fill.bind(this.contextData);\n this.ctxFillRect = this.contextData.fillRect.bind(this.contextData);\n this.ctxStroke = this.contextData.stroke.bind(this.contextData);\n this.save = this.contextData.save.bind(this.contextData);\n }\n }\n\n extendPrototype([CanvasRendererBase], CanvasRenderer);\n\n CanvasRenderer.prototype.createComp = function (data) {\n return new CVCompElement(data, this.globalData, this);\n };\n\n function HBaseElement() {}\n\n HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || 'div');\n\n if (this.data.hasMask) {\n this.svgElement = createNS('svg');\n this.layerElement = createNS('g');\n this.maskedElement = this.layerElement;\n this.svgElement.appendChild(this.layerElement);\n this.baseElement.appendChild(this.svgElement);\n } else {\n this.layerElement = this.baseElement;\n }\n\n styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this);\n this.transformedElement = this.baseElement;\n this.maskedElement = this.layerElement;\n\n if (this.data.ln) {\n this.layerElement.setAttribute('id', this.data.ln);\n }\n\n if (this.data.cl) {\n this.layerElement.setAttribute('class', this.data.cl);\n }\n\n if (this.data.bm !== 0) {\n this.setBlendMode();\n }\n },\n renderElement: function renderElement() {\n var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var matrixValue = this.finalTransform.mat.toCSS();\n transformedElementStyle.transform = matrixValue;\n transformedElementStyle.webkitTransform = matrixValue;\n }\n\n if (this.finalTransform._opMdf) {\n transformedElementStyle.opacity = this.finalTransform.mProp.o.v;\n }\n },\n renderFrame: function renderFrame() {\n // If it is exported as hidden (data.hd === true) no need to render\n // If it is not visible no need to render\n if (this.data.hd || this.hidden) {\n return;\n }\n\n this.renderTransform();\n this.renderRenderable();\n this.renderElement();\n this.renderInnerContent();\n\n if (this._isFirstFrame) {\n this._isFirstFrame = false;\n }\n },\n destroy: function destroy() {\n this.layerElement = null;\n this.transformedElement = null;\n\n if (this.matteElement) {\n this.matteElement = null;\n }\n\n if (this.maskManager) {\n this.maskManager.destroy();\n this.maskManager = null;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n };\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n\n function HSolidElement(data, globalData, comp) {\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n HSolidElement.prototype.createContent = function () {\n var rect;\n\n if (this.data.hasMask) {\n rect = createNS('rect');\n rect.setAttribute('width', this.data.sw);\n rect.setAttribute('height', this.data.sh);\n rect.setAttribute('fill', this.data.sc);\n this.svgElement.setAttribute('width', this.data.sw);\n this.svgElement.setAttribute('height', this.data.sh);\n } else {\n rect = createTag('div');\n rect.style.width = this.data.sw + 'px';\n rect.style.height = this.data.sh + 'px';\n rect.style.backgroundColor = this.data.sc;\n }\n\n this.layerElement.appendChild(rect);\n };\n\n function HShapeElement(data, globalData, comp) {\n // List of drawable elements\n this.shapes = []; // Full shape data\n\n this.shapesData = data.shapes; // List of styles that will be applied to shapes\n\n this.stylesList = []; // List of modifiers that will be applied to shapes\n\n this.shapeModifiers = []; // List of items in shape tree\n\n this.itemsData = []; // List of items in previous shape tree\n\n this.processedElements = []; // List of animated components\n\n this.animatedContents = [];\n this.shapesContainer = createNS('g');\n this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n // List of elements that have been created\n\n this.prevViewData = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n HShapeElement.prototype.createContent = function () {\n var cont;\n this.baseElement.style.fontSize = 0;\n\n if (this.data.hasMask) {\n this.layerElement.appendChild(this.shapesContainer);\n cont = this.svgElement;\n } else {\n cont = createNS('svg');\n var size = this.comp.data ? this.comp.data : this.globalData.compSize;\n cont.setAttribute('width', size.w);\n cont.setAttribute('height', size.h);\n cont.appendChild(this.shapesContainer);\n this.layerElement.appendChild(cont);\n }\n\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);\n this.filterUniqueShapes();\n this.shapeCont = cont;\n };\n\n HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n var i;\n var len = transformers.length;\n\n for (i = 0; i < len; i += 1) {\n point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n }\n\n return point;\n };\n\n HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n var shape = item.sh.v;\n var transformers = item.transformers;\n var i;\n var len = shape._length;\n var vPoint;\n var oPoint;\n var nextIPoint;\n var nextVPoint;\n\n if (len <= 1) {\n return;\n }\n\n for (i = 0; i < len - 1; i += 1) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n\n if (shape.c) {\n vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n }\n };\n\n HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n var bounds = this.shapeBoundingBox;\n boundingBox.x = bmMin(bounds.left, boundingBox.x);\n boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n boundingBox.y = bmMin(bounds.top, boundingBox.y);\n boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n };\n\n HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n };\n\n HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n // eslint-disable-line no-plusplus\n b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n c = 3 * p1[i] - 3 * p0[i];\n b |= 0; // eslint-disable-line no-bitwise\n\n a |= 0; // eslint-disable-line no-bitwise\n\n c |= 0; // eslint-disable-line no-bitwise\n\n if (a === 0 && b === 0) {//\n } else if (a === 0) {\n t = -c / b;\n\n if (t > 0 && t < 1) {\n bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n }\n } else {\n b2ac = b * b - 4 * c * a;\n\n if (b2ac >= 0) {\n t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n }\n }\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n };\n\n HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n };\n\n HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n var i;\n var len = itemsData.length;\n\n for (i = 0; i < len; i += 1) {\n if (itemsData[i] && itemsData[i].sh) {\n this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n } else if (itemsData[i] && itemsData[i].it) {\n this.calculateBoundingBox(itemsData[i].it, boundingBox);\n } else if (itemsData[i] && itemsData[i].style && itemsData[i].w) {\n this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);\n }\n }\n };\n\n HShapeElement.prototype.expandStrokeBoundingBox = function (widthProperty, boundingBox) {\n var width = 0;\n\n if (widthProperty.keyframes) {\n for (var i = 0; i < widthProperty.keyframes.length; i += 1) {\n var kfw = widthProperty.keyframes[i].s;\n\n if (kfw > width) {\n width = kfw;\n }\n }\n\n width *= widthProperty.mult;\n } else {\n width = widthProperty.v * widthProperty.mult;\n }\n\n boundingBox.x -= width;\n boundingBox.xMax += width;\n boundingBox.y -= width;\n boundingBox.yMax += width;\n };\n\n HShapeElement.prototype.currentBoxContains = function (box) {\n return this.currentBBox.x <= box.x && this.currentBBox.y <= box.y && this.currentBBox.width + this.currentBBox.x >= box.x + box.width && this.currentBBox.height + this.currentBBox.y >= box.y + box.height;\n };\n\n HShapeElement.prototype.renderInnerContent = function () {\n this._renderShapeFrame();\n\n if (!this.hidden && (this._isFirstFrame || this._mdf)) {\n var tempBoundingBox = this.tempBoundingBox;\n var max = 999999;\n tempBoundingBox.x = max;\n tempBoundingBox.xMax = -max;\n tempBoundingBox.y = max;\n tempBoundingBox.yMax = -max;\n this.calculateBoundingBox(this.itemsData, tempBoundingBox);\n tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n if (this.currentBoxContains(tempBoundingBox)) {\n return;\n }\n\n var changed = false;\n\n if (this.currentBBox.w !== tempBoundingBox.width) {\n this.currentBBox.w = tempBoundingBox.width;\n this.shapeCont.setAttribute('width', tempBoundingBox.width);\n changed = true;\n }\n\n if (this.currentBBox.h !== tempBoundingBox.height) {\n this.currentBBox.h = tempBoundingBox.height;\n this.shapeCont.setAttribute('height', tempBoundingBox.height);\n changed = true;\n }\n\n if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {\n this.currentBBox.w = tempBoundingBox.width;\n this.currentBBox.h = tempBoundingBox.height;\n this.currentBBox.x = tempBoundingBox.x;\n this.currentBBox.y = tempBoundingBox.y;\n this.shapeCont.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n var shapeStyle = this.shapeCont.style;\n var shapeTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n shapeStyle.transform = shapeTransform;\n shapeStyle.webkitTransform = shapeTransform;\n }\n }\n };\n\n function HTextElement(data, globalData, comp) {\n this.textSpans = [];\n this.textPaths = [];\n this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n this.renderType = 'svg';\n this.isMasked = false;\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n HTextElement.prototype.createContent = function () {\n this.isMasked = this.checkMasks();\n\n if (this.isMasked) {\n this.renderType = 'svg';\n this.compW = this.comp.data.w;\n this.compH = this.comp.data.h;\n this.svgElement.setAttribute('width', this.compW);\n this.svgElement.setAttribute('height', this.compH);\n var g = createNS('g');\n this.maskedElement.appendChild(g);\n this.innerElem = g;\n } else {\n this.renderType = 'html';\n this.innerElem = this.layerElement;\n }\n\n this.checkParenting();\n };\n\n HTextElement.prototype.buildNewText = function () {\n var documentData = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n var innerElemStyle = this.innerElem.style;\n var textColor = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';\n innerElemStyle.fill = textColor;\n innerElemStyle.color = textColor;\n\n if (documentData.sc) {\n innerElemStyle.stroke = this.buildColor(documentData.sc);\n innerElemStyle.strokeWidth = documentData.sw + 'px';\n }\n\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\n\n if (!this.globalData.fontManager.chars) {\n innerElemStyle.fontSize = documentData.finalSize + 'px';\n innerElemStyle.lineHeight = documentData.finalSize + 'px';\n\n if (fontData.fClass) {\n this.innerElem.className = fontData.fClass;\n } else {\n innerElemStyle.fontFamily = fontData.fFamily;\n var fWeight = documentData.fWeight;\n var fStyle = documentData.fStyle;\n innerElemStyle.fontStyle = fStyle;\n innerElemStyle.fontWeight = fWeight;\n }\n }\n\n var i;\n var len;\n var letters = documentData.l;\n len = letters.length;\n var tSpan;\n var tParent;\n var tCont;\n var matrixHelper = this.mHelper;\n var shapes;\n var shapeStr = '';\n var cnt = 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.globalData.fontManager.chars) {\n if (!this.textPaths[cnt]) {\n tSpan = createNS('path');\n tSpan.setAttribute('stroke-linecap', lineCapEnum[1]);\n tSpan.setAttribute('stroke-linejoin', lineJoinEnum[2]);\n tSpan.setAttribute('stroke-miterlimit', '4');\n } else {\n tSpan = this.textPaths[cnt];\n }\n\n if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tCont = tParent.children[0];\n } else {\n tParent = createTag('div');\n tParent.style.lineHeight = 0;\n tCont = createNS('svg');\n tCont.appendChild(tSpan);\n styleDiv(tParent);\n }\n }\n } else if (!this.isMasked) {\n if (this.textSpans[cnt]) {\n tParent = this.textSpans[cnt];\n tSpan = this.textPaths[cnt];\n } else {\n tParent = createTag('span');\n styleDiv(tParent);\n tSpan = createTag('span');\n styleDiv(tSpan);\n tParent.appendChild(tSpan);\n }\n } else {\n tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');\n } // tSpan.setAttribute('visibility', 'hidden');\n\n\n if (this.globalData.fontManager.chars) {\n var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\n var shapeData;\n\n if (charData) {\n shapeData = charData.data;\n } else {\n shapeData = null;\n }\n\n matrixHelper.reset();\n\n if (shapeData && shapeData.shapes && shapeData.shapes.length) {\n shapes = shapeData.shapes[0].it;\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n shapeStr = this.createPathShape(matrixHelper, shapes);\n tSpan.setAttribute('d', shapeStr);\n }\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent);\n\n if (shapeData && shapeData.shapes) {\n // document.body.appendChild is needed to get exact measure of shape\n document.body.appendChild(tCont);\n var boundingBox = tCont.getBBox();\n tCont.setAttribute('width', boundingBox.width + 2);\n tCont.setAttribute('height', boundingBox.height + 2);\n tCont.setAttribute('viewBox', boundingBox.x - 1 + ' ' + (boundingBox.y - 1) + ' ' + (boundingBox.width + 2) + ' ' + (boundingBox.height + 2));\n var tContStyle = tCont.style;\n var tContTranslation = 'translate(' + (boundingBox.x - 1) + 'px,' + (boundingBox.y - 1) + 'px)';\n tContStyle.transform = tContTranslation;\n tContStyle.webkitTransform = tContTranslation;\n letters[i].yOffset = boundingBox.y - 1;\n } else {\n tCont.setAttribute('width', 1);\n tCont.setAttribute('height', 1);\n }\n\n tParent.appendChild(tCont);\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } else {\n tSpan.textContent = letters[i].val;\n tSpan.setAttributeNS('http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve');\n\n if (!this.isMasked) {\n this.innerElem.appendChild(tParent); //\n\n var tStyle = tSpan.style;\n var tSpanTranslation = 'translate3d(0,' + -documentData.finalSize / 1.2 + 'px,0)';\n tStyle.transform = tSpanTranslation;\n tStyle.webkitTransform = tSpanTranslation;\n } else {\n this.innerElem.appendChild(tSpan);\n }\n } //\n\n\n if (!this.isMasked) {\n this.textSpans[cnt] = tParent;\n } else {\n this.textSpans[cnt] = tSpan;\n }\n\n this.textSpans[cnt].style.display = 'block';\n this.textPaths[cnt] = tSpan;\n cnt += 1;\n }\n\n while (cnt < this.textSpans.length) {\n this.textSpans[cnt].style.display = 'none';\n cnt += 1;\n }\n };\n\n HTextElement.prototype.renderInnerContent = function () {\n this.validateText();\n var svgStyle;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) {\n return;\n }\n\n if (this.isMasked && this.finalTransform._matMdf) {\n // Todo Benchmark if using this is better than getBBox\n this.svgElement.setAttribute('viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH);\n svgStyle = this.svgElement.style;\n var translation = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';\n svgStyle.transform = translation;\n svgStyle.webkitTransform = translation;\n }\n }\n\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n\n if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {\n return;\n }\n\n var i;\n var len;\n var count = 0;\n var renderedLetters = this.textAnimator.renderedLetters;\n var letters = this.textProperty.currentData.l;\n len = letters.length;\n var renderedLetter;\n var textSpan;\n var textPath;\n\n for (i = 0; i < len; i += 1) {\n if (letters[i].n) {\n count += 1;\n } else {\n textSpan = this.textSpans[i];\n textPath = this.textPaths[i];\n renderedLetter = renderedLetters[count];\n count += 1;\n\n if (renderedLetter._mdf.m) {\n if (!this.isMasked) {\n textSpan.style.webkitTransform = renderedLetter.m;\n textSpan.style.transform = renderedLetter.m;\n } else {\n textSpan.setAttribute('transform', renderedLetter.m);\n }\n } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n textSpan.style.opacity = renderedLetter.o;\n\n if (renderedLetter.sw && renderedLetter._mdf.sw) {\n textPath.setAttribute('stroke-width', renderedLetter.sw);\n }\n\n if (renderedLetter.sc && renderedLetter._mdf.sc) {\n textPath.setAttribute('stroke', renderedLetter.sc);\n }\n\n if (renderedLetter.fc && renderedLetter._mdf.fc) {\n textPath.setAttribute('fill', renderedLetter.fc);\n textPath.style.color = renderedLetter.fc;\n }\n }\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var boundingBox = this.innerElem.getBBox();\n\n if (this.currentBBox.w !== boundingBox.width) {\n this.currentBBox.w = boundingBox.width;\n this.svgElement.setAttribute('width', boundingBox.width);\n }\n\n if (this.currentBBox.h !== boundingBox.height) {\n this.currentBBox.h = boundingBox.height;\n this.svgElement.setAttribute('height', boundingBox.height);\n }\n\n var margin = 1;\n\n if (this.currentBBox.w !== boundingBox.width + margin * 2 || this.currentBBox.h !== boundingBox.height + margin * 2 || this.currentBBox.x !== boundingBox.x - margin || this.currentBBox.y !== boundingBox.y - margin) {\n this.currentBBox.w = boundingBox.width + margin * 2;\n this.currentBBox.h = boundingBox.height + margin * 2;\n this.currentBBox.x = boundingBox.x - margin;\n this.currentBBox.y = boundingBox.y - margin;\n this.svgElement.setAttribute('viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h);\n svgStyle = this.svgElement.style;\n var svgTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';\n svgStyle.transform = svgTransform;\n svgStyle.webkitTransform = svgTransform;\n }\n }\n };\n\n function HCameraElement(data, globalData, comp) {\n this.initFrame();\n this.initBaseData(data, globalData, comp);\n this.initHierarchy();\n var getProp = PropertyFactory.getProp;\n this.pe = getProp(this, data.pe, 0, 0, this);\n\n if (data.ks.p.s) {\n this.px = getProp(this, data.ks.p.x, 1, 0, this);\n this.py = getProp(this, data.ks.p.y, 1, 0, this);\n this.pz = getProp(this, data.ks.p.z, 1, 0, this);\n } else {\n this.p = getProp(this, data.ks.p, 1, 0, this);\n }\n\n if (data.ks.a) {\n this.a = getProp(this, data.ks.a, 1, 0, this);\n }\n\n if (data.ks.or.k.length && data.ks.or.k[0].to) {\n var i;\n var len = data.ks.or.k.length;\n\n for (i = 0; i < len; i += 1) {\n data.ks.or.k[i].to = null;\n data.ks.or.k[i].ti = null;\n }\n }\n\n this.or = getProp(this, data.ks.or, 1, degToRads, this);\n this.or.sh = true;\n this.rx = getProp(this, data.ks.rx, 0, degToRads, this);\n this.ry = getProp(this, data.ks.ry, 0, degToRads, this);\n this.rz = getProp(this, data.ks.rz, 0, degToRads, this);\n this.mat = new Matrix();\n this._prevMat = new Matrix();\n this._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n this.finalTransform = {\n mProp: this\n };\n }\n\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n HCameraElement.prototype.setup = function () {\n var i;\n var len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n // [perspectiveElem,container]\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n perspectiveStyle = comp.perspectiveElem.style;\n containerStyle = comp.container.style;\n var perspective = this.pe.v + 'px';\n var origin = '0px 0px 0px';\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n perspectiveStyle.perspective = perspective;\n perspectiveStyle.webkitPerspective = perspective;\n containerStyle.transformOrigin = origin;\n containerStyle.mozTransformOrigin = origin;\n containerStyle.webkitTransformOrigin = origin;\n perspectiveStyle.transform = matrix;\n perspectiveStyle.webkitTransform = matrix;\n }\n }\n };\n\n HCameraElement.prototype.createElements = function () {};\n\n HCameraElement.prototype.hide = function () {};\n\n HCameraElement.prototype.renderFrame = function () {\n var _mdf = this._isFirstFrame;\n var i;\n var len;\n\n if (this.hierarchy) {\n len = this.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;\n }\n }\n\n if (_mdf || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n this.mat.reset();\n\n if (this.hierarchy) {\n len = this.hierarchy.length - 1;\n\n for (i = len; i >= 0; i -= 1) {\n var mTransf = this.hierarchy[i].finalTransform.mProp;\n this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n }\n }\n\n if (this.p) {\n this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);\n } else {\n this.mat.translate(-this.px.v, -this.py.v, this.pz.v);\n }\n\n if (this.a) {\n var diffVector;\n\n if (this.p) {\n diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];\n } else {\n diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n }\n\n var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n this.mat.rotateY(mRotationY).rotateX(-mRotationX);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);\n this.mat.translate(0, 0, this.pe.v);\n var hasMatrixChanged = !this._prevMat.equals(this.mat);\n\n if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {\n len = this.comp.threeDElements.length;\n var comp;\n var perspectiveStyle;\n var containerStyle;\n\n for (i = 0; i < len; i += 1) {\n comp = this.comp.threeDElements[i];\n\n if (comp.type === '3d') {\n if (hasMatrixChanged) {\n var matValue = this.mat.toCSS();\n containerStyle = comp.container.style;\n containerStyle.transform = matValue;\n containerStyle.webkitTransform = matValue;\n }\n\n if (this.pe._mdf) {\n perspectiveStyle = comp.perspectiveElem.style;\n perspectiveStyle.perspective = this.pe.v + 'px';\n perspectiveStyle.webkitPerspective = this.pe.v + 'px';\n }\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = false;\n };\n\n HCameraElement.prototype.prepareFrame = function (num) {\n this.prepareProperties(num, true);\n };\n\n HCameraElement.prototype.destroy = function () {};\n\n HCameraElement.prototype.getBaseElement = function () {\n return null;\n };\n\n function HImageElement(data, globalData, comp) {\n this.assetData = globalData.getAssetData(data.refId);\n this.initElement(data, globalData, comp);\n }\n\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n HImageElement.prototype.createContent = function () {\n var assetPath = this.globalData.getAssetsPath(this.assetData);\n var img = new Image();\n\n if (this.data.hasMask) {\n this.imageElem = createNS('image');\n this.imageElem.setAttribute('width', this.assetData.w + 'px');\n this.imageElem.setAttribute('height', this.assetData.h + 'px');\n this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink', 'href', assetPath);\n this.layerElement.appendChild(this.imageElem);\n this.baseElement.setAttribute('width', this.assetData.w);\n this.baseElement.setAttribute('height', this.assetData.h);\n } else {\n this.layerElement.appendChild(img);\n }\n\n img.crossOrigin = 'anonymous';\n img.src = assetPath;\n\n if (this.data.ln) {\n this.baseElement.setAttribute('id', this.data.ln);\n }\n };\n\n function HybridRendererBase(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n }\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([BaseRenderer], HybridRendererBase);\n HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n HybridRendererBase.prototype.checkPendingElements = function () {\n while (this.pendingElements.length) {\n var element = this.pendingElements.pop();\n element.checkParenting();\n }\n };\n\n HybridRendererBase.prototype.appendElementInPos = function (element, pos) {\n var newDOMElement = element.getBaseElement();\n\n if (!newDOMElement) {\n return;\n }\n\n var layer = this.layers[pos];\n\n if (!layer.ddd || !this.supports3d) {\n if (this.threeDElements) {\n this.addTo3dContainer(newDOMElement, pos);\n } else {\n var i = 0;\n var nextDOMElement;\n var nextLayer;\n var tmpDOMElement;\n\n while (i < pos) {\n if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {\n nextLayer = this.elements[i];\n tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n nextDOMElement = tmpDOMElement || nextDOMElement;\n }\n\n i += 1;\n }\n\n if (nextDOMElement) {\n if (!layer.ddd || !this.supports3d) {\n this.layerElement.insertBefore(newDOMElement, nextDOMElement);\n }\n } else if (!layer.ddd || !this.supports3d) {\n this.layerElement.appendChild(newDOMElement);\n }\n }\n } else {\n this.addTo3dContainer(newDOMElement, pos);\n }\n };\n\n HybridRendererBase.prototype.createShape = function (data) {\n if (!this.supports3d) {\n return new SVGShapeElement(data, this.globalData, this);\n }\n\n return new HShapeElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createText = function (data) {\n if (!this.supports3d) {\n return new SVGTextLottieElement(data, this.globalData, this);\n }\n\n return new HTextElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createCamera = function (data) {\n this.camera = new HCameraElement(data, this.globalData, this);\n return this.camera;\n };\n\n HybridRendererBase.prototype.createImage = function (data) {\n if (!this.supports3d) {\n return new IImageElement(data, this.globalData, this);\n }\n\n return new HImageElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createSolid = function (data) {\n if (!this.supports3d) {\n return new ISolidElement(data, this.globalData, this);\n }\n\n return new HSolidElement(data, this.globalData, this);\n };\n\n HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;\n\n HybridRendererBase.prototype.getThreeDContainerByPos = function (pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {\n return this.threeDElements[i].perspectiveElem;\n }\n\n i += 1;\n }\n\n return null;\n };\n\n HybridRendererBase.prototype.createThreeDContainer = function (pos, type) {\n var perspectiveElem = createTag('div');\n var style;\n var containerStyle;\n styleDiv(perspectiveElem);\n var container = createTag('div');\n styleDiv(container);\n\n if (type === '3d') {\n style = perspectiveElem.style;\n style.width = this.globalData.compSize.w + 'px';\n style.height = this.globalData.compSize.h + 'px';\n var center = '50% 50%';\n style.webkitTransformOrigin = center;\n style.mozTransformOrigin = center;\n style.transformOrigin = center;\n containerStyle = container.style;\n var matrix = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\n containerStyle.transform = matrix;\n containerStyle.webkitTransform = matrix;\n }\n\n perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n var threeDContainerData = {\n container: container,\n perspectiveElem: perspectiveElem,\n startPos: pos,\n endPos: pos,\n type: type\n };\n this.threeDElements.push(threeDContainerData);\n return threeDContainerData;\n };\n\n HybridRendererBase.prototype.build3dContainers = function () {\n var i;\n var len = this.layers.length;\n var lastThreeDContainerData;\n var currentContainer = '';\n\n for (i = 0; i < len; i += 1) {\n if (this.layers[i].ddd && this.layers[i].ty !== 3) {\n if (currentContainer !== '3d') {\n currentContainer = '3d';\n lastThreeDContainerData = this.createThreeDContainer(i, '3d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n } else {\n if (currentContainer !== '2d') {\n currentContainer = '2d';\n lastThreeDContainerData = this.createThreeDContainer(i, '2d');\n }\n\n lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n }\n }\n\n len = this.threeDElements.length;\n\n for (i = len - 1; i >= 0; i -= 1) {\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\n }\n };\n\n HybridRendererBase.prototype.addTo3dContainer = function (elem, pos) {\n var i = 0;\n var len = this.threeDElements.length;\n\n while (i < len) {\n if (pos <= this.threeDElements[i].endPos) {\n var j = this.threeDElements[i].startPos;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.threeDElements[i].container.insertBefore(elem, nextElement);\n } else {\n this.threeDElements[i].container.appendChild(elem);\n }\n\n break;\n }\n\n i += 1;\n }\n };\n\n HybridRendererBase.prototype.configAnimation = function (animData) {\n var resizerElem = createTag('div');\n var wrapper = this.animationItem.wrapper;\n var style = resizerElem.style;\n style.width = animData.w + 'px';\n style.height = animData.h + 'px';\n this.resizerElem = resizerElem;\n styleDiv(resizerElem);\n style.transformStyle = 'flat';\n style.mozTransformStyle = 'flat';\n style.webkitTransformStyle = 'flat';\n\n if (this.renderConfig.className) {\n resizerElem.setAttribute('class', this.renderConfig.className);\n }\n\n wrapper.appendChild(resizerElem);\n style.overflow = 'hidden';\n var svg = createNS('svg');\n svg.setAttribute('width', '1');\n svg.setAttribute('height', '1');\n styleDiv(svg);\n this.resizerElem.appendChild(svg);\n var defs = createNS('defs');\n svg.appendChild(defs);\n this.data = animData; // Mask animation\n\n this.setupGlobalData(animData, svg);\n this.globalData.defs = defs;\n this.layers = animData.layers;\n this.layerElement = this.resizerElem;\n this.build3dContainers();\n this.updateContainerSize();\n };\n\n HybridRendererBase.prototype.destroy = function () {\n if (this.animationItem.wrapper) {\n this.animationItem.wrapper.innerText = '';\n }\n\n this.animationItem.container = null;\n this.globalData.defs = null;\n var i;\n var len = this.layers ? this.layers.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (this.elements[i] && this.elements[i].destroy) {\n this.elements[i].destroy();\n }\n }\n\n this.elements.length = 0;\n this.destroyed = true;\n this.animationItem = null;\n };\n\n HybridRendererBase.prototype.updateContainerSize = function () {\n var elementWidth = this.animationItem.wrapper.offsetWidth;\n var elementHeight = this.animationItem.wrapper.offsetHeight;\n var elementRel = elementWidth / elementHeight;\n var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;\n var sx;\n var sy;\n var tx;\n var ty;\n\n if (animationRel > elementRel) {\n sx = elementWidth / this.globalData.compSize.w;\n sy = elementWidth / this.globalData.compSize.w;\n tx = 0;\n ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;\n } else {\n sx = elementHeight / this.globalData.compSize.h;\n sy = elementHeight / this.globalData.compSize.h;\n tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;\n ty = 0;\n }\n\n var style = this.resizerElem.style;\n style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,' + sy + ',0,0,0,0,1,0,' + tx + ',' + ty + ',0,1)';\n style.transform = style.webkitTransform;\n };\n\n HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n HybridRendererBase.prototype.hide = function () {\n this.resizerElem.style.display = 'none';\n };\n\n HybridRendererBase.prototype.show = function () {\n this.resizerElem.style.display = 'block';\n };\n\n HybridRendererBase.prototype.initItems = function () {\n this.buildAllItems();\n\n if (this.camera) {\n this.camera.setup();\n } else {\n var cWidth = this.globalData.compSize.w;\n var cHeight = this.globalData.compSize.h;\n var i;\n var len = this.threeDElements.length;\n\n for (i = 0; i < len; i += 1) {\n var style = this.threeDElements[i].perspectiveElem.style;\n style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';\n style.perspective = style.webkitPerspective;\n }\n }\n };\n\n HybridRendererBase.prototype.searchExtraCompositions = function (assets) {\n var i;\n var len = assets.length;\n var floatingContainer = createTag('div');\n\n for (i = 0; i < len; i += 1) {\n if (assets[i].xt) {\n var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);\n comp.initExpressions();\n this.globalData.projectInterface.registerComposition(comp);\n }\n }\n };\n\n function HCompElement(data, globalData, comp) {\n this.layers = data.layers;\n this.supports3d = !data.hasMask;\n this.completeLayers = false;\n this.pendingElements = [];\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\n this.initElement(data, globalData, comp);\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : {\n _placeholder: true\n };\n }\n\n extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement);\n HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n if (this.data.hasMask) {\n this.svgElement.setAttribute('width', this.data.w);\n this.svgElement.setAttribute('height', this.data.h);\n this.transformedElement = this.baseElement;\n } else {\n this.transformedElement = this.layerElement;\n }\n };\n\n HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n var j = 0;\n var nextElement;\n\n while (j < pos) {\n if (this.elements[j] && this.elements[j].getBaseElement) {\n nextElement = this.elements[j].getBaseElement();\n }\n\n j += 1;\n }\n\n if (nextElement) {\n this.layerElement.insertBefore(elem, nextElement);\n } else {\n this.layerElement.appendChild(elem);\n }\n };\n\n HCompElement.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n function HybridRenderer(animationItem, config) {\n this.animationItem = animationItem;\n this.layers = null;\n this.renderedFrame = -1;\n this.renderConfig = {\n className: config && config.className || '',\n imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || 'xMidYMid slice',\n hideOnTransparent: !(config && config.hideOnTransparent === false),\n filterSize: {\n width: config && config.filterSize && config.filterSize.width || '400%',\n height: config && config.filterSize && config.filterSize.height || '400%',\n x: config && config.filterSize && config.filterSize.x || '-100%',\n y: config && config.filterSize && config.filterSize.y || '-100%'\n },\n runExpressions: !config || config.runExpressions === undefined || config.runExpressions\n };\n this.globalData = {\n _mdf: false,\n frameNum: -1,\n renderConfig: this.renderConfig\n };\n this.pendingElements = [];\n this.elements = [];\n this.threeDElements = [];\n this.destroyed = false;\n this.camera = null;\n this.supports3d = true;\n this.rendererType = 'html';\n }\n\n extendPrototype([HybridRendererBase], HybridRenderer);\n\n HybridRenderer.prototype.createComp = function (data) {\n if (!this.supports3d) {\n return new SVGCompElement(data, this.globalData, this);\n }\n\n return new HCompElement(data, this.globalData, this);\n };\n\n var CompExpressionInterface = function () {\n return function (comp) {\n function _thisLayerFunction(name) {\n var i = 0;\n var len = comp.layers.length;\n\n while (i < len) {\n if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n return comp.elements[i].layerInterface;\n }\n\n i += 1;\n }\n\n return null; // return {active:false};\n }\n\n Object.defineProperty(_thisLayerFunction, '_name', {\n value: comp.data.nm\n });\n _thisLayerFunction.layer = _thisLayerFunction;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n _thisLayerFunction.pixelAspect = 1;\n _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n _thisLayerFunction.displayStartTime = 0;\n _thisLayerFunction.numLayers = comp.layers.length;\n return _thisLayerFunction;\n };\n }();\n\n function _typeof$2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$2 = function _typeof(obj) { return typeof obj; }; } else { _typeof$2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$2(obj); }\n\n /* eslint-disable */\n\n /*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\n function seedRandom(pool, math) {\n //\n // The following constants are related to IEEE 754 limits.\n //\n var global = this,\n width = 256,\n // each RC4 output is 0 <= x < 256\n chunks = 6,\n // at least six RC4 outputs for each double\n digits = 52,\n // there are 52 significant digits in a double\n rngname = 'random',\n // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n //\n // seedrandom()\n // This is the seedrandom function described above.\n //\n\n function seedrandom(seed, options, callback) {\n var key = [];\n options = options === true ? {\n entropy: true\n } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n\n var prng = function prng() {\n var n = arc4.g(chunks),\n // Start with a numerator n < 2 ^ 48\n d = startdenom,\n // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n\n while (n < significance) {\n // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n\n d *= width; // denominator and generating a\n\n x = arc4.g(1); // new least-significant-byte.\n }\n\n while (n >= overflow) {\n // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n\n d /= 2; // right using integer math until\n\n x >>>= 1; // we have exactly the desired bits.\n }\n\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function () {\n return arc4.g(4) | 0;\n };\n\n prng.quick = function () {\n return arc4.g(4) / 0x100000000;\n };\n\n prng[\"double\"] = prng; // Mix the randomness into accumulated entropy.\n\n mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n return (options.pass || callback || function (prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) {\n copy(state, arc4);\n } // Only provide the .state method if requested via options.state.\n\n\n prng.state = function () {\n return copy(arc4, {});\n };\n } // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n if (is_math_call) {\n math[rngname] = prng;\n return seed;\n } // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(prng, shortseed, 'global' in options ? options.global : this == math, options.state);\n }\n\n math['seed' + rngname] = seedrandom; //\n // ARC4\n //\n // An ARC4 implementation. The constructor takes a key in the form of\n // an array of at most (width) integers that should be 0 <= x < (width).\n //\n // The g(count) method returns a pseudorandom integer that concatenates\n // the next (count) outputs from ARC4. Its return value is a number x\n // that is in the range 0 <= x < (width ^ count).\n //\n\n function ARC4(key) {\n var t,\n keylen = key.length,\n me = this,\n i = 0,\n j = me.i = me.j = 0,\n s = me.S = []; // The empty key [] is treated as [0].\n\n if (!keylen) {\n key = [keylen++];\n } // Set up S using the standard key scheduling algorithm.\n\n\n while (i < width) {\n s[i] = i++;\n }\n\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n s[j] = t;\n } // The \"g\" method returns the next (count) outputs as one number.\n\n\n me.g = function (count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t,\n r = 0,\n i = me.i,\n j = me.j,\n s = me.S;\n\n while (count--) {\n t = s[i = mask & i + 1];\n r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n }\n\n me.i = i;\n me.j = j;\n return r; // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n };\n } //\n // copy()\n // Copies internal state of ARC4 to or from a plain object.\n //\n\n\n function copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n } //\n // flatten()\n // Converts an object tree to nested arrays of strings.\n //\n\n\n function flatten(obj, depth) {\n var result = [],\n typ = _typeof$2(obj),\n prop;\n\n if (depth && typ == 'object') {\n for (prop in obj) {\n try {\n result.push(flatten(obj[prop], depth - 1));\n } catch (e) {}\n }\n }\n\n return result.length ? result : typ == 'string' ? obj : obj + '\\0';\n } //\n // mixkey()\n // Mixes a string seed into a key that is an array of integers, and\n // returns a shortened string seed that is equivalent to the result key.\n //\n\n\n function mixkey(seed, key) {\n var stringseed = seed + '',\n smear,\n j = 0;\n\n while (j < stringseed.length) {\n key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n }\n\n return tostring(key);\n } //\n // autoseed()\n // Returns an object for autoseeding, using window.crypto and Node crypto\n // module if available.\n //\n\n\n function autoseed() {\n try {\n if (nodecrypto) {\n return tostring(nodecrypto.randomBytes(width));\n }\n\n var out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\n }\n } //\n // tostring()\n // Converts an array of charcodes to a string\n //\n\n\n function tostring(a) {\n return String.fromCharCode.apply(0, a);\n } //\n // When seedrandom.js is loaded, we immediately mix a few bits\n // from the built-in RNG into the entropy pool. Because we do\n // not want to interfere with deterministic PRNG state later,\n // seedrandom will not call math.random on its own again after\n // initialization.\n //\n\n\n mixkey(math.random(), pool); //\n // Nodejs and AMD support: export the implementation as a module using\n // either convention.\n //\n // End anonymous scope, and pass initial values.\n }\n\n ;\n\n function initialize$2(BMMath) {\n seedRandom([], BMMath);\n }\n\n var propTypes = {\n SHAPE: 'shape'\n };\n\n function _typeof$1(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof$1 = function _typeof(obj) { return typeof obj; }; } else { _typeof$1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof$1(obj); }\n\n var ExpressionManager = function () {\n 'use strict';\n\n var ob = {};\n var Math = BMMath;\n var window = null;\n var document = null;\n var XMLHttpRequest = null;\n var fetch = null;\n var frames = null;\n var _lottieGlobal = {};\n initialize$2(BMMath);\n\n function resetFrame() {\n _lottieGlobal = {};\n }\n\n function $bm_isInstanceOfArray(arr) {\n return arr.constructor === Array || arr.constructor === Float32Array;\n }\n\n function isNumerable(tOfV, v) {\n return tOfV === 'number' || v instanceof Number || tOfV === 'boolean' || tOfV === 'string';\n }\n\n function $bm_neg(a) {\n var tOfA = _typeof$1(a);\n\n if (tOfA === 'number' || a instanceof Number || tOfA === 'boolean') {\n return -a;\n }\n\n if ($bm_isInstanceOfArray(a)) {\n var i;\n var lenA = a.length;\n var retArr = [];\n\n for (i = 0; i < lenA; i += 1) {\n retArr[i] = -a[i];\n }\n\n return retArr;\n }\n\n if (a.propType) {\n return a.v;\n }\n\n return -a;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, 'easeIn').get;\n var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, 'easeOut').get;\n var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, 'easeInOut').get;\n\n function sum(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === 'string' || tOfB === 'string') {\n return a + b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] += b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a + b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] + b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n if (tOfA === 'string') {\n a = parseInt(a, 10);\n }\n\n if (tOfB === 'string') {\n b = parseInt(b, 10);\n }\n\n return a - b;\n }\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n a = a.slice(0);\n a[0] -= b;\n return a;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n b = b.slice(0);\n b[0] = a - b[0];\n return b;\n }\n\n if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n var i = 0;\n var lenA = a.length;\n var lenB = b.length;\n var retArr = [];\n\n while (i < lenA || i < lenB) {\n if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {\n retArr[i] = a[i] - b[i];\n } else {\n retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n }\n\n i += 1;\n }\n\n return retArr;\n }\n\n return 0;\n }\n\n function mul(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a * b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] * b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a * b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function div(a, b) {\n var tOfA = _typeof$1(a);\n\n var tOfB = _typeof$1(b);\n\n var arr;\n\n if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n return a / b;\n }\n\n var i;\n var len;\n\n if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n len = a.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a[i] / b;\n }\n\n return arr;\n }\n\n if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n len = b.length;\n arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = a / b[i];\n }\n\n return arr;\n }\n\n return 0;\n }\n\n function mod(a, b) {\n if (typeof a === 'string') {\n a = parseInt(a, 10);\n }\n\n if (typeof b === 'string') {\n b = parseInt(b, 10);\n }\n\n return a % b;\n }\n\n var $bm_sum = sum;\n var $bm_sub = sub;\n var $bm_mul = mul;\n var $bm_div = div;\n var $bm_mod = mod;\n\n function clamp(num, min, max) {\n if (min > max) {\n var mm = max;\n max = min;\n min = mm;\n }\n\n return Math.min(Math.max(num, min), max);\n }\n\n function radiansToDegrees(val) {\n return val / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(val) {\n return val * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees;\n var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(arr1, arr2) {\n if (typeof arr1 === 'number' || arr1 instanceof Number) {\n arr2 = arr2 || 0;\n return Math.abs(arr1 - arr2);\n }\n\n if (!arr2) {\n arr2 = helperLengthArray;\n }\n\n var i;\n var len = Math.min(arr1.length, arr2.length);\n var addedLength = 0;\n\n for (i = 0; i < len; i += 1) {\n addedLength += Math.pow(arr2[i] - arr1[i], 2);\n }\n\n return Math.sqrt(addedLength);\n }\n\n function normalize(vec) {\n return div(vec, length(vec));\n }\n\n function rgbToHsl(val) {\n var r = val[0];\n var g = val[1];\n var b = val[2];\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h;\n var s;\n var l = (max + min) / 2;\n\n if (max === min) {\n h = 0; // achromatic\n\n s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n\n case g:\n h = (b - r) / d + 2;\n break;\n\n case b:\n h = (r - g) / d + 4;\n break;\n\n default:\n break;\n }\n\n h /= 6;\n }\n\n return [h, s, l, val[3]];\n }\n\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n\n function hslToRgb(val) {\n var h = val[0];\n var s = val[1];\n var l = val[2];\n var r;\n var g;\n var b;\n\n if (s === 0) {\n r = l; // achromatic\n\n b = l; // achromatic\n\n g = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [r, g, b, val[3]];\n }\n\n function linear(t, tMin, tMax, value1, value2) {\n if (value1 === undefined || value2 === undefined) {\n value1 = tMin;\n value2 = tMax;\n tMin = 0;\n tMax = 1;\n }\n\n if (tMax < tMin) {\n var _tMin = tMax;\n tMax = tMin;\n tMin = _tMin;\n }\n\n if (t <= tMin) {\n return value1;\n }\n\n if (t >= tMax) {\n return value2;\n }\n\n var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n if (!value1.length) {\n return value1 + (value2 - value1) * perc;\n }\n\n var i;\n var len = value1.length;\n var arr = createTypedArray('float32', len);\n\n for (i = 0; i < len; i += 1) {\n arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n }\n\n return arr;\n }\n\n function random(min, max) {\n if (max === undefined) {\n if (min === undefined) {\n min = 0;\n max = 1;\n } else {\n max = min;\n min = undefined;\n }\n }\n\n if (max.length) {\n var i;\n var len = max.length;\n\n if (!min) {\n min = createTypedArray('float32', len);\n }\n\n var arr = createTypedArray('float32', len);\n var rnd = BMMath.random();\n\n for (i = 0; i < len; i += 1) {\n arr[i] = min[i] + rnd * (max[i] - min[i]);\n }\n\n return arr;\n }\n\n if (min === undefined) {\n min = 0;\n }\n\n var rndm = BMMath.random();\n return min + rndm * (max - min);\n }\n\n function createPath(points, inTangents, outTangents, closed) {\n var i;\n var len = points.length;\n var path = shapePool.newElement();\n path.setPathData(!!closed, len);\n var arrPlaceholder = [0, 0];\n var inVertexPoint;\n var outVertexPoint;\n\n for (i = 0; i < len; i += 1) {\n inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n }\n\n return path;\n }\n\n function initiateExpression(elem, data, property) {\n // Bail out if we don't want expressions\n function noOp(_value) {\n return _value;\n }\n\n if (!elem.globalData.renderConfig.runExpressions) {\n return noOp;\n }\n\n var val = data.x;\n var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n var _needsRandom = val.indexOf('random') !== -1;\n\n var elemType = elem.data.ty;\n var transform;\n var $bm_transform;\n var content;\n var effect;\n var thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime;\n Object.defineProperty(thisProperty, 'value', {\n get: function get() {\n return thisProperty.v;\n }\n });\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n var width = elem.data.sw ? elem.data.sw : 0;\n var height = elem.data.sh ? elem.data.sh : 0;\n var name = elem.data.nm;\n var loopIn;\n var loop_in;\n var loopOut;\n var loop_out;\n var smooth;\n var toWorld;\n var fromWorld;\n var fromComp;\n var toComp;\n var fromCompToSurface;\n var position;\n var rotation;\n var anchorPoint;\n var scale;\n var thisLayer;\n var thisComp;\n var mask;\n var valueAtTime;\n var velocityAtTime;\n var scoped_bm_rt; // val = val.replace(/(\\\\?\"|')((http)(s)?(:\\/))?\\/.*?(\\\\?\"|')/g, \"\\\"\\\"\"); // deter potential network calls\n\n var expression_function = eval('[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]')[0]; // eslint-disable-line no-eval\n\n var numKeys = property.kf ? data.k.length : 0;\n var active = !this.data || this.data.hd !== true;\n\n var wiggle = function wiggle(freq, amp) {\n var iWiggle;\n var j;\n var lenWiggle = this.pv.length ? this.pv.length : 1;\n var addedAmps = createTypedArray('float32', lenWiggle);\n freq = 5;\n var iterations = Math.floor(time * freq);\n iWiggle = 0;\n j = 0;\n\n while (iWiggle < iterations) {\n // var rnd = BMMath.random();\n for (j = 0; j < lenWiggle; j += 1) {\n addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n }\n\n iWiggle += 1;\n } // var rnd2 = BMMath.random();\n\n\n var periods = time * freq;\n var perc = periods - Math.floor(periods);\n var arr = createTypedArray('float32', lenWiggle);\n\n if (lenWiggle > 1) {\n for (j = 0; j < lenWiggle; j += 1) {\n arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n }\n\n return arr;\n }\n\n return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n }.bind(this);\n\n if (thisProperty.loopIn) {\n loopIn = thisProperty.loopIn.bind(thisProperty);\n loop_in = loopIn;\n }\n\n if (thisProperty.loopOut) {\n loopOut = thisProperty.loopOut.bind(thisProperty);\n loop_out = loopOut;\n }\n\n if (thisProperty.smooth) {\n smooth = thisProperty.smooth.bind(thisProperty);\n }\n\n function loopInDuration(type, duration) {\n return loopIn(type, duration, true);\n }\n\n function loopOutDuration(type, duration) {\n return loopOut(type, duration, true);\n }\n\n if (this.getValueAtTime) {\n valueAtTime = this.getValueAtTime.bind(this);\n }\n\n if (this.getVelocityAtTime) {\n velocityAtTime = this.getVelocityAtTime.bind(this);\n }\n\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n function lookAt(elem1, elem2) {\n var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n return [yaw, pitch, 0];\n }\n\n function easeOut(t, tMin, tMax, val1, val2) {\n return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n }\n\n function easeIn(t, tMin, tMax, val1, val2) {\n return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n }\n\n function ease(t, tMin, tMax, val1, val2) {\n return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n }\n\n function applyEase(fn, t, tMin, tMax, val1, val2) {\n if (val1 === undefined) {\n val1 = tMin;\n val2 = tMax;\n } else {\n t = (t - tMin) / (tMax - tMin);\n }\n\n if (t > 1) {\n t = 1;\n } else if (t < 0) {\n t = 0;\n }\n\n var mult = fn(t);\n\n if ($bm_isInstanceOfArray(val1)) {\n var iKey;\n var lenKey = val1.length;\n var arr = createTypedArray('float32', lenKey);\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n }\n\n return arr;\n }\n\n return (val2 - val1) * mult + val1;\n }\n\n function nearestKey(time) {\n var iKey;\n var lenKey = data.k.length;\n var index;\n var keyTime;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n index = 0;\n keyTime = 0;\n } else {\n index = -1;\n time *= elem.comp.globalData.frameRate;\n\n if (time < data.k[0].t) {\n index = 1;\n keyTime = data.k[0].t;\n } else {\n for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n if (time === data.k[iKey].t) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n break;\n } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n index = iKey + 2;\n keyTime = data.k[iKey + 1].t;\n } else {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n\n break;\n }\n }\n\n if (index === -1) {\n index = iKey + 1;\n keyTime = data.k[iKey].t;\n }\n }\n }\n\n var obKey = {};\n obKey.index = index;\n obKey.time = keyTime / elem.comp.globalData.frameRate;\n return obKey;\n }\n\n function key(ind) {\n var obKey;\n var iKey;\n var lenKey;\n\n if (!data.k.length || typeof data.k[0] === 'number') {\n throw new Error('The property has no keyframe at index ' + ind);\n }\n\n ind -= 1;\n obKey = {\n time: data.k[ind].t / elem.comp.globalData.frameRate,\n value: []\n };\n var arr = Object.prototype.hasOwnProperty.call(data.k[ind], 's') ? data.k[ind].s : data.k[ind - 1].e;\n lenKey = arr.length;\n\n for (iKey = 0; iKey < lenKey; iKey += 1) {\n obKey[iKey] = arr[iKey];\n obKey.value[iKey] = arr[iKey];\n }\n\n return obKey;\n }\n\n function framesToTime(fr, fps) {\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return fr / fps;\n }\n\n function timeToFrames(t, fps) {\n if (!t && t !== 0) {\n t = time;\n }\n\n if (!fps) {\n fps = elem.comp.globalData.frameRate;\n }\n\n return t * fps;\n }\n\n function seedRandom(seed) {\n BMMath.seedrandom(randSeed + seed);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substring(init);\n }\n\n return value.substring(init, end);\n }\n\n return '';\n }\n\n function substr(init, end) {\n if (typeof value === 'string') {\n if (end === undefined) {\n return value.substr(init);\n }\n\n return value.substr(init, end);\n }\n\n return '';\n }\n\n function posterizeTime(framesPerSecond) {\n time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n value = valueAtTime(time);\n }\n\n var time;\n var velocity;\n var value;\n var text;\n var textIndex;\n var textTotal;\n var selectorValue;\n var index = elem.data.ind;\n var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n var parent;\n var randSeed = Math.floor(Math.random() * 1000000);\n var globalData = elem.globalData;\n\n function executeExpression(_value) {\n // globalData.pushExpression();\n value = _value;\n\n if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {\n return value;\n }\n\n if (this.propType === 'textSelector') {\n textIndex = this.textIndex;\n textTotal = this.textTotal;\n selectorValue = this.selectorValue;\n }\n\n if (!thisLayer) {\n text = elem.layerInterface.text;\n thisLayer = elem.layerInterface;\n thisComp = elem.comp.compInterface;\n toWorld = thisLayer.toWorld.bind(thisLayer);\n fromWorld = thisLayer.fromWorld.bind(thisLayer);\n fromComp = thisLayer.fromComp.bind(thisLayer);\n toComp = thisLayer.toComp.bind(thisLayer);\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n fromCompToSurface = fromComp;\n }\n\n if (!transform) {\n transform = elem.layerInterface('ADBE Transform Group');\n $bm_transform = transform;\n\n if (transform) {\n anchorPoint = transform.anchorPoint;\n /* position = transform.position;\r\n rotation = transform.rotation;\r\n scale = transform.scale; */\n }\n }\n\n if (elemType === 4 && !content) {\n content = thisLayer('ADBE Root Vectors Group');\n }\n\n if (!effect) {\n effect = thisLayer(4);\n }\n\n hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n if (hasParent && !parent) {\n parent = elem.hierarchy[0].layerInterface;\n }\n\n time = this.comp.renderedFrame / this.comp.globalData.frameRate;\n\n if (_needsRandom) {\n seedRandom(randSeed + time);\n }\n\n if (needsVelocity) {\n velocity = velocityAtTime(time);\n }\n\n expression_function();\n this.frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n // Changed this to a ternary operation because Rollup failed compiling it correctly\n\n scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;\n return scoped_bm_rt;\n } // Bundlers will see these as dead code and unless we reference them\n\n\n executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData];\n return executeExpression;\n }\n\n ob.initiateExpression = initiateExpression;\n ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal];\n ob.resetFrame = resetFrame;\n return ob;\n }();\n\n var Expressions = function () {\n var ob = {};\n ob.initExpressions = initExpressions;\n ob.resetFrame = ExpressionManager.resetFrame;\n\n function initExpressions(animation) {\n var stackCount = 0;\n var registers = [];\n\n function pushExpression() {\n stackCount += 1;\n }\n\n function popExpression() {\n stackCount -= 1;\n\n if (stackCount === 0) {\n releaseInstances();\n }\n }\n\n function registerExpressionProperty(expression) {\n if (registers.indexOf(expression) === -1) {\n registers.push(expression);\n }\n }\n\n function releaseInstances() {\n var i;\n var len = registers.length;\n\n for (i = 0; i < len; i += 1) {\n registers[i].release();\n }\n\n registers.length = 0;\n }\n\n animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n animation.renderer.globalData.pushExpression = pushExpression;\n animation.renderer.globalData.popExpression = popExpression;\n animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n }\n\n return ob;\n }();\n\n var MaskManagerInterface = function () {\n function MaskInterface(mask, data) {\n this._mask = mask;\n this._data = data;\n }\n\n Object.defineProperty(MaskInterface.prototype, 'maskPath', {\n get: function get() {\n if (this._mask.prop.k) {\n this._mask.prop.getValue();\n }\n\n return this._mask.prop;\n }\n });\n Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {\n get: function get() {\n if (this._mask.op.k) {\n this._mask.op.getValue();\n }\n\n return this._mask.op.v * 100;\n }\n });\n\n var MaskManager = function MaskManager(maskManager) {\n var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n var i;\n var len = maskManager.viewData.length;\n\n for (i = 0; i < len; i += 1) {\n _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n }\n\n var maskFunction = function maskFunction(name) {\n i = 0;\n\n while (i < len) {\n if (maskManager.masksProperties[i].nm === name) {\n return _masksInterfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n return maskFunction;\n };\n\n return MaskManager;\n }();\n\n var ExpressionPropertyInterface = function () {\n var defaultUnidimensionalValue = {\n pv: 0,\n v: 0,\n mult: 1\n };\n var defaultMultidimensionalValue = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function completeProperty(expressionValue, property, type) {\n Object.defineProperty(expressionValue, 'velocity', {\n get: function get() {\n return property.getVelocityAtTime(property.comp.currentFrame);\n }\n });\n expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n expressionValue.key = function (pos) {\n if (!expressionValue.numKeys) {\n return 0;\n }\n\n var value = '';\n\n if ('s' in property.keyframes[pos - 1]) {\n value = property.keyframes[pos - 1].s;\n } else if ('e' in property.keyframes[pos - 2]) {\n value = property.keyframes[pos - 2].e;\n } else {\n value = property.keyframes[pos - 2].s;\n }\n\n var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n valueProp.value = type === 'unidimensional' ? value[0] : value;\n return valueProp;\n };\n\n expressionValue.valueAtTime = property.getValueAtTime;\n expressionValue.speedAtTime = property.getSpeedAtTime;\n expressionValue.velocityAtTime = property.getVelocityAtTime;\n expressionValue.propertyGroup = property.propertyGroup;\n }\n\n function UnidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultUnidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var val = property.pv * mult;\n var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n val = property.v * mult;\n\n if (expressionValue.value !== val) {\n expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n expressionValue.value = val;\n completeProperty(expressionValue, property, 'unidimensional');\n }\n\n return expressionValue;\n };\n }\n\n function MultidimensionalPropertyInterface(property) {\n if (!property || !('pv' in property)) {\n property = defaultMultidimensionalValue;\n }\n\n var mult = 1 / property.mult;\n var len = property.data && property.data.l || property.pv.length;\n var expressionValue = createTypedArray('float32', len);\n var arrValue = createTypedArray('float32', len);\n expressionValue.value = arrValue;\n completeProperty(expressionValue, property, 'multidimensional');\n return function () {\n if (property.k) {\n property.getValue();\n }\n\n for (var i = 0; i < len; i += 1) {\n arrValue[i] = property.v[i] * mult;\n expressionValue[i] = arrValue[i];\n }\n\n return expressionValue;\n };\n } // TODO: try to avoid using this getter\n\n\n function defaultGetter() {\n return defaultUnidimensionalValue;\n }\n\n return function (property) {\n if (!property) {\n return defaultGetter;\n }\n\n if (property.propType === 'unidimensional') {\n return UnidimensionalPropertyInterface(property);\n }\n\n return MultidimensionalPropertyInterface(property);\n };\n }();\n\n var TransformExpressionInterface = function () {\n return function (transform) {\n function _thisFunction(name) {\n switch (name) {\n case 'scale':\n case 'Scale':\n case 'ADBE Scale':\n case 6:\n return _thisFunction.scale;\n\n case 'rotation':\n case 'Rotation':\n case 'ADBE Rotation':\n case 'ADBE Rotate Z':\n case 10:\n return _thisFunction.rotation;\n\n case 'ADBE Rotate X':\n return _thisFunction.xRotation;\n\n case 'ADBE Rotate Y':\n return _thisFunction.yRotation;\n\n case 'position':\n case 'Position':\n case 'ADBE Position':\n case 2:\n return _thisFunction.position;\n\n case 'ADBE Position_0':\n return _thisFunction.xPosition;\n\n case 'ADBE Position_1':\n return _thisFunction.yPosition;\n\n case 'ADBE Position_2':\n return _thisFunction.zPosition;\n\n case 'anchorPoint':\n case 'AnchorPoint':\n case 'Anchor Point':\n case 'ADBE AnchorPoint':\n case 1:\n return _thisFunction.anchorPoint;\n\n case 'opacity':\n case 'Opacity':\n case 11:\n return _thisFunction.opacity;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisFunction, 'rotation', {\n get: ExpressionPropertyInterface(transform.r || transform.rz)\n });\n Object.defineProperty(_thisFunction, 'zRotation', {\n get: ExpressionPropertyInterface(transform.rz || transform.r)\n });\n Object.defineProperty(_thisFunction, 'xRotation', {\n get: ExpressionPropertyInterface(transform.rx)\n });\n Object.defineProperty(_thisFunction, 'yRotation', {\n get: ExpressionPropertyInterface(transform.ry)\n });\n Object.defineProperty(_thisFunction, 'scale', {\n get: ExpressionPropertyInterface(transform.s)\n });\n\n var _px;\n\n var _py;\n\n var _pz;\n\n var _transformFactory;\n\n if (transform.p) {\n _transformFactory = ExpressionPropertyInterface(transform.p);\n } else {\n _px = ExpressionPropertyInterface(transform.px);\n _py = ExpressionPropertyInterface(transform.py);\n\n if (transform.pz) {\n _pz = ExpressionPropertyInterface(transform.pz);\n }\n }\n\n Object.defineProperty(_thisFunction, 'position', {\n get: function get() {\n if (transform.p) {\n return _transformFactory();\n }\n\n return [_px(), _py(), _pz ? _pz() : 0];\n }\n });\n Object.defineProperty(_thisFunction, 'xPosition', {\n get: ExpressionPropertyInterface(transform.px)\n });\n Object.defineProperty(_thisFunction, 'yPosition', {\n get: ExpressionPropertyInterface(transform.py)\n });\n Object.defineProperty(_thisFunction, 'zPosition', {\n get: ExpressionPropertyInterface(transform.pz)\n });\n Object.defineProperty(_thisFunction, 'anchorPoint', {\n get: ExpressionPropertyInterface(transform.a)\n });\n Object.defineProperty(_thisFunction, 'opacity', {\n get: ExpressionPropertyInterface(transform.o)\n });\n Object.defineProperty(_thisFunction, 'skew', {\n get: ExpressionPropertyInterface(transform.sk)\n });\n Object.defineProperty(_thisFunction, 'skewAxis', {\n get: ExpressionPropertyInterface(transform.sa)\n });\n Object.defineProperty(_thisFunction, 'orientation', {\n get: ExpressionPropertyInterface(transform.or)\n });\n return _thisFunction;\n };\n }();\n\n var LayerExpressionInterface = function () {\n function getMatrix(time) {\n var toWorldMat = new Matrix();\n\n if (time !== undefined) {\n var propMatrix = this._elem.finalTransform.mProp.getValueAtTime(time);\n\n propMatrix.clone(toWorldMat);\n } else {\n var transformMat = this._elem.finalTransform.mProp;\n transformMat.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat;\n }\n\n function toWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.applyPoint(toWorldMat, arr);\n }\n\n function toWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.applyPoint(toWorldMat, arr);\n }\n\n function fromWorldVec(arr, time) {\n var toWorldMat = this.getMatrix(time);\n toWorldMat.props[12] = 0;\n toWorldMat.props[13] = 0;\n toWorldMat.props[14] = 0;\n return this.invertPoint(toWorldMat, arr);\n }\n\n function fromWorld(arr, time) {\n var toWorldMat = this.getMatrix(time);\n return this.invertPoint(toWorldMat, arr);\n }\n\n function applyPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n }\n\n function invertPoint(matrix, arr) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n }\n }\n\n return matrix.inversePoint(arr);\n }\n\n function fromComp(arr) {\n var toWorldMat = new Matrix();\n toWorldMat.reset();\n\n this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var i;\n var len = this._elem.hierarchy.length;\n\n for (i = 0; i < len; i += 1) {\n this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n return toWorldMat.inversePoint(arr);\n }\n\n function sampleImage() {\n return [1, 1, 1, 1];\n }\n\n return function (elem) {\n var transformInterface;\n\n function _registerMaskInterface(maskManager) {\n _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n }\n\n function _registerEffectsInterface(effects) {\n _thisLayerFunction.effect = effects;\n }\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Root Vectors Group':\n case 'Contents':\n case 2:\n return _thisLayerFunction.shapeInterface;\n\n case 1:\n case 6:\n case 'Transform':\n case 'transform':\n case 'ADBE Transform Group':\n return transformInterface;\n\n case 4:\n case 'ADBE Effect Parade':\n case 'effects':\n case 'Effects':\n return _thisLayerFunction.effect;\n\n case 'ADBE Text Properties':\n return _thisLayerFunction.textInterface;\n\n default:\n return null;\n }\n }\n\n _thisLayerFunction.getMatrix = getMatrix;\n _thisLayerFunction.invertPoint = invertPoint;\n _thisLayerFunction.applyPoint = applyPoint;\n _thisLayerFunction.toWorld = toWorld;\n _thisLayerFunction.toWorldVec = toWorldVec;\n _thisLayerFunction.fromWorld = fromWorld;\n _thisLayerFunction.fromWorldVec = fromWorldVec;\n _thisLayerFunction.toComp = toWorld;\n _thisLayerFunction.fromComp = fromComp;\n _thisLayerFunction.sampleImage = sampleImage;\n _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n _thisLayerFunction._elem = elem;\n transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');\n Object.defineProperties(_thisLayerFunction, {\n hasParent: {\n get: function get() {\n return elem.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return elem.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(transformInterface, 'rotation'),\n scale: getDescriptor(transformInterface, 'scale'),\n position: getDescriptor(transformInterface, 'position'),\n opacity: getDescriptor(transformInterface, 'opacity'),\n anchorPoint: anchorPointDescriptor,\n anchor_point: anchorPointDescriptor,\n transform: {\n get: function get() {\n return transformInterface;\n }\n },\n active: {\n get: function get() {\n return elem.isInRange;\n }\n }\n });\n _thisLayerFunction.startTime = elem.data.st;\n _thisLayerFunction.index = elem.data.ind;\n _thisLayerFunction.source = elem.data.refId;\n _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n _thisLayerFunction._name = elem.data.nm;\n _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n return _thisLayerFunction;\n };\n }();\n\n var propertyGroupFactory = function () {\n return function (interfaceFunction, parentPropertyGroup) {\n return function (val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return parentPropertyGroup(val - 1);\n };\n };\n }();\n\n var PropertyInterface = function () {\n return function (propertyName, propertyGroup) {\n var interfaceFunction = {\n _name: propertyName\n };\n\n function _propertyGroup(val) {\n val = val === undefined ? 1 : val;\n\n if (val <= 0) {\n return interfaceFunction;\n }\n\n return propertyGroup(val - 1);\n }\n\n return _propertyGroup;\n };\n }();\n\n var EffectsExpressionInterface = function () {\n var ob = {\n createEffectsInterface: createEffectsInterface\n };\n\n function createEffectsInterface(elem, propertyGroup) {\n if (elem.effectsManager) {\n var effectElements = [];\n var effectsData = elem.data.ef;\n var i;\n var len = elem.effectsManager.effectElements.length;\n\n for (i = 0; i < len; i += 1) {\n effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n }\n\n var effects = elem.data.ef || [];\n\n var groupInterface = function groupInterface(name) {\n i = 0;\n len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n return effectElements[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n Object.defineProperty(groupInterface, 'numProperties', {\n get: function get() {\n return effects.length;\n }\n });\n return groupInterface;\n }\n\n return null;\n }\n\n function createGroupInterface(data, elements, propertyGroup, elem) {\n function groupInterface(name) {\n var effects = data.ef;\n var i = 0;\n var len = effects.length;\n\n while (i < len) {\n if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n if (effects[i].ty === 5) {\n return effectElements[i];\n }\n\n return effectElements[i]();\n }\n\n i += 1;\n }\n\n throw new Error();\n }\n\n var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n var effectElements = [];\n var i;\n var len = data.ef.length;\n\n for (i = 0; i < len; i += 1) {\n if (data.ef[i].ty === 5) {\n effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n } else {\n effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n }\n }\n\n if (data.mn === 'ADBE Color Control') {\n Object.defineProperty(groupInterface, 'color', {\n get: function get() {\n return effectElements[0]();\n }\n });\n }\n\n Object.defineProperties(groupInterface, {\n numProperties: {\n get: function get() {\n return data.np;\n }\n },\n _name: {\n value: data.nm\n },\n propertyGroup: {\n value: _propertyGroup\n }\n });\n groupInterface.enabled = data.en !== 0;\n groupInterface.active = groupInterface.enabled;\n return groupInterface;\n }\n\n function createValueInterface(element, type, elem, propertyGroup) {\n var expressionProperty = ExpressionPropertyInterface(element.p);\n\n function interfaceFunction() {\n if (type === 10) {\n return elem.comp.compInterface(element.p.v);\n }\n\n return expressionProperty();\n }\n\n if (element.p.setGroupProperty) {\n element.p.setGroupProperty(PropertyInterface('', propertyGroup));\n }\n\n return interfaceFunction;\n }\n\n return ob;\n }();\n\n var ShapePathInterface = function () {\n return function pathInterfaceFactory(shape, view, propertyGroup) {\n var prop = view.sh;\n\n function interfaceFunction(val) {\n if (val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2) {\n return interfaceFunction.path;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n prop.setGroupProperty(PropertyInterface('Path', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n path: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n shape: {\n get: function get() {\n if (prop.k) {\n prop.getValue();\n }\n\n return prop;\n }\n },\n _name: {\n value: shape.nm\n },\n ix: {\n value: shape.ix\n },\n propertyIndex: {\n value: shape.ix\n },\n mn: {\n value: shape.mn\n },\n propertyGroup: {\n value: propertyGroup\n }\n });\n return interfaceFunction;\n };\n }();\n\n var ShapeExpressionInterface = function () {\n function iterateElements(shapes, view, propertyGroup) {\n var arr = [];\n var i;\n var len = shapes ? shapes.length : 0;\n\n for (i = 0; i < len; i += 1) {\n if (shapes[i].ty === 'gr') {\n arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'fl') {\n arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'st') {\n arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tm') {\n arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'tr') {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n } else if (shapes[i].ty === 'el') {\n arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sr') {\n arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'sh') {\n arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rc') {\n arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rd') {\n arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'rp') {\n arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else if (shapes[i].ty === 'gf') {\n arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));\n } else {\n arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));\n }\n }\n\n return arr;\n }\n\n function contentsInterfaceFactory(shape, view, propertyGroup) {\n var interfaces;\n\n var interfaceFunction = function _interfaceFunction(value) {\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n if (typeof value === 'number') {\n return interfaces[value - 1];\n }\n\n return null;\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n interfaceFunction.numProperties = interfaces.length;\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.transform = transformInterface;\n interfaceFunction.propertyIndex = shape.cix;\n interfaceFunction._name = shape.nm;\n return interfaceFunction;\n }\n\n function groupInterfaceFactory(shape, view, propertyGroup) {\n var interfaceFunction = function _interfaceFunction(value) {\n switch (value) {\n case 'ADBE Vectors Group':\n case 'Contents':\n case 2:\n return interfaceFunction.content;\n // Not necessary for now. Keeping them here in case a new case appears\n // case 'ADBE Vector Transform Group':\n // case 3:\n\n default:\n return interfaceFunction.transform;\n }\n };\n\n interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n interfaceFunction.content = content;\n interfaceFunction.transform = transformInterface;\n Object.defineProperty(interfaceFunction, '_name', {\n get: function get() {\n return shape.nm;\n }\n }); // interfaceFunction.content = interfaceFunction;\n\n interfaceFunction.numProperties = shape.np;\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.nm = shape.nm;\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function fillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function gradientFillInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === 'Start Point' || val === 'start point') {\n return interfaceFunction.startPoint;\n }\n\n if (val === 'End Point' || val === 'end point') {\n return interfaceFunction.endPoint;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n startPoint: {\n get: ExpressionPropertyInterface(view.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(view.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n type: {\n get: function get() {\n return 'a';\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.s.setGroupProperty(PropertyInterface('Start Point', propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End Point', propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', propertyGroup));\n return interfaceFunction;\n }\n\n function defaultInterfaceFactory() {\n function interfaceFunction() {\n return null;\n }\n\n return interfaceFunction;\n }\n\n function strokeInterfaceFactory(shape, view, propertyGroup) {\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n function addPropertyToDashOb(i) {\n Object.defineProperty(dashOb, shape.d[i].nm, {\n get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n });\n }\n\n var i;\n var len = shape.d ? shape.d.length : 0;\n var dashOb = {};\n\n for (i = 0; i < len; i += 1) {\n addPropertyToDashOb(i);\n view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n }\n\n function interfaceFunction(val) {\n if (val === 'Color' || val === 'color') {\n return interfaceFunction.color;\n }\n\n if (val === 'Opacity' || val === 'opacity') {\n return interfaceFunction.opacity;\n }\n\n if (val === 'Stroke Width' || val === 'stroke width') {\n return interfaceFunction.strokeWidth;\n }\n\n return null;\n }\n\n Object.defineProperties(interfaceFunction, {\n color: {\n get: ExpressionPropertyInterface(view.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(view.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(view.w)\n },\n dash: {\n get: function get() {\n return dashOb;\n }\n },\n _name: {\n value: shape.nm\n },\n mn: {\n value: shape.mn\n }\n });\n view.c.setGroupProperty(PropertyInterface('Color', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.w.setGroupProperty(PropertyInterface('Stroke Width', _propertyGroup));\n return interfaceFunction;\n }\n\n function trimInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(val) {\n if (val === shape.e.ix || val === 'End' || val === 'end') {\n return interfaceFunction.end;\n }\n\n if (val === shape.s.ix) {\n return interfaceFunction.start;\n }\n\n if (val === shape.o.ix) {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n view.s.setGroupProperty(PropertyInterface('Start', _propertyGroup));\n view.e.setGroupProperty(PropertyInterface('End', _propertyGroup));\n view.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n interfaceFunction.propertyIndex = shape.ix;\n interfaceFunction.propertyGroup = propertyGroup;\n Object.defineProperties(interfaceFunction, {\n start: {\n get: ExpressionPropertyInterface(view.s)\n },\n end: {\n get: ExpressionPropertyInterface(view.e)\n },\n offset: {\n get: ExpressionPropertyInterface(view.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function transformInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.a.ix === value || value === 'Anchor Point') {\n return interfaceFunction.anchorPoint;\n }\n\n if (shape.o.ix === value || value === 'Opacity') {\n return interfaceFunction.opacity;\n }\n\n if (shape.p.ix === value || value === 'Position') {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation') {\n return interfaceFunction.rotation;\n }\n\n if (shape.s.ix === value || value === 'Scale') {\n return interfaceFunction.scale;\n }\n\n if (shape.sk && shape.sk.ix === value || value === 'Skew') {\n return interfaceFunction.skew;\n }\n\n if (shape.sa && shape.sa.ix === value || value === 'Skew Axis') {\n return interfaceFunction.skewAxis;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n view.transform.mProps.o.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n view.transform.mProps.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n view.transform.mProps.a.setGroupProperty(PropertyInterface('Anchor Point', _propertyGroup));\n view.transform.mProps.s.setGroupProperty(PropertyInterface('Scale', _propertyGroup));\n view.transform.mProps.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (view.transform.mProps.sk) {\n view.transform.mProps.sk.setGroupProperty(PropertyInterface('Skew', _propertyGroup));\n view.transform.mProps.sa.setGroupProperty(PropertyInterface('Skew Angle', _propertyGroup));\n }\n\n view.transform.op.setGroupProperty(PropertyInterface('Opacity', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n opacity: {\n get: ExpressionPropertyInterface(view.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(view.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(view.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(view.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(view.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(view.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(view.transform.mProps.sa)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.ty = 'tr';\n interfaceFunction.mn = shape.mn;\n interfaceFunction.propertyGroup = propertyGroup;\n return interfaceFunction;\n }\n\n function ellipseInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.s.ix === value) {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n interfaceFunction.propertyIndex = shape.ix;\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function starInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.rotation;\n }\n\n if (shape.pt.ix === value) {\n return interfaceFunction.points;\n }\n\n if (shape.or.ix === value || value === 'ADBE Vector Star Outer Radius') {\n return interfaceFunction.outerRadius;\n }\n\n if (shape.os.ix === value) {\n return interfaceFunction.outerRoundness;\n }\n\n if (shape.ir && (shape.ir.ix === value || value === 'ADBE Vector Star Inner Radius')) {\n return interfaceFunction.innerRadius;\n }\n\n if (shape.is && shape.is.ix === value) {\n return interfaceFunction.innerRoundness;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.or.setGroupProperty(PropertyInterface('Outer Radius', _propertyGroup));\n prop.os.setGroupProperty(PropertyInterface('Outer Roundness', _propertyGroup));\n prop.pt.setGroupProperty(PropertyInterface('Points', _propertyGroup));\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n\n if (shape.ir) {\n prop.ir.setGroupProperty(PropertyInterface('Inner Radius', _propertyGroup));\n prop.is.setGroupProperty(PropertyInterface('Inner Roundness', _propertyGroup));\n }\n\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(prop.r)\n },\n points: {\n get: ExpressionPropertyInterface(prop.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(prop.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(prop.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(prop.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(prop.is)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function rectInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.p.ix === value) {\n return interfaceFunction.position;\n }\n\n if (shape.r.ix === value) {\n return interfaceFunction.roundness;\n }\n\n if (shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size') {\n return interfaceFunction.size;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;\n interfaceFunction.propertyIndex = shape.ix;\n prop.p.setGroupProperty(PropertyInterface('Position', _propertyGroup));\n prop.s.setGroupProperty(PropertyInterface('Size', _propertyGroup));\n prop.r.setGroupProperty(PropertyInterface('Rotation', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n position: {\n get: ExpressionPropertyInterface(prop.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(prop.r)\n },\n size: {\n get: ExpressionPropertyInterface(prop.s)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function roundedInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.r.ix === value || value === 'Round Corners 1') {\n return interfaceFunction.radius;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.rd.setGroupProperty(PropertyInterface('Radius', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n radius: {\n get: ExpressionPropertyInterface(prop.rd)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n function repeaterInterfaceFactory(shape, view, propertyGroup) {\n function interfaceFunction(value) {\n if (shape.c.ix === value || value === 'Copies') {\n return interfaceFunction.copies;\n }\n\n if (shape.o.ix === value || value === 'Offset') {\n return interfaceFunction.offset;\n }\n\n return null;\n }\n\n var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n var prop = view;\n interfaceFunction.propertyIndex = shape.ix;\n prop.c.setGroupProperty(PropertyInterface('Copies', _propertyGroup));\n prop.o.setGroupProperty(PropertyInterface('Offset', _propertyGroup));\n Object.defineProperties(interfaceFunction, {\n copies: {\n get: ExpressionPropertyInterface(prop.c)\n },\n offset: {\n get: ExpressionPropertyInterface(prop.o)\n },\n _name: {\n value: shape.nm\n }\n });\n interfaceFunction.mn = shape.mn;\n return interfaceFunction;\n }\n\n return function (shapes, view, propertyGroup) {\n var interfaces;\n\n function _interfaceFunction(value) {\n if (typeof value === 'number') {\n value = value === undefined ? 1 : value;\n\n if (value === 0) {\n return propertyGroup;\n }\n\n return interfaces[value - 1];\n }\n\n var i = 0;\n var len = interfaces.length;\n\n while (i < len) {\n if (interfaces[i]._name === value) {\n return interfaces[i];\n }\n\n i += 1;\n }\n\n return null;\n }\n\n function parentGroupWrapper() {\n return propertyGroup;\n }\n\n _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n _interfaceFunction.numProperties = interfaces.length;\n _interfaceFunction._name = 'Contents';\n return _interfaceFunction;\n };\n }();\n\n var TextExpressionInterface = function () {\n return function (elem) {\n var _sourceText;\n\n function _thisLayerFunction(name) {\n switch (name) {\n case 'ADBE Text Document':\n return _thisLayerFunction.sourceText;\n\n default:\n return null;\n }\n }\n\n Object.defineProperty(_thisLayerFunction, 'sourceText', {\n get: function get() {\n elem.textProperty.getValue();\n var stringValue = elem.textProperty.currentData.t;\n\n if (!_sourceText || stringValue !== _sourceText.value) {\n _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n\n Object.defineProperty(_sourceText, 'style', {\n get: function get() {\n return {\n fillColor: elem.textProperty.currentData.fc\n };\n }\n });\n }\n\n return _sourceText;\n }\n });\n return _thisLayerFunction;\n };\n }();\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n var FootageInterface = function () {\n var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {\n var currentPropertyName = '';\n var currentProperty = elem.getFootageData();\n\n function init() {\n currentPropertyName = '';\n currentProperty = elem.getFootageData();\n return searchProperty;\n }\n\n function searchProperty(value) {\n if (currentProperty[value]) {\n currentPropertyName = value;\n currentProperty = currentProperty[value];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n var propertyNameIndex = value.indexOf(currentPropertyName);\n\n if (propertyNameIndex !== -1) {\n var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n currentProperty = currentProperty[index];\n\n if (_typeof(currentProperty) === 'object') {\n return searchProperty;\n }\n\n return currentProperty;\n }\n\n return '';\n }\n\n return init;\n };\n\n var dataInterfaceFactory = function dataInterfaceFactory(elem) {\n function interfaceFunction(value) {\n if (value === 'Outline') {\n return interfaceFunction.outlineInterface();\n }\n\n return null;\n }\n\n interfaceFunction._name = 'Outline';\n interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n return interfaceFunction;\n };\n\n return function (elem) {\n function _interfaceFunction(value) {\n if (value === 'Data') {\n return _interfaceFunction.dataInterface;\n }\n\n return null;\n }\n\n _interfaceFunction._name = 'Data';\n _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n return _interfaceFunction;\n };\n }();\n\n var interfaces = {\n layer: LayerExpressionInterface,\n effects: EffectsExpressionInterface,\n comp: CompExpressionInterface,\n shape: ShapeExpressionInterface,\n text: TextExpressionInterface,\n footage: FootageInterface\n };\n\n function getInterface(type) {\n return interfaces[type] || null;\n }\n\n var expressionHelpers = function () {\n function searchExpressions(elem, data, prop) {\n if (data.x) {\n prop.k = true;\n prop.x = true;\n prop.initiateExpression = ExpressionManager.initiateExpression;\n prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n }\n }\n\n function getValueAtTime(frameNum) {\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastFrame) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;\n this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);\n this._cachingAtTime.lastFrame = frameNum;\n }\n\n return this._cachingAtTime.value;\n }\n\n function getSpeedAtTime(frameNum) {\n var delta = -0.01;\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var speed = 0;\n\n if (v1.length) {\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n speed += Math.pow(v2[i] - v1[i], 2);\n }\n\n speed = Math.sqrt(speed) * 100;\n } else {\n speed = 0;\n }\n\n return speed;\n }\n\n function getVelocityAtTime(frameNum) {\n if (this.vel !== undefined) {\n return this.vel;\n }\n\n var delta = -0.001; // frameNum += this.elem.data.st;\n\n var v1 = this.getValueAtTime(frameNum);\n var v2 = this.getValueAtTime(frameNum + delta);\n var velocity;\n\n if (v1.length) {\n velocity = createTypedArray('float32', v1.length);\n var i;\n\n for (i = 0; i < v1.length; i += 1) {\n // removing frameRate\n // if needed, don't add it here\n // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n velocity[i] = (v2[i] - v1[i]) / delta;\n }\n } else {\n velocity = (v2 - v1) / delta;\n }\n\n return velocity;\n }\n\n function getStaticValueAtTime() {\n return this.pv;\n }\n\n function setGroupProperty(propertyGroup) {\n this.propertyGroup = propertyGroup;\n }\n\n return {\n searchExpressions: searchExpressions,\n getSpeedAtTime: getSpeedAtTime,\n getVelocityAtTime: getVelocityAtTime,\n getValueAtTime: getValueAtTime,\n getStaticValueAtTime: getStaticValueAtTime,\n setGroupProperty: setGroupProperty\n };\n }();\n\n function addPropertyDecorator() {\n function loopOut(type, duration, durationFlag) {\n if (!this.k || !this.keyframes) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n if (currentFrame <= lastKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var firstKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);\n } else {\n cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);\n }\n\n firstKeyFrame = lastKeyFrame - cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (iterations % 2 !== 0) {\n return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n\n var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n }\n\n return ret;\n }\n\n return (endV - initV) * repeats + current;\n } else if (type === 'continue') {\n var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(lastValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n }\n\n return ret;\n }\n\n return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n }\n\n return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function loopIn(type, duration, durationFlag) {\n if (!this.k) {\n return this.pv;\n }\n\n type = type ? type.toLowerCase() : '';\n var currentFrame = this.comp.renderedFrame;\n var keyframes = this.keyframes;\n var firstKeyFrame = keyframes[0].t;\n\n if (currentFrame >= firstKeyFrame) {\n return this.pv;\n }\n\n var cycleDuration;\n var lastKeyFrame;\n\n if (!durationFlag) {\n if (!duration || duration > keyframes.length - 1) {\n duration = keyframes.length - 1;\n }\n\n lastKeyFrame = keyframes[duration].t;\n cycleDuration = lastKeyFrame - firstKeyFrame;\n } else {\n if (!duration) {\n cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);\n } else {\n cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);\n }\n\n lastKeyFrame = firstKeyFrame + cycleDuration;\n }\n\n var i;\n var len;\n var ret;\n\n if (type === 'pingpong') {\n var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n if (iterations % 2 === 0) {\n return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n } else if (type === 'offset') {\n var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);\n var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);\n var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n if (this.pv.length) {\n ret = new Array(initV.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n }\n\n return ret;\n }\n\n return current - (endV - initV) * repeats;\n } else if (type === 'continue') {\n var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);\n var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n ret = new Array(firstValue.length);\n len = ret.length;\n\n for (i = 0; i < len; i += 1) {\n ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return ret;\n }\n\n return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n }\n\n return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0); // eslint-disable-line\n }\n\n function smooth(width, samples) {\n if (!this.k) {\n return this.pv;\n }\n\n width = (width || 0.4) * 0.5;\n samples = Math.floor(samples || 5);\n\n if (samples <= 1) {\n return this.pv;\n }\n\n var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;\n var initFrame = currentTime - width;\n var endFrame = currentTime + width;\n var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n var i = 0;\n var j = 0;\n var value;\n\n if (this.pv.length) {\n value = createTypedArray('float32', this.pv.length);\n } else {\n value = 0;\n }\n\n var sampleValue;\n\n while (i < samples) {\n sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] += sampleValue[j];\n }\n } else {\n value += sampleValue;\n }\n\n i += 1;\n }\n\n if (this.pv.length) {\n for (j = 0; j < this.pv.length; j += 1) {\n value[j] /= samples;\n }\n } else {\n value /= samples;\n }\n\n return value;\n }\n\n function getTransformValueAtTime(time) {\n if (!this._transformCachingAtTime) {\n this._transformCachingAtTime = {\n v: new Matrix()\n };\n } /// /\n\n\n var matrix = this._transformCachingAtTime.v;\n matrix.cloneFromProps(this.pre.props);\n\n if (this.appliedTransformations < 1) {\n var anchor = this.a.getValueAtTime(time);\n matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var scale = this.s.getValueAtTime(time);\n matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var skew = this.sk.getValueAtTime(time);\n var skewAxis = this.sa.getValueAtTime(time);\n matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var rotation = this.r.getValueAtTime(time);\n matrix.rotate(-rotation * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var rotationZ = this.rz.getValueAtTime(time);\n var rotationY = this.ry.getValueAtTime(time);\n var rotationX = this.rx.getValueAtTime(time);\n var orientation = this.or.getValueAtTime(time);\n matrix.rotateZ(-rotationZ * this.rz.mult).rotateY(rotationY * this.ry.mult).rotateX(rotationX * this.rx.mult).rotateZ(-orientation[2] * this.or.mult).rotateY(orientation[1] * this.or.mult).rotateX(orientation[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var positionX = this.px.getValueAtTime(time);\n var positionY = this.py.getValueAtTime(time);\n\n if (this.data.p.z) {\n var positionZ = this.pz.getValueAtTime(time);\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);\n } else {\n matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);\n }\n } else {\n var position = this.p.getValueAtTime(time);\n matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);\n }\n\n return matrix; /// /\n }\n\n function getTransformStaticValueAtTime() {\n return this.v.clone(new Matrix());\n }\n\n var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n var prop = getTransformProperty(elem, data, container);\n\n if (prop.dynamicProperties.length) {\n prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n return prop;\n };\n\n var propertyGetProp = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (elem, data, type, mult, container) {\n var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n // prop.loopOut = loopOut;\n // prop.loopIn = loopIn;\n\n if (prop.kf) {\n prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n } else {\n prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n }\n\n prop.setGroupProperty = expressionHelpers.setGroupProperty;\n prop.loopOut = loopOut;\n prop.loopIn = loopIn;\n prop.smooth = smooth;\n prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n prop.numKeys = data.a === 1 ? data.k.length : 0;\n prop.propertyIndex = data.ix;\n var value = 0;\n\n if (type !== 0) {\n value = createTypedArray('float32', data.a === 1 ? data.k[0].s.length : data.k.length);\n }\n\n prop._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: value\n };\n expressionHelpers.searchExpressions(elem, data, prop);\n\n if (prop.k) {\n container.addDynamicProperty(prop);\n }\n\n return prop;\n };\n\n function getShapeValueAtTime(frameNum) {\n // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n if (!this._cachingAtTime) {\n this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n };\n }\n\n frameNum *= this.elem.globalData.frameRate;\n frameNum -= this.offsetTime;\n\n if (frameNum !== this._cachingAtTime.lastTime) {\n this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;\n this._cachingAtTime.lastTime = frameNum;\n this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);\n }\n\n return this._cachingAtTime.shapeValue;\n }\n\n var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function ShapeExpressions() {}\n\n ShapeExpressions.prototype = {\n vertices: function vertices(prop, time) {\n if (this.k) {\n this.getValue();\n }\n\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n var i;\n var len = shapePath._length;\n var vertices = shapePath[prop];\n var points = shapePath.v;\n var arr = createSizedArray(len);\n\n for (i = 0; i < len; i += 1) {\n if (prop === 'i' || prop === 'o') {\n arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n } else {\n arr[i] = [vertices[i][0], vertices[i][1]];\n }\n }\n\n return arr;\n },\n points: function points(time) {\n return this.vertices('v', time);\n },\n inTangents: function inTangents(time) {\n return this.vertices('i', time);\n },\n outTangents: function outTangents(time) {\n return this.vertices('o', time);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(perc, time) {\n var shapePath = this.v;\n\n if (time !== undefined) {\n shapePath = this.getValueAtTime(time, 0);\n }\n\n if (!this._segmentsLength) {\n this._segmentsLength = bez.getSegmentsLength(shapePath);\n }\n\n var segmentsLength = this._segmentsLength;\n var lengths = segmentsLength.lengths;\n var lengthPos = segmentsLength.totalLength * perc;\n var i = 0;\n var len = lengths.length;\n var accumulatedLength = 0;\n var pt;\n\n while (i < len) {\n if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n var initIndex = i;\n var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n break;\n } else {\n accumulatedLength += lengths[i].addedLength;\n }\n\n i += 1;\n }\n\n if (!pt) {\n pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n }\n\n return pt;\n },\n vectorOnPath: function vectorOnPath(perc, time, vectorType) {\n // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n if (perc == 1) {\n // eslint-disable-line eqeqeq\n perc = this.v.c;\n } else if (perc == 0) {\n // eslint-disable-line eqeqeq\n perc = 0.999;\n }\n\n var pt1 = this.pointOnPath(perc, time);\n var pt2 = this.pointOnPath(perc + 0.001, time);\n var xLength = pt2[0] - pt1[0];\n var yLength = pt2[1] - pt1[1];\n var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n if (magnitude === 0) {\n return [0, 0];\n }\n\n var unitVector = vectorType === 'tangent' ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n return unitVector;\n },\n tangentOnPath: function tangentOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'tangent');\n },\n normalOnPath: function normalOnPath(perc, time) {\n return this.vectorOnPath(perc, time, 'normal');\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n };\n extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n prop.propertyIndex = data.ix;\n prop.lock = false;\n\n if (type === 3) {\n expressionHelpers.searchExpressions(elem, data.pt, prop);\n } else if (type === 4) {\n expressionHelpers.searchExpressions(elem, data.ks, prop);\n }\n\n if (prop.k) {\n elem.addDynamicProperty(prop);\n }\n\n return prop;\n };\n }\n\n function initialize$1() {\n addPropertyDecorator();\n }\n\n function addDecorator() {\n function searchExpressions() {\n if (this.data.d.x) {\n this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);\n this.addEffect(this.getExpressionValue.bind(this));\n return true;\n }\n\n return null;\n }\n\n TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n var newValue = this.calculateExpression(text);\n\n if (currentValue.t !== newValue) {\n var newData = {};\n this.copyData(newData, currentValue);\n newData.t = newValue.toString();\n newData.__complete = false;\n return newData;\n }\n\n return currentValue;\n };\n\n TextProperty.prototype.searchProperty = function () {\n var isKeyframed = this.searchKeyframes();\n var hasExpressions = this.searchExpressions();\n this.kf = isKeyframed || hasExpressions;\n return this.kf;\n };\n\n TextProperty.prototype.searchExpressions = searchExpressions;\n }\n\n function initialize() {\n addDecorator();\n }\n\n function SVGComposableEffect() {}\n\n SVGComposableEffect.prototype = {\n createMergeNode: function createMergeNode(resultId, ins) {\n var feMerge = createNS('feMerge');\n feMerge.setAttribute('result', resultId);\n var feMergeNode;\n var i;\n\n for (i = 0; i < ins.length; i += 1) {\n feMergeNode = createNS('feMergeNode');\n feMergeNode.setAttribute('in', ins[i]);\n feMerge.appendChild(feMergeNode);\n feMerge.appendChild(feMergeNode);\n }\n\n return feMerge;\n }\n };\n\n var linearFilterValue = '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0';\n\n function SVGTintFilter(filter, filterManager, elem, id, source) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', linearFilterValue + ' 1 0');\n this.linearFilter = feColorMatrix;\n feColorMatrix.setAttribute('result', id + '_tint_1');\n filter.appendChild(feColorMatrix);\n feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id + '_tint_2');\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n var feMerge = this.createMergeNode(id, [source, id + '_tint_1', id + '_tint_2']);\n filter.appendChild(feMerge);\n }\n\n extendPrototype([SVGComposableEffect], SVGTintFilter);\n\n SVGTintFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var colorBlack = this.filterManager.effectElements[0].p.v;\n var colorWhite = this.filterManager.effectElements[1].p.v;\n var opacity = this.filterManager.effectElements[2].p.v / 100;\n this.linearFilter.setAttribute('values', linearFilterValue + ' ' + opacity + ' 0');\n this.matrixFilter.setAttribute('values', colorWhite[0] - colorBlack[0] + ' 0 0 0 ' + colorBlack[0] + ' ' + (colorWhite[1] - colorBlack[1]) + ' 0 0 0 ' + colorBlack[1] + ' ' + (colorWhite[2] - colorBlack[2]) + ' 0 0 0 ' + colorBlack[2] + ' 0 0 0 1 0');\n }\n };\n\n function SVGFillFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\n feColorMatrix.setAttribute('values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');\n feColorMatrix.setAttribute('result', id);\n filter.appendChild(feColorMatrix);\n this.matrixFilter = feColorMatrix;\n }\n\n SVGFillFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color = this.filterManager.effectElements[2].p.v;\n var opacity = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute('values', '0 0 0 0 ' + color[0] + ' 0 0 0 0 ' + color[1] + ' 0 0 0 0 ' + color[2] + ' 0 0 0 ' + opacity + ' 0');\n }\n };\n\n function SVGStrokeEffect(fil, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.elem = elem;\n this.paths = [];\n }\n\n SVGStrokeEffect.prototype.initialize = function () {\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n var path;\n var groupPath;\n var i;\n var len;\n\n if (this.filterManager.effectElements[1].p.v === 1) {\n len = this.elem.maskManager.masksProperties.length;\n i = 0;\n } else {\n i = this.filterManager.effectElements[0].p.v - 1;\n len = i + 1;\n }\n\n groupPath = createNS('g');\n groupPath.setAttribute('fill', 'none');\n groupPath.setAttribute('stroke-linecap', 'round');\n groupPath.setAttribute('stroke-dashoffset', 1);\n\n for (i; i < len; i += 1) {\n path = createNS('path');\n groupPath.appendChild(path);\n this.paths.push({\n p: path,\n m: i\n });\n }\n\n if (this.filterManager.effectElements[10].p.v === 3) {\n var mask = createNS('mask');\n var id = createElementID();\n mask.setAttribute('id', id);\n mask.setAttribute('mask-type', 'alpha');\n mask.appendChild(groupPath);\n this.elem.globalData.defs.appendChild(mask);\n var g = createNS('g');\n g.setAttribute('mask', 'url(' + getLocationHref() + '#' + id + ')');\n\n while (elemChildren[0]) {\n g.appendChild(elemChildren[0]);\n }\n\n this.elem.layerElement.appendChild(g);\n this.masker = mask;\n groupPath.setAttribute('stroke', '#fff');\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2) {\n elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n while (elemChildren.length) {\n this.elem.layerElement.removeChild(elemChildren[0]);\n }\n }\n\n this.elem.layerElement.appendChild(groupPath);\n this.elem.layerElement.removeAttribute('mask');\n groupPath.setAttribute('stroke', '#fff');\n }\n\n this.initialized = true;\n this.pathMasker = groupPath;\n };\n\n SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n if (!this.initialized) {\n this.initialize();\n }\n\n var i;\n var len = this.paths.length;\n var mask;\n var path;\n\n for (i = 0; i < len; i += 1) {\n if (this.paths[i].m !== -1) {\n mask = this.elem.maskManager.viewData[this.paths[i].m];\n path = this.paths[i].p;\n\n if (forceRender || this.filterManager._mdf || mask.prop._mdf) {\n path.setAttribute('d', mask.lastPath);\n }\n\n if (forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n var dasharrayValue;\n\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01;\n var l = path.getTotalLength();\n dasharrayValue = '0 0 0 ' + l * s + ' ';\n var lineLength = l * (e - s);\n var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n var units = Math.floor(lineLength / segment);\n var j;\n\n for (j = 0; j < units; j += 1) {\n dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + ' ';\n }\n\n dasharrayValue += '0 ' + l * 10 + ' 0 0';\n } else {\n dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n }\n\n path.setAttribute('stroke-dasharray', dasharrayValue);\n }\n }\n }\n\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.pathMasker.setAttribute('stroke-width', this.filterManager.effectElements[4].p.v * 2);\n }\n\n if (forceRender || this.filterManager.effectElements[6].p._mdf) {\n this.pathMasker.setAttribute('opacity', this.filterManager.effectElements[6].p.v);\n }\n\n if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (forceRender || this.filterManager.effectElements[3].p._mdf) {\n var color = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute('stroke', 'rgb(' + bmFloor(color[0] * 255) + ',' + bmFloor(color[1] * 255) + ',' + bmFloor(color[2] * 255) + ')');\n }\n }\n };\n\n function SVGTritoneFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var feColorMatrix = createNS('feColorMatrix');\n feColorMatrix.setAttribute('type', 'matrix');\n feColorMatrix.setAttribute('color-interpolation-filters', 'linearRGB');\n feColorMatrix.setAttribute('values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');\n filter.appendChild(feColorMatrix);\n var feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n this.matrixFilter = feComponentTransfer;\n var feFuncR = createNS('feFuncR');\n feFuncR.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncR);\n this.feFuncR = feFuncR;\n var feFuncG = createNS('feFuncG');\n feFuncG.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncG);\n this.feFuncG = feFuncG;\n var feFuncB = createNS('feFuncB');\n feFuncB.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFuncB);\n this.feFuncB = feFuncB;\n filter.appendChild(feComponentTransfer);\n }\n\n SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var color1 = this.filterManager.effectElements[0].p.v;\n var color2 = this.filterManager.effectElements[1].p.v;\n var color3 = this.filterManager.effectElements[2].p.v;\n var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];\n var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];\n var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];\n this.feFuncR.setAttribute('tableValues', tableR);\n this.feFuncG.setAttribute('tableValues', tableG);\n this.feFuncB.setAttribute('tableValues', tableB);\n }\n };\n\n function SVGProLevelsFilter(filter, filterManager, elem, id) {\n this.filterManager = filterManager;\n var effectElements = this.filterManager.effectElements;\n var feComponentTransfer = createNS('feComponentTransfer'); // Red\n\n if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);\n } // Green\n\n\n if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);\n } // Blue\n\n\n if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);\n } // Alpha\n\n\n if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);\n } // RGB\n\n\n if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n filter.appendChild(feComponentTransfer);\n }\n\n if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n feComponentTransfer = createNS('feComponentTransfer');\n feComponentTransfer.setAttribute('color-interpolation-filters', 'sRGB');\n feComponentTransfer.setAttribute('result', id);\n filter.appendChild(feComponentTransfer);\n this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);\n this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);\n this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);\n }\n }\n\n SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n var feFunc = createNS(type);\n feFunc.setAttribute('type', 'table');\n feComponentTransfer.appendChild(feFunc);\n return feFunc;\n };\n\n SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n var cnt = 0;\n var segments = 256;\n var perc;\n var min = Math.min(inputBlack, inputWhite);\n var max = Math.max(inputBlack, inputWhite);\n var table = Array.call(null, {\n length: segments\n });\n var colorValue;\n var pos = 0;\n var outputDelta = outputWhite - outputBlack;\n var inputDelta = inputWhite - inputBlack;\n\n while (cnt <= 256) {\n perc = cnt / 256;\n\n if (perc <= min) {\n colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n } else if (perc >= max) {\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n } else {\n colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n }\n\n table[pos] = colorValue;\n pos += 1;\n cnt += 256 / (segments - 1);\n }\n\n return table.join(' ');\n };\n\n SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n var val;\n var effectElements = this.filterManager.effectElements;\n\n if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n this.feFuncRComposed.setAttribute('tableValues', val);\n this.feFuncGComposed.setAttribute('tableValues', val);\n this.feFuncBComposed.setAttribute('tableValues', val);\n }\n\n if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n this.feFuncR.setAttribute('tableValues', val);\n }\n\n if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n this.feFuncG.setAttribute('tableValues', val);\n }\n\n if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n this.feFuncB.setAttribute('tableValues', val);\n }\n\n if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n this.feFuncA.setAttribute('tableValues', val);\n }\n }\n };\n\n function SVGDropShadowEffect(filter, filterManager, elem, id, source) {\n var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;\n var filterSize = filterManager.data.fs || globalFilterSize;\n filter.setAttribute('x', filterSize.x || globalFilterSize.x);\n filter.setAttribute('y', filterSize.y || globalFilterSize.y);\n filter.setAttribute('width', filterSize.width || globalFilterSize.width);\n filter.setAttribute('height', filterSize.height || globalFilterSize.height);\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('in', 'SourceAlpha');\n feGaussianBlur.setAttribute('result', id + '_drop_shadow_1');\n feGaussianBlur.setAttribute('stdDeviation', '0');\n this.feGaussianBlur = feGaussianBlur;\n filter.appendChild(feGaussianBlur);\n var feOffset = createNS('feOffset');\n feOffset.setAttribute('dx', '25');\n feOffset.setAttribute('dy', '0');\n feOffset.setAttribute('in', id + '_drop_shadow_1');\n feOffset.setAttribute('result', id + '_drop_shadow_2');\n this.feOffset = feOffset;\n filter.appendChild(feOffset);\n var feFlood = createNS('feFlood');\n feFlood.setAttribute('flood-color', '#00ff00');\n feFlood.setAttribute('flood-opacity', '1');\n feFlood.setAttribute('result', id + '_drop_shadow_3');\n this.feFlood = feFlood;\n filter.appendChild(feFlood);\n var feComposite = createNS('feComposite');\n feComposite.setAttribute('in', id + '_drop_shadow_3');\n feComposite.setAttribute('in2', id + '_drop_shadow_2');\n feComposite.setAttribute('operator', 'in');\n feComposite.setAttribute('result', id + '_drop_shadow_4');\n filter.appendChild(feComposite);\n var feMerge = this.createMergeNode(id, [id + '_drop_shadow_4', source]);\n filter.appendChild(feMerge); //\n }\n\n extendPrototype([SVGComposableEffect], SVGDropShadowEffect);\n\n SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n if (forceRender || this.filterManager.effectElements[4].p._mdf) {\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\n }\n\n if (forceRender || this.filterManager.effectElements[0].p._mdf) {\n var col = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute('flood-color', rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n }\n\n if (forceRender || this.filterManager.effectElements[1].p._mdf) {\n this.feFlood.setAttribute('flood-opacity', this.filterManager.effectElements[1].p.v / 255);\n }\n\n if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var distance = this.filterManager.effectElements[3].p.v;\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\n var x = distance * Math.cos(angle);\n var y = distance * Math.sin(angle);\n this.feOffset.setAttribute('dx', x);\n this.feOffset.setAttribute('dy', y);\n }\n }\n };\n\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(filterElem, filterManager, elem) {\n this.initialized = false;\n this.filterManager = filterManager;\n this.filterElem = filterElem;\n this.elem = elem;\n elem.matteElement = createNS('g');\n elem.matteElement.appendChild(elem.layerElement);\n elem.matteElement.appendChild(elem.transformedElement);\n elem.baseElement = elem.matteElement;\n }\n\n SVGMatte3Effect.prototype.findSymbol = function (mask) {\n var i = 0;\n var len = _svgMatteSymbols.length;\n\n while (i < len) {\n if (_svgMatteSymbols[i] === mask) {\n return _svgMatteSymbols[i];\n }\n\n i += 1;\n }\n\n return null;\n };\n\n SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n var parentNode = mask.layerElement.parentNode;\n\n if (!parentNode) {\n return;\n }\n\n var children = parentNode.children;\n var i = 0;\n var len = children.length;\n\n while (i < len) {\n if (children[i] === mask.layerElement) {\n break;\n }\n\n i += 1;\n }\n\n var nextChild;\n\n if (i <= len - 2) {\n nextChild = children[i + 1];\n }\n\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n\n if (nextChild) {\n parentNode.insertBefore(useElem, nextChild);\n } else {\n parentNode.appendChild(useElem);\n }\n };\n\n SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n if (!this.findSymbol(mask)) {\n var symbolId = createElementID();\n var masker = createNS('mask');\n masker.setAttribute('id', mask.layerId);\n masker.setAttribute('mask-type', 'alpha');\n\n _svgMatteSymbols.push(mask);\n\n var defs = elem.globalData.defs;\n defs.appendChild(masker);\n var symbol = createNS('symbol');\n symbol.setAttribute('id', symbolId);\n this.replaceInParent(mask, symbolId);\n symbol.appendChild(mask.layerElement);\n defs.appendChild(symbol);\n var useElem = createNS('use');\n useElem.setAttribute('href', '#' + symbolId);\n masker.appendChild(useElem);\n mask.data.hd = false;\n mask.show();\n }\n\n elem.setMatte(mask.layerId);\n };\n\n SVGMatte3Effect.prototype.initialize = function () {\n var ind = this.filterManager.effectElements[0].p.v;\n var elements = this.elem.comp.elements;\n var i = 0;\n var len = elements.length;\n\n while (i < len) {\n if (elements[i] && elements[i].data.ind === ind) {\n this.setElementAsMask(this.elem, elements[i]);\n }\n\n i += 1;\n }\n\n this.initialized = true;\n };\n\n SVGMatte3Effect.prototype.renderFrame = function () {\n if (!this.initialized) {\n this.initialize();\n }\n };\n\n function SVGGaussianBlurEffect(filter, filterManager, elem, id) {\n // Outset the filter region by 100% on all sides to accommodate blur expansion.\n filter.setAttribute('x', '-100%');\n filter.setAttribute('y', '-100%');\n filter.setAttribute('width', '300%');\n filter.setAttribute('height', '300%');\n this.filterManager = filterManager;\n var feGaussianBlur = createNS('feGaussianBlur');\n feGaussianBlur.setAttribute('result', id);\n filter.appendChild(feGaussianBlur);\n this.feGaussianBlur = feGaussianBlur;\n }\n\n SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n if (forceRender || this.filterManager._mdf) {\n // Empirical value, matching AE's blur appearance.\n var kBlurrinessToSigma = 0.3;\n var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n //\n // 1 -> horizontal & vertical\n // 2 -> horizontal only\n // 3 -> vertical only\n //\n\n var dimensions = this.filterManager.effectElements[1].p.v;\n var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + ' ' + sigmaY); // Repeat edges mapping:\n //\n // 0 -> off -> duplicate\n // 1 -> on -> wrap\n\n var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? 'wrap' : 'duplicate'; // eslint-disable-line eqeqeq\n\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\n }\n };\n\n function TransformEffect() {}\n\n TransformEffect.prototype.init = function (effectsManager) {\n this.effectsManager = effectsManager;\n this.type = effectTypes.TRANSFORM_EFFECT;\n this.matrix = new Matrix();\n this.opacity = -1;\n this._mdf = false;\n this._opMdf = false;\n };\n\n TransformEffect.prototype.renderFrame = function (forceFrame) {\n this._opMdf = false;\n this._mdf = false;\n\n if (forceFrame || this.effectsManager._mdf) {\n var effectElements = this.effectsManager.effectElements;\n var anchor = effectElements[0].p.v;\n var position = effectElements[1].p.v;\n var isUniformScale = effectElements[2].p.v === 1;\n var scaleHeight = effectElements[3].p.v;\n var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v;\n var skew = effectElements[5].p.v;\n var skewAxis = effectElements[6].p.v;\n var rotation = effectElements[7].p.v;\n this.matrix.reset();\n this.matrix.translate(-anchor[0], -anchor[1], anchor[2]);\n this.matrix.scale(scaleWidth * 0.01, scaleHeight * 0.01, 1);\n this.matrix.rotate(-rotation * degToRads);\n this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads);\n this.matrix.translate(position[0], position[1], 0);\n this._mdf = true;\n\n if (this.opacity !== effectElements[8].p.v) {\n this.opacity = effectElements[8].p.v;\n this._opMdf = true;\n }\n }\n };\n\n function SVGTransformEffect(_, filterManager) {\n this.init(filterManager);\n }\n\n extendPrototype([TransformEffect], SVGTransformEffect);\n\n function CVTransformEffect(effectsManager) {\n this.init(effectsManager);\n }\n\n extendPrototype([TransformEffect], CVTransformEffect);\n\n registerRenderer('canvas', CanvasRenderer);\n registerRenderer('html', HybridRenderer);\n registerRenderer('svg', SVGRenderer); // Registering shape modifiers\n\n ShapeModifiers.registerModifier('tm', TrimModifier);\n ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier);\n ShapeModifiers.registerModifier('rp', RepeaterModifier);\n ShapeModifiers.registerModifier('rd', RoundCornersModifier);\n ShapeModifiers.registerModifier('zz', ZigZagModifier);\n ShapeModifiers.registerModifier('op', OffsetPathModifier); // Registering expression plugin\n\n setExpressionsPlugin(Expressions);\n setExpressionInterfaces(getInterface);\n initialize$1();\n initialize(); // Registering svg effects\n\n registerEffect$1(20, SVGTintFilter, true);\n registerEffect$1(21, SVGFillFilter, true);\n registerEffect$1(22, SVGStrokeEffect, false);\n registerEffect$1(23, SVGTritoneFilter, true);\n registerEffect$1(24, SVGProLevelsFilter, true);\n registerEffect$1(25, SVGDropShadowEffect, true);\n registerEffect$1(28, SVGMatte3Effect, false);\n registerEffect$1(29, SVGGaussianBlurEffect, true);\n registerEffect$1(35, SVGTransformEffect, false);\n registerEffect(35, CVTransformEffect);\n\n return lottie;\n\n}));\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3\n * ; defined in [RFC1034], Section 3.5, as\n * ; enhanced by [RFC1123], Section 2.1\n * =